Code Duplication    Length = 54-58 lines in 2 locations

backend/tracim_backend/tests/functional/test_contents.py 2 locations

@@ 1929-1986 (lines=58) @@
1926
        assert dim['width'] == 256
1927
        assert dim['height'] == 256
1928
1929
    def test_api__get_jpeg_preview__ok__200__nominal_case(self) -> None:
1930
        """
1931
        Set one file of a content
1932
        """
1933
        dbsession = get_tm_session(self.session_factory, transaction.manager)
1934
        admin = dbsession.query(models.User) \
1935
            .filter(models.User.email == '[email protected]') \
1936
            .one()
1937
        workspace_api = WorkspaceApi(
1938
            current_user=admin,
1939
            session=dbsession,
1940
            config=self.app_config
1941
        )
1942
        content_api = ContentApi(
1943
            current_user=admin,
1944
            session=dbsession,
1945
            config=self.app_config
1946
        )
1947
        business_workspace = workspace_api.get_one(1)
1948
        tool_folder = content_api.get_one(1, content_type=CONTENT_TYPES.Any_SLUG)
1949
        test_file = content_api.create(
1950
            content_type_slug=CONTENT_TYPES.File.slug,
1951
            workspace=business_workspace,
1952
            parent=tool_folder,
1953
            label='Test file',
1954
            do_save=False,
1955
            do_notify=False,
1956
        )
1957
        test_file.file_extension = '.txt'
1958
        test_file.depot_file = FileIntent(
1959
            b'Test file',
1960
            'Test_file.txt',
1961
            'text/plain',
1962
        )
1963
        dbsession.flush()
1964
        transaction.commit()
1965
        content_id = int(test_file.content_id)
1966
        image = create_1000px_png_test_image()
1967
        self.testapp.authorization = (
1968
            'Basic',
1969
            (
1970
                '[email protected]',
1971
                '[email protected]'
1972
            )
1973
        )
1974
        self.testapp.put(
1975
            '/api/v2/workspaces/1/files/{}/raw'.format(content_id),
1976
            upload_files=[
1977
                ('files', image.name, image.getvalue())
1978
            ],
1979
            status=204,
1980
        )
1981
        res = self.testapp.get(
1982
            '/api/v2/workspaces/1/files/{}/preview/jpg'.format(content_id),
1983
            status=200
1984
        )
1985
        assert res.body != image.getvalue()
1986
        assert res.content_type == 'image/jpeg'
1987
1988
    def test_api__get_sized_jpeg_preview__ok__200__nominal_case(self) -> None:
1989
        """
@@ 1988-2041 (lines=54) @@
1985
        assert res.body != image.getvalue()
1986
        assert res.content_type == 'image/jpeg'
1987
1988
    def test_api__get_sized_jpeg_preview__ok__200__nominal_case(self) -> None:
1989
        """
1990
        get 256x256 preview of a txt file
1991
        """
1992
        dbsession = get_tm_session(self.session_factory, transaction.manager)
1993
        admin = dbsession.query(models.User) \
1994
            .filter(models.User.email == '[email protected]') \
1995
            .one()
1996
        workspace_api = WorkspaceApi(
1997
            current_user=admin,
1998
            session=dbsession,
1999
            config=self.app_config
2000
        )
2001
        content_api = ContentApi(
2002
            current_user=admin,
2003
            session=dbsession,
2004
            config=self.app_config
2005
        )
2006
        business_workspace = workspace_api.get_one(1)
2007
        tool_folder = content_api.get_one(1, content_type=CONTENT_TYPES.Any_SLUG)
2008
        test_file = content_api.create(
2009
            content_type_slug=CONTENT_TYPES.File.slug,
2010
            workspace=business_workspace,
2011
            parent=tool_folder,
2012
            label='Test file',
2013
            do_save=True,
2014
            do_notify=False,
2015
        )
2016
        dbsession.flush()
2017
        transaction.commit()
2018
        content_id = int(test_file.content_id)
2019
        image = create_1000px_png_test_image()
2020
        self.testapp.authorization = (
2021
            'Basic',
2022
            (
2023
                '[email protected]',
2024
                '[email protected]'
2025
            )
2026
        )
2027
        self.testapp.put(
2028
            '/api/v2/workspaces/1/files/{}/raw'.format(content_id),
2029
            upload_files=[
2030
                ('files', image.name, image.getvalue())
2031
            ],
2032
            status=204,
2033
        )
2034
        res = self.testapp.get(
2035
            '/api/v2/workspaces/1/files/{}/preview/jpg/256x256'.format(content_id),  # nopep8
2036
            status=200
2037
        )
2038
        assert res.body != image.getvalue()
2039
        assert res.content_type == 'image/jpeg'
2040
        new_image = Image.open(io.BytesIO(res.body))
2041
        assert 256, 256 == new_image.size
2042
2043
    def test_api__get_sized_jpeg_preview__err__400__SizeNotAllowed(self) -> None:  # nopep8
2044
        """