@@ 4933-5008 (lines=76) @@ | ||
4930 | ) |
|
4931 | assert res.content_type == 'application/pdf' |
|
4932 | ||
4933 | def test_api__get_full_pdf_revision_preview__ok__200__force_download_case(self) -> None: |
|
4934 | """ |
|
4935 | get pdf revision preview of content |
|
4936 | """ |
|
4937 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
4938 | admin = dbsession.query(models.User) \ |
|
4939 | .filter(models.User.email == '[email protected]') \ |
|
4940 | .one() |
|
4941 | workspace_api = WorkspaceApi( |
|
4942 | current_user=admin, |
|
4943 | session=dbsession, |
|
4944 | config=self.app_config |
|
4945 | ) |
|
4946 | content_api = ContentApi( |
|
4947 | current_user=admin, |
|
4948 | session=dbsession, |
|
4949 | config=self.app_config |
|
4950 | ) |
|
4951 | business_workspace = workspace_api.get_one(1) |
|
4952 | tool_folder = content_api.get_one(1, content_type=content_type_list.Any_SLUG) |
|
4953 | test_file = content_api.create( |
|
4954 | content_type_slug=content_type_list.File.slug, |
|
4955 | workspace=business_workspace, |
|
4956 | parent=tool_folder, |
|
4957 | label='Test file', |
|
4958 | do_save=False, |
|
4959 | do_notify=False, |
|
4960 | ) |
|
4961 | test_file.file_extension = '.txt' |
|
4962 | test_file.depot_file = FileIntent( |
|
4963 | b'Test file', |
|
4964 | 'Test_file.txt', |
|
4965 | 'text/plain', |
|
4966 | ) |
|
4967 | dbsession.flush() |
|
4968 | transaction.commit() |
|
4969 | content_id = int(test_file.content_id) |
|
4970 | revision_id = int(test_file.revision_id) |
|
4971 | image = create_1000px_png_test_image() |
|
4972 | self.testapp.authorization = ( |
|
4973 | 'Basic', |
|
4974 | ( |
|
4975 | '[email protected]', |
|
4976 | '[email protected]' |
|
4977 | ) |
|
4978 | ) |
|
4979 | self.testapp.put( |
|
4980 | '/api/v2/workspaces/1/files/{}/raw/{}'.format(content_id, image.name), |
|
4981 | upload_files=[ |
|
4982 | ('files', image.name, image.getvalue()) |
|
4983 | ], |
|
4984 | status=204, |
|
4985 | ) |
|
4986 | res = self.testapp.get( |
|
4987 | '/api/v2/workspaces/1/files/{content_id}/revisions/{revision_id}/raw/{filename}'.format( # nopep8 |
|
4988 | content_id=content_id, |
|
4989 | revision_id=revision_id, |
|
4990 | filename=image.name |
|
4991 | ), |
|
4992 | status=200 |
|
4993 | ) |
|
4994 | assert res.content_type == 'text/plain' |
|
4995 | params = {'force_download': 1} |
|
4996 | filename = 'Test_file.pdf' |
|
4997 | res = self.testapp.get( |
|
4998 | '/api/v2/workspaces/1/files/{content_id}/revisions/{revision_id}/preview/pdf/full/{filename}'.format( # nopep8 |
|
4999 | content_id=content_id, |
|
5000 | revision_id=revision_id, |
|
5001 | filename='Test_file.pdf' |
|
5002 | ), |
|
5003 | status=200, |
|
5004 | params=params, |
|
5005 | ) |
|
5006 | ||
5007 | assert res.headers['Content-Disposition'] == 'attachment; filename="{}"; filename*=UTF-8\'\'{};'.format(filename, filename) # nopep8 |
|
5008 | assert res.content_type == 'application/pdf' |
|
5009 | ||
5010 | def test_api__get_pdf_revision_preview__ok__200__force_download_case(self) -> None: |
|
5011 | """ |
|
@@ 5010-5084 (lines=75) @@ | ||
5007 | assert res.headers['Content-Disposition'] == 'attachment; filename="{}"; filename*=UTF-8\'\'{};'.format(filename, filename) # nopep8 |
|
5008 | assert res.content_type == 'application/pdf' |
|
5009 | ||
5010 | def test_api__get_pdf_revision_preview__ok__200__force_download_case(self) -> None: |
|
5011 | """ |
|
5012 | get pdf revision preview of content |
|
5013 | """ |
|
5014 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
5015 | admin = dbsession.query(models.User) \ |
|
5016 | .filter(models.User.email == '[email protected]') \ |
|
5017 | .one() |
|
5018 | workspace_api = WorkspaceApi( |
|
5019 | current_user=admin, |
|
5020 | session=dbsession, |
|
5021 | config=self.app_config |
|
5022 | ) |
|
5023 | content_api = ContentApi( |
|
5024 | current_user=admin, |
|
5025 | session=dbsession, |
|
5026 | config=self.app_config |
|
5027 | ) |
|
5028 | business_workspace = workspace_api.get_one(1) |
|
5029 | tool_folder = content_api.get_one(1, content_type=content_type_list.Any_SLUG) |
|
5030 | test_file = content_api.create( |
|
5031 | content_type_slug=content_type_list.File.slug, |
|
5032 | workspace=business_workspace, |
|
5033 | parent=tool_folder, |
|
5034 | label='Test file', |
|
5035 | do_save=False, |
|
5036 | do_notify=False, |
|
5037 | ) |
|
5038 | test_file.file_extension = '.txt' |
|
5039 | test_file.depot_file = FileIntent( |
|
5040 | b'Test file', |
|
5041 | 'Test_file.txt', |
|
5042 | 'text/plain', |
|
5043 | ) |
|
5044 | dbsession.flush() |
|
5045 | transaction.commit() |
|
5046 | content_id = int(test_file.content_id) |
|
5047 | revision_id = int(test_file.revision_id) |
|
5048 | image = create_1000px_png_test_image() |
|
5049 | self.testapp.authorization = ( |
|
5050 | 'Basic', |
|
5051 | ( |
|
5052 | '[email protected]', |
|
5053 | '[email protected]' |
|
5054 | ) |
|
5055 | ) |
|
5056 | self.testapp.put( |
|
5057 | '/api/v2/workspaces/1/files/{}/raw/{}'.format(content_id, image.name), |
|
5058 | upload_files=[ |
|
5059 | ('files', image.name, image.getvalue()) |
|
5060 | ], |
|
5061 | status=204, |
|
5062 | ) |
|
5063 | res = self.testapp.get( |
|
5064 | '/api/v2/workspaces/1/files/{content_id}/revisions/{revision_id}/raw/{filename}'.format( # nopep8 |
|
5065 | content_id=content_id, |
|
5066 | revision_id=revision_id, |
|
5067 | filename=image.name |
|
5068 | ), |
|
5069 | status=200 |
|
5070 | ) |
|
5071 | assert res.content_type == 'text/plain' |
|
5072 | params = {'page': 1, 'force_download': 1} |
|
5073 | filename = 'test_image_page_1.pdf' |
|
5074 | res = self.testapp.get( |
|
5075 | '/api/v2/workspaces/1/files/{content_id}/revisions/{revision_id}/preview/pdf/{filename}'.format( # nopep8 |
|
5076 | content_id=content_id, |
|
5077 | revision_id=revision_id, |
|
5078 | filename=filename |
|
5079 | ), |
|
5080 | status=200, |
|
5081 | params=params, |
|
5082 | ) |
|
5083 | assert res.headers['Content-Disposition'] == 'attachment; filename="{}"; filename*=UTF-8\'\'{};'.format(filename, filename) # nopep8 |
|
5084 | assert res.content_type == 'application/pdf' |
|
5085 | ||
5086 | ||
5087 | class TestThreads(FunctionalTest): |