def setup_http_not_allowed_item_test(self, user): repository = self.create_repository() diffset = self.create_diffset(repository=repository) filediff = self.create_filediff(diffset) attachment = self.create_diff_file_attachment(filediff) return get_diff_file_attachment_item_url(repository, attachment)
def setup_basic_get_test(self, user, with_local_site, local_site_name): repository = self.create_repository(with_local_site=with_local_site) diffset = self.create_diffset(repository=repository) filediff = self.create_filediff(diffset) attachment = self.create_diff_file_attachment(filediff) return (get_diff_file_attachment_item_url(attachment, repository, local_site_name), diff_file_attachment_item_mimetype, attachment)
def test_get_with_invite_only_repo_no_access(self): """Testing the GET repositories/<id>/diff-file-attachments/<id>/ API without access to an invite-only repository """ repository = self.create_repository(public=False) diffset = self.create_diffset(repository=repository) filediff = self.create_filediff(diffset) attachment = self.create_diff_file_attachment(filediff) rsp = self.apiGet(get_diff_file_attachment_item_url(attachment, repository), expected_status=403) self.assertEqual(rsp["stat"], "fail") self.assertEqual(rsp["err"]["code"], PERMISSION_DENIED.code)
def test_get_with_invite_only_repo_no_access(self): """Testing the GET repositories/<id>/diff-file-attachments/<id>/ API without access to an invite-only repository """ repository = self.create_repository(public=False) diffset = self.create_diffset(repository=repository) filediff = self.create_filediff(diffset) attachment = self.create_diff_file_attachment(filediff) rsp = self.apiGet(get_diff_file_attachment_item_url( attachment, repository), expected_status=403) self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
def test_get_with_invite_only_repo(self): """Testing the GET repositories/<id>/diff-file-attachments/<id>/ API with access to an invite-only repository """ repository = self.create_repository(public=False) repository.users.add(self.user) diffset = self.create_diffset(repository=repository) filediff = self.create_filediff(diffset) attachment = self.create_diff_file_attachment(filediff) rsp = self.apiGet(get_diff_file_attachment_item_url( attachment, repository), expected_mimetype=diff_file_attachment_item_mimetype) self.assertEqual(rsp['stat'], 'ok') self.assertTrue('diff_file_attachment' in rsp) attachment_rsp = rsp['diff_file_attachment'] self.assertEqual(attachment_rsp['id'], attachment.pk) self.assertEqual(attachment_rsp['filename'], attachment.filename) self.assertEqual(attachment_rsp['caption'], attachment.caption) self.assertEqual(attachment_rsp['mimetype'], attachment.mimetype)
def test_get_with_invite_only_repo(self): """Testing the GET repositories/<id>/diff-file-attachments/<id>/ API with access to an invite-only repository """ repository = self.create_repository(public=False) repository.users.add(self.user) diffset = self.create_diffset(repository=repository) filediff = self.create_filediff(diffset) attachment = self.create_diff_file_attachment(filediff) rsp = self.api_get( get_diff_file_attachment_item_url(attachment, repository), expected_mimetype=diff_file_attachment_item_mimetype) self.assertEqual(rsp['stat'], 'ok') self.assertIn('diff_file_attachment', rsp) attachment_rsp = rsp['diff_file_attachment'] self.assertEqual(attachment_rsp['id'], attachment.pk) self.assertEqual(attachment_rsp['filename'], attachment.filename) self.assertEqual(attachment_rsp['caption'], attachment.caption) self.assertEqual(attachment_rsp['mimetype'], attachment.mimetype)
def test_get_with_invite_only_repo(self): """Testing the GET repositories/<id>/diff-file-attachments/<id>/ API with access to an invite-only repository """ repository = self.create_repository(public=False) repository.users.add(self.user) diffset = self.create_diffset(repository=repository) filediff = self.create_filediff(diffset) attachment = self.create_diff_file_attachment(filediff) rsp = self.apiGet( get_diff_file_attachment_item_url(attachment, repository), expected_mimetype=diff_file_attachment_item_mimetype, ) self.assertEqual(rsp["stat"], "ok") self.assertTrue("diff_file_attachment" in rsp) attachment_rsp = rsp["diff_file_attachment"] self.assertEqual(attachment_rsp["id"], attachment.pk) self.assertEqual(attachment_rsp["filename"], attachment.filename) self.assertEqual(attachment_rsp["caption"], attachment.caption) self.assertEqual(attachment_rsp["mimetype"], attachment.mimetype)