| @@ 138-198 (lines=61) @@ | ||
| 135 | # TODO - G.M - 2018-06-179 - better check for datetime |
|
| 136 | assert comment['created'] |
|
| 137 | ||
| 138 | def test_api__post_content_comment__err_400__content_not_editable(self) -> None: |
|
| 139 | """ |
|
| 140 | Get alls comments of a content |
|
| 141 | """ |
|
| 142 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 143 | admin = dbsession.query(models.User) \ |
|
| 144 | .filter(models.User.email == '[email protected]') \ |
|
| 145 | .one() # type: models.User |
|
| 146 | workspace_api = WorkspaceApi( |
|
| 147 | current_user=admin, |
|
| 148 | session=dbsession, |
|
| 149 | config=self.app_config |
|
| 150 | ) |
|
| 151 | business_workspace = workspace_api.get_one(1) |
|
| 152 | content_api = ContentApi( |
|
| 153 | current_user=admin, |
|
| 154 | session=dbsession, |
|
| 155 | config=self.app_config |
|
| 156 | ) |
|
| 157 | tool_folder = content_api.get_one(1, content_type=content_type_list.Any_SLUG) |
|
| 158 | test_thread = content_api.create( |
|
| 159 | content_type_slug=content_type_list.Thread.slug, |
|
| 160 | workspace=business_workspace, |
|
| 161 | parent=tool_folder, |
|
| 162 | label='Test Thread', |
|
| 163 | do_save=True, |
|
| 164 | do_notify=False, |
|
| 165 | ) |
|
| 166 | with new_revision( |
|
| 167 | session=dbsession, |
|
| 168 | tm=transaction.manager, |
|
| 169 | content=test_thread, |
|
| 170 | ): |
|
| 171 | content_api.update_content( |
|
| 172 | test_thread, |
|
| 173 | new_label='test_thread_updated', |
|
| 174 | new_content='Just a test' |
|
| 175 | ) |
|
| 176 | content_api.set_status(test_thread, 'closed-deprecated') |
|
| 177 | transaction.commit() |
|
| 178 | self.testapp.authorization = ( |
|
| 179 | 'Basic', |
|
| 180 | ( |
|
| 181 | '[email protected]', |
|
| 182 | '[email protected]' |
|
| 183 | ) |
|
| 184 | ) |
|
| 185 | params = { |
|
| 186 | 'raw_content': 'I strongly disagree, Tiramisu win!' |
|
| 187 | } |
|
| 188 | res = self.testapp.post_json( |
|
| 189 | '/api/v2/workspaces/{}/contents/{}/comments'.format( |
|
| 190 | business_workspace.workspace_id, |
|
| 191 | test_thread.content_id |
|
| 192 | ), |
|
| 193 | params=params, |
|
| 194 | status=400 |
|
| 195 | ) |
|
| 196 | assert res.json_body |
|
| 197 | assert 'code' in res.json_body |
|
| 198 | assert res.json_body['code'] == error.CONTENT_IN_NOT_EDITABLE_STATE |
|
| 199 | ||
| 200 | def test_api__post_content_comment__err_400__empty_raw_content(self) -> None: |
|
| 201 | """ |
|
| @@ 3700-3759 (lines=60) @@ | ||
| 3697 | assert res.body != image.getvalue() |
|
| 3698 | assert res.content_type == 'image/jpeg' |
|
| 3699 | ||
| 3700 | def test_api__get_jpeg_preview__err_400__UnavailablePreview(self) -> None: |
|
| 3701 | """ |
|
| 3702 | Set one file of a content |
|
| 3703 | """ |
|
| 3704 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 3705 | admin = dbsession.query(models.User) \ |
|
| 3706 | .filter(models.User.email == '[email protected]') \ |
|
| 3707 | .one() |
|
| 3708 | workspace_api = WorkspaceApi( |
|
| 3709 | current_user=admin, |
|
| 3710 | session=dbsession, |
|
| 3711 | config=self.app_config |
|
| 3712 | ) |
|
| 3713 | content_api = ContentApi( |
|
| 3714 | current_user=admin, |
|
| 3715 | session=dbsession, |
|
| 3716 | config=self.app_config |
|
| 3717 | ) |
|
| 3718 | business_workspace = workspace_api.get_one(1) |
|
| 3719 | tool_folder = content_api.get_one(1, content_type=content_type_list.Any_SLUG) |
|
| 3720 | test_file = content_api.create( |
|
| 3721 | content_type_slug=content_type_list.File.slug, |
|
| 3722 | workspace=business_workspace, |
|
| 3723 | parent=tool_folder, |
|
| 3724 | label='Test file', |
|
| 3725 | do_save=False, |
|
| 3726 | do_notify=False, |
|
| 3727 | ) |
|
| 3728 | with new_revision( |
|
| 3729 | session=dbsession, |
|
| 3730 | tm=transaction.manager, |
|
| 3731 | content=test_file, |
|
| 3732 | ): |
|
| 3733 | content_api.update_file_data( |
|
| 3734 | test_file, |
|
| 3735 | 'Test_file.bin', |
|
| 3736 | new_mimetype='application/octet-stream', |
|
| 3737 | new_content=bytes(100), |
|
| 3738 | ) |
|
| 3739 | dbsession.flush() |
|
| 3740 | transaction.commit() |
|
| 3741 | content_id = int(test_file.content_id) |
|
| 3742 | self.testapp.authorization = ( |
|
| 3743 | 'Basic', |
|
| 3744 | ( |
|
| 3745 | '[email protected]', |
|
| 3746 | '[email protected]' |
|
| 3747 | ) |
|
| 3748 | ) |
|
| 3749 | params = { |
|
| 3750 | 'force_download': 0, |
|
| 3751 | } |
|
| 3752 | res = self.testapp.get( |
|
| 3753 | '/api/v2/workspaces/1/files/{}/preview/jpg/'.format(content_id), |
|
| 3754 | status=400, |
|
| 3755 | params=params |
|
| 3756 | ) |
|
| 3757 | assert isinstance(res.json, dict) |
|
| 3758 | assert 'code' in res.json.keys() |
|
| 3759 | assert res.json_body['code'] == error.UNAIVALABLE_PREVIEW |
|
| 3760 | ||
| 3761 | def test_api__get_sized_jpeg_preview__ok__200__nominal_case(self) -> None: |
|
| 3762 | """ |
|
| @@ 4593-4650 (lines=58) @@ | ||
| 4590 | ) |
|
| 4591 | assert res.content_type == 'application/pdf' |
|
| 4592 | ||
| 4593 | def test_api__get_pdf_preview_err__400__UnavailablePreview(self) -> None: |
|
| 4594 | """ |
|
| 4595 | get full pdf preview of a txt file |
|
| 4596 | """ |
|
| 4597 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 4598 | admin = dbsession.query(models.User) \ |
|
| 4599 | .filter(models.User.email == '[email protected]') \ |
|
| 4600 | .one() |
|
| 4601 | workspace_api = WorkspaceApi( |
|
| 4602 | current_user=admin, |
|
| 4603 | session=dbsession, |
|
| 4604 | config=self.app_config |
|
| 4605 | ) |
|
| 4606 | content_api = ContentApi( |
|
| 4607 | current_user=admin, |
|
| 4608 | session=dbsession, |
|
| 4609 | config=self.app_config |
|
| 4610 | ) |
|
| 4611 | business_workspace = workspace_api.get_one(1) |
|
| 4612 | tool_folder = content_api.get_one(1, content_type=content_type_list.Any_SLUG) |
|
| 4613 | test_file = content_api.create( |
|
| 4614 | content_type_slug=content_type_list.File.slug, |
|
| 4615 | workspace=business_workspace, |
|
| 4616 | parent=tool_folder, |
|
| 4617 | label='Test file', |
|
| 4618 | do_save=False, |
|
| 4619 | do_notify=False, |
|
| 4620 | ) |
|
| 4621 | with new_revision( |
|
| 4622 | session=dbsession, |
|
| 4623 | tm=transaction.manager, |
|
| 4624 | content=test_file, |
|
| 4625 | ): |
|
| 4626 | content_api.update_file_data( |
|
| 4627 | test_file, |
|
| 4628 | 'Test_file.bin', |
|
| 4629 | new_mimetype='application/octet-stream', |
|
| 4630 | new_content=bytes(100), |
|
| 4631 | ) |
|
| 4632 | dbsession.flush() |
|
| 4633 | transaction.commit() |
|
| 4634 | content_id = int(test_file.content_id) |
|
| 4635 | self.testapp.authorization = ( |
|
| 4636 | 'Basic', |
|
| 4637 | ( |
|
| 4638 | '[email protected]', |
|
| 4639 | '[email protected]' |
|
| 4640 | ) |
|
| 4641 | ) |
|
| 4642 | params = {'page': 1} |
|
| 4643 | res = self.testapp.get( |
|
| 4644 | '/api/v2/workspaces/1/files/{}/preview/pdf/'.format(content_id), |
|
| 4645 | status=400, |
|
| 4646 | params=params, |
|
| 4647 | ) |
|
| 4648 | assert isinstance(res.json, dict) |
|
| 4649 | assert 'code' in res.json.keys() |
|
| 4650 | assert res.json_body['code'] == error.UNAIVALABLE_PREVIEW |
|
| 4651 | ||
| 4652 | def test_api__get_pdf_preview__ok__200__force_download_case(self) -> None: |
|
| 4653 | """ |
|
| @@ 4469-4525 (lines=57) @@ | ||
| 4466 | assert 'code' in res.json_body |
|
| 4467 | assert res.json_body['code'] == error.UNAVAILABLE_PREVIEW_TYPE |
|
| 4468 | ||
| 4469 | def test_api__get_full_pdf_preview__err__400__png_UnavailablePreview(self) -> None: # nopep8 |
|
| 4470 | """ |
|
| 4471 | get full pdf preview of a png image -> error UnavailablePreviewType |
|
| 4472 | """ |
|
| 4473 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 4474 | admin = dbsession.query(models.User) \ |
|
| 4475 | .filter(models.User.email == '[email protected]') \ |
|
| 4476 | .one() |
|
| 4477 | workspace_api = WorkspaceApi( |
|
| 4478 | current_user=admin, |
|
| 4479 | session=dbsession, |
|
| 4480 | config=self.app_config |
|
| 4481 | ) |
|
| 4482 | content_api = ContentApi( |
|
| 4483 | current_user=admin, |
|
| 4484 | session=dbsession, |
|
| 4485 | config=self.app_config |
|
| 4486 | ) |
|
| 4487 | business_workspace = workspace_api.get_one(1) |
|
| 4488 | tool_folder = content_api.get_one(1, content_type=content_type_list.Any_SLUG) |
|
| 4489 | test_file = content_api.create( |
|
| 4490 | content_type_slug=content_type_list.File.slug, |
|
| 4491 | workspace=business_workspace, |
|
| 4492 | parent=tool_folder, |
|
| 4493 | label='Test file', |
|
| 4494 | do_save=False, |
|
| 4495 | do_notify=False, |
|
| 4496 | ) |
|
| 4497 | with new_revision( |
|
| 4498 | session=dbsession, |
|
| 4499 | tm=transaction.manager, |
|
| 4500 | content=test_file, |
|
| 4501 | ): |
|
| 4502 | content_api.update_file_data( |
|
| 4503 | test_file, |
|
| 4504 | 'Test_file.bin', |
|
| 4505 | new_mimetype='application/octet-stream', |
|
| 4506 | new_content=bytes(100), |
|
| 4507 | ) |
|
| 4508 | dbsession.flush() |
|
| 4509 | content_id = test_file.content_id |
|
| 4510 | transaction.commit() |
|
| 4511 | self.testapp.authorization = ( |
|
| 4512 | 'Basic', |
|
| 4513 | ( |
|
| 4514 | '[email protected]', |
|
| 4515 | '[email protected]' |
|
| 4516 | ) |
|
| 4517 | ) |
|
| 4518 | filename = 'Test_file.bin' |
|
| 4519 | res = self.testapp.get( |
|
| 4520 | '/api/v2/workspaces/1/files/{}/preview/pdf/full/{}'.format(content_id, filename), # nopep8 |
|
| 4521 | status=400 |
|
| 4522 | ) |
|
| 4523 | assert isinstance(res.json, dict) |
|
| 4524 | assert 'code' in res.json.keys() |
|
| 4525 | assert res.json_body['code'] == error.UNAIVALABLE_PREVIEW |
|
| 4526 | ||
| 4527 | def test_api__get_pdf_preview__ok__200__nominal_case(self) -> None: |
|
| 4528 | """ |
|