def test_userstory_custom_attribute_action_bulk_update_order(client, data): url = reverse('userstory-custom-attributes-bulk-update-order') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] post_data = json.dumps({ "bulk_userstory_custom_attributes": [(1,2)], "project": data.public_project.pk }) results = helper_test_http_method(client, 'post', url, post_data, users) assert results == [401, 403, 403, 403, 204] post_data = json.dumps({ "bulk_userstory_custom_attributes": [(1,2)], "project": data.private_project1.pk }) results = helper_test_http_method(client, 'post', url, post_data, users) assert results == [401, 403, 403, 403, 204] post_data = json.dumps({ "bulk_userstory_custom_attributes": [(1,2)], "project": data.private_project2.pk }) results = helper_test_http_method(client, 'post', url, post_data, users) assert results == [401, 403, 403, 403, 204]
def test_userstory_watchers_retrieve(client, data): add_watcher(data.public_user_story, data.project_owner) public_url = reverse('userstory-watchers-detail', kwargs={"resource_id": data.public_user_story.pk, "pk": data.project_owner.pk}) add_watcher(data.private_user_story1, data.project_owner) private_url1 = reverse('userstory-watchers-detail', kwargs={"resource_id": data.private_user_story1.pk, "pk": data.project_owner.pk}) add_watcher(data.private_user_story2, data.project_owner) private_url2 = reverse('userstory-watchers-detail', kwargs={"resource_id": data.private_user_story2.pk, "pk": data.project_owner.pk}) add_watcher(data.blocked_user_story, data.project_owner) blocked_url = reverse('userstory-watchers-detail', kwargs={"resource_id": data.blocked_user_story.pk, "pk": data.project_owner.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method(client, 'get', public_url, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private_url1, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private_url2, None, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'get', blocked_url, None, users) assert results == [401, 403, 403, 200, 200]
def test_userstory_custom_attributes_values_update(client, data): public_url = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.public_user_story.pk}) private_url1 = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.private_user_story1.pk}) private_url2 = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.private_user_story2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] user_story_data = serializers.UserStoryCustomAttributesValuesSerializer(data.public_user_story_cav).data user_story_data["attributes_values"] = {str(data.public_userstory_ca.pk): "test"} user_story_data = json.dumps(user_story_data) results = helper_test_http_method(client, 'put', public_url, user_story_data, users) assert results == [401, 403, 403, 200, 200] user_story_data = serializers.UserStoryCustomAttributesValuesSerializer(data.private_user_story_cav1).data user_story_data["attributes_values"] = {str(data.private_userstory_ca1.pk): "test"} user_story_data = json.dumps(user_story_data) results = helper_test_http_method(client, 'put', private_url1, user_story_data, users) assert results == [401, 403, 403, 200, 200] user_story_data = serializers.UserStoryCustomAttributesValuesSerializer(data.private_user_story_cav2).data user_story_data["attributes_values"] = {str(data.private_userstory_ca2.pk): "test"} user_story_data = json.dumps(user_story_data) results = helper_test_http_method(client, 'put', private_url2, user_story_data, users) assert results == [401, 403, 403, 200, 200]
def test_wiki_link_patch(client, data): public_url = reverse('wiki-links-detail', kwargs={"pk": data.public_wiki_link.pk}) private_url1 = reverse('wiki-links-detail', kwargs={"pk": data.private_wiki_link1.pk}) private_url2 = reverse('wiki-links-detail', kwargs={"pk": data.private_wiki_link2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] with mock.patch.object(OCCResourceMixin, "_validate_and_update_version") as _validate_and_update_version_mock: patch_data = json.dumps({"title": "test"}) results = helper_test_http_method(client, 'patch', public_url, patch_data, users) assert results == [401, 200, 200, 200, 200] patch_data = json.dumps({"title": "test"}) results = helper_test_http_method(client, 'patch', private_url1, patch_data, users) assert results == [401, 200, 200, 200, 200] patch_data = json.dumps({"title": "test"}) results = helper_test_http_method(client, 'patch', private_url2, patch_data, users) assert results == [401, 403, 403, 200, 200]
def test_issue_action_comment_versions(client, data, data_issue): public_url = "{}?id={}".format( reverse('issue-history-comment-versions', kwargs={"pk": data_issue.public_issue.pk}), data_issue.public_history_entry.id ) private_url1 = "{}?id={}".format( reverse('issue-history-comment-versions', kwargs={"pk": data_issue.private_issue1.pk}), data_issue.private_history_entry1.id ) private_url2 = "{}?id={}".format( reverse('issue-history-comment-versions', kwargs={"pk": data_issue.private_issue2.pk}), data_issue.private_history_entry2.id ) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner, ] results = helper_test_http_method(client, 'get', public_url, None, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'get', private_url1, None, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'get', private_url2, None, users) assert results == [401, 403, 403, 200, 200]
def test_wiki_action_edit_comment(client, data, data_wiki): public_url = "{}?id={}".format( reverse('wiki-history-edit-comment', kwargs={"pk": data_wiki.public_wiki.pk}), data_wiki.public_history_entry.id ) private_url1 = "{}?id={}".format( reverse('wiki-history-edit-comment', kwargs={"pk": data_wiki.private_wiki1.pk}), data_wiki.private_history_entry1.id ) private_url2 = "{}?id={}".format( reverse('wiki-history-edit-comment', kwargs={"pk": data_wiki.private_wiki2.pk}), data_wiki.private_history_entry2.id ) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] data = json.dumps({"comment": "testing update comment"}) results = helper_test_http_method(client, 'post', public_url, data, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'post', private_url1, data, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'post', private_url2, data, users) assert results == [401, 403, 403, 200, 200]
def test_wiki_link_update(client, data): public_url = reverse('wiki-links-detail', kwargs={"pk": data.public_wiki_link.pk}) private_url1 = reverse('wiki-links-detail', kwargs={"pk": data.private_wiki_link1.pk}) private_url2 = reverse('wiki-links-detail', kwargs={"pk": data.private_wiki_link2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] with mock.patch.object(OCCResourceMixin, "_validate_and_update_version") as _validate_and_update_version_mock: wiki_link_data = WikiLinkSerializer(data.public_wiki_link).data wiki_link_data["title"] = "test" wiki_link_data = json.dumps(wiki_link_data) results = helper_test_http_method(client, 'put', public_url, wiki_link_data, users) assert results == [401, 200, 200, 200, 200] wiki_link_data = WikiLinkSerializer(data.private_wiki_link1).data wiki_link_data["title"] = "test" wiki_link_data = json.dumps(wiki_link_data) results = helper_test_http_method(client, 'put', private_url1, wiki_link_data, users) assert results == [401, 200, 200, 200, 200] wiki_link_data = WikiLinkSerializer(data.private_wiki_link2).data wiki_link_data["title"] = "test" wiki_link_data = json.dumps(wiki_link_data) results = helper_test_http_method(client, 'put', private_url2, wiki_link_data, users) assert results == [401, 403, 403, 200, 200]
def test_user_story_patch_comment(client, data): public_url = reverse('userstories-detail', kwargs={"pk": data.public_user_story.pk}) private_url1 = reverse('userstories-detail', kwargs={"pk": data.private_user_story1.pk}) private_url2 = reverse('userstories-detail', kwargs={"pk": data.private_user_story2.pk}) blocked_url = reverse('userstories-detail', kwargs={"pk": data.blocked_user_story.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] with mock.patch.object(OCCResourceMixin, "_validate_and_update_version"): patch_data = json.dumps({"comment": "test comment", "version": data.public_user_story.version}) results = helper_test_http_method(client, 'patch', public_url, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({"comment": "test comment", "version": data.private_user_story1.version}) results = helper_test_http_method(client, 'patch', private_url1, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({"comment": "test comment", "version": data.private_user_story2.version}) results = helper_test_http_method(client, 'patch', private_url2, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({"comment": "test comment", "version": data.blocked_user_story.version}) results = helper_test_http_method(client, 'patch', blocked_url, patch_data, users) assert results == [401, 403, 403, 451, 451]
def test_userstory_custom_attributes_values_patch(client, data): public_url = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.public_user_story.pk}) private_url1 = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.private_user_story1.pk}) private_url2 = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.private_user_story2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] patch_data = json.dumps({"attributes_values": {str(data.public_userstory_ca.pk): "test"}, "version": data.public_user_story.version}) results = helper_test_http_method(client, 'patch', public_url, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({"attributes_values": {str(data.private_userstory_ca1.pk): "test"}, "version": data.private_user_story1.version}) results = helper_test_http_method(client, 'patch', private_url1, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({"attributes_values": {str(data.private_userstory_ca2.pk): "test"}, "version": data.private_user_story2.version}) results = helper_test_http_method(client, 'patch', private_url2, patch_data, users) assert results == [401, 403, 403, 200, 200]
def test_wiki_link_create(client, data): url = reverse('wiki-links-list') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] create_data = json.dumps({ "title": "test", "href": "test", "project": data.public_project.pk, }) results = helper_test_http_method(client, 'post', url, create_data, users, lambda: WikiLink.objects.all().delete()) assert results == [401, 201, 201, 201, 201] create_data = json.dumps({ "title": "test", "href": "test", "project": data.private_project1.pk, }) results = helper_test_http_method(client, 'post', url, create_data, users, lambda: WikiLink.objects.all().delete()) assert results == [401, 201, 201, 201, 201] create_data = json.dumps({ "title": "test", "href": "test", "project": data.private_project2.pk, }) results = helper_test_http_method(client, 'post', url, create_data, users, lambda: WikiLink.objects.all().delete()) assert results == [401, 403, 403, 201, 201]
def test_task_update(client, data): public_url = reverse('tasks-detail', kwargs={"pk": data.public_task.pk}) private_url1 = reverse('tasks-detail', kwargs={"pk": data.private_task1.pk}) private_url2 = reverse('tasks-detail', kwargs={"pk": data.private_task2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] with mock.patch.object(OCCResourceMixin, "_validate_and_update_version"): task_data = TaskSerializer(data.public_task).data task_data["subject"] = "test" task_data = json.dumps(task_data) results = helper_test_http_method(client, 'put', public_url, task_data, users) assert results == [401, 403, 403, 200, 200] task_data = TaskSerializer(data.private_task1).data task_data["subject"] = "test" task_data = json.dumps(task_data) results = helper_test_http_method(client, 'put', private_url1, task_data, users) assert results == [401, 403, 403, 200, 200] task_data = TaskSerializer(data.private_task2).data task_data["subject"] = "test" task_data = json.dumps(task_data) results = helper_test_http_method(client, 'put', private_url2, task_data, users) assert results == [401, 403, 403, 200, 200]
def test_task_custom_attributes_values_update(client, data): public_url = reverse('task-custom-attributes-values-detail', kwargs={"task_id": data.public_task.pk}) private_url1 = reverse('task-custom-attributes-values-detail', kwargs={"task_id": data.private_task1.pk}) private_url2 = reverse('task-custom-attributes-values-detail', kwargs={"task_id": data.private_task2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] task_data = serializers.TaskCustomAttributesValuesSerializer(data.public_task_cav).data task_data["attributes_values"] = {str(data.public_task_ca.pk): "test"} task_data = json.dumps(task_data) results = helper_test_http_method(client, 'put', public_url, task_data, users) assert results == [401, 403, 403, 200, 200] task_data = serializers.TaskCustomAttributesValuesSerializer(data.private_task_cav1).data task_data["attributes_values"] = {str(data.private_task_ca1.pk): "test"} task_data = json.dumps(task_data) results = helper_test_http_method(client, 'put', private_url1, task_data, users) assert results == [401, 403, 403, 200, 200] task_data = serializers.TaskCustomAttributesValuesSerializer(data.private_task_cav2).data task_data["attributes_values"] = {str(data.private_task_ca2.pk): "test"} task_data = json.dumps(task_data) results = helper_test_http_method(client, 'put', private_url2, task_data, users) assert results == [401, 403, 403, 200, 200]
def test_modules_patch(client, data): public_url = reverse('projects-modules', kwargs={"pk": data.public_project.pk}) private_url1 = reverse('projects-modules', kwargs={"pk": data.private_project1.pk}) private_url2 = reverse('projects-modules', kwargs={"pk": data.private_project2.pk}) blocked_url = reverse('projects-modules', kwargs={"pk": data.blocked_project.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] with mock.patch.object(OCCResourceMixin, "_validate_and_update_version"): patch_data = json.dumps({"att": "test"}) results = helper_test_http_method(client, 'patch', public_url, patch_data, users) assert results == [401, 403, 403, 403, 204] patch_data = json.dumps({"att": "test"}) results = helper_test_http_method(client, 'patch', private_url1, patch_data, users) assert results == [401, 403, 403, 403, 204] patch_data = json.dumps({"att": "test"}) results = helper_test_http_method(client, 'patch', private_url2, patch_data, users) assert results == [404, 404, 404, 403, 204] patch_data = json.dumps({"att": "test"}) results = helper_test_http_method(client, 'patch', blocked_url, patch_data, users) assert results == [404, 404, 404, 403, 451]
def test_user_story_create(client, data): url = reverse('userstories-list') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] create_data = json.dumps({"subject": "test", "ref": 1, "project": data.public_project.pk}) results = helper_test_http_method(client, 'post', url, create_data, users) assert results == [401, 403, 403, 201, 201] create_data = json.dumps({"subject": "test", "ref": 2, "project": data.private_project1.pk}) results = helper_test_http_method(client, 'post', url, create_data, users) assert results == [401, 403, 403, 201, 201] create_data = json.dumps({"subject": "test", "ref": 3, "project": data.private_project2.pk}) results = helper_test_http_method(client, 'post', url, create_data, users) assert results == [401, 403, 403, 201, 201] create_data = json.dumps({"subject": "test", "ref": 4, "project": data.blocked_project.pk}) results = helper_test_http_method(client, 'post', url, create_data, users) assert results == [401, 403, 403, 451, 451]
def test_webhook_create(client, data): url = reverse('webhooks-list') users = [ None, data.registered_user, data.project_owner ] create_data = json.dumps({ "name": "Test", "url": "http://test.com", "key": "test", "project": data.project1.pk, }) results = helper_test_http_method(client, 'post', url, create_data, users, lambda: Webhook.objects.all().delete()) assert results == [401, 403, 201] create_data = json.dumps({ "name": "Test", "url": "http://test.com", "key": "test", "project": data.project2.pk, }) results = helper_test_http_method(client, 'post', url, create_data, users, lambda: Webhook.objects.all().delete()) assert results == [401, 403, 403] create_data = json.dumps({ "name": "Test", "url": "http://test.com", "key": "test", "project": data.blocked_project.pk, }) results = helper_test_http_method(client, 'post', url, create_data, users, lambda: Webhook.objects.all().delete()) assert results == [401, 403, 451]
def test_modules_update(client, data): public_url = reverse('projects-modules', kwargs={"pk": data.public_project.pk}) private_url1 = reverse('projects-modules', kwargs={"pk": data.private_project1.pk}) private_url2 = reverse('projects-modules', kwargs={"pk": data.private_project2.pk}) blocked_url = reverse('projects-modules', kwargs={"pk": data.blocked_project.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] with mock.patch.object(OCCResourceMixin, "_validate_and_update_version"): results = helper_test_http_method(client, 'put', public_url, {"att": "test"}, users) assert results == [405, 405, 405, 405, 405] results = helper_test_http_method(client, 'put', private_url1, {"att": "test"}, users) assert results == [405, 405, 405, 405, 405] results = helper_test_http_method(client, 'put', private_url2, {"att": "test"}, users) assert results == [405, 405, 405, 405, 405] results = helper_test_http_method(client, 'put', blocked_url, {"att": "test"}, users) assert results == [405, 405, 405, 405, 405]
def test_webhook_action_test(client, data): url1 = reverse('webhooks-test', kwargs={"pk": data.webhook1.pk}) url2 = reverse('webhooks-test', kwargs={"pk": data.webhook2.pk}) blocked_url = reverse('webhooks-test', kwargs={"pk": data.blocked_webhook.pk}) users = [ None, data.registered_user, data.project_owner ] with mock.patch('taiga.webhooks.tasks._send_request') as _send_request_mock: _send_request_mock.return_value = data.webhooklog1 results = helper_test_http_method(client, 'post', url1, None, users) assert results == [404, 404, 200] assert _send_request_mock.called is True with mock.patch('taiga.webhooks.tasks._send_request') as _send_request_mock: _send_request_mock.return_value = data.webhooklog1 results = helper_test_http_method(client, 'post', url2, None, users) assert results == [404, 404, 404] assert _send_request_mock.called is False with mock.patch('taiga.webhooks.tasks._send_request') as _send_request_mock: _send_request_mock.return_value = data.webhooklog1 results = helper_test_http_method(client, 'post', blocked_url, None, users) assert results == [404, 404, 451] assert _send_request_mock.called is False
def test_userstory_custom_attributes_values_retrieve(client, data): public_url = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.public_user_story.pk}) private_url1 = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.private_user_story1.pk}) private_url2 = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.private_user_story2.pk}) blocked_url = reverse('userstory-custom-attributes-values-detail', kwargs={ "user_story_id": data.blocked_user_story.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method(client, 'get', public_url, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private_url1, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private_url2, None, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'get', blocked_url, None, users) assert results == [401, 403, 403, 200, 200]
def test_task_attachment_create(client, data, data_task): url = reverse('task-attachments-list') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] attachment_data = {"description": "test", "object_id": data_task.public_task_attachment.object_id, "project": data_task.public_task_attachment.project_id, "attached_file": SimpleUploadedFile("test.txt", b"test")} _after_each_request_hook = lambda: attachment_data["attached_file"].seek(0) results = helper_test_http_method(client, 'post', url, attachment_data, users, content_type=MULTIPART_CONTENT, after_each_request=_after_each_request_hook) assert results == [401, 403, 403, 201, 201] attachment_data = {"description": "test", "object_id": data_task.blocked_task_attachment.object_id, "project": data_task.blocked_task_attachment.project_id, "attached_file": SimpleUploadedFile("test.txt", b"test")} _after_each_request_hook = lambda: attachment_data["attached_file"].seek(0) results = helper_test_http_method(client, 'post', url, attachment_data, users, content_type=MULTIPART_CONTENT, after_each_request=_after_each_request_hook) assert results == [401, 403, 403, 451, 451]
def test_wiki_attachment_patch(client, data, data_wiki): public_url = reverse('wiki-attachments-detail', kwargs={"pk": data_wiki.public_wiki_attachment.pk}) private_url1 = reverse('wiki-attachments-detail', kwargs={"pk": data_wiki.private_wiki1_attachment.pk}) private_url2 = reverse('wiki-attachments-detail', kwargs={"pk": data_wiki.private_wiki2_attachment.pk}) blocked_url = reverse('wiki-attachments-detail', kwargs={"pk": data_wiki.blocked_wiki_attachment.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] attachment_data = {"description": "test"} attachment_data = json.dumps(attachment_data) results = helper_test_http_method(client, 'patch', public_url, attachment_data, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'patch', private_url1, attachment_data, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'patch', private_url2, attachment_data, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'patch', blocked_url, attachment_data, users) assert results == [401, 403, 403, 451, 451]
def test_project_action_create_template(client, data): public_url = reverse('projects-create-template', kwargs={"pk": data.public_project.pk}) private1_url = reverse('projects-create-template', kwargs={"pk": data.private_project1.pk}) private2_url = reverse('projects-create-template', kwargs={"pk": data.private_project2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner, data.superuser, ] template_data = json.dumps({ "template_name": "test", "template_description": "test", }) results = helper_test_http_method(client, 'post', public_url, template_data, users) assert results == [401, 403, 403, 403, 403, 201] results = helper_test_http_method(client, 'post', private1_url, template_data, users) assert results == [401, 403, 403, 403, 403, 201] results = helper_test_http_method(client, 'post', private2_url, template_data, users) assert results == [404, 404, 404, 403, 403, 201]
def test_milestone_update(client, data): public_url = reverse('milestones-detail', kwargs={"pk": data.public_milestone.pk}) private_url1 = reverse('milestones-detail', kwargs={"pk": data.private_milestone1.pk}) private_url2 = reverse('milestones-detail', kwargs={"pk": data.private_milestone2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] milestone_data = MilestoneSerializer(data.public_milestone).data milestone_data["name"] = "test" milestone_data = json.dumps(milestone_data) results = helper_test_http_method(client, 'put', public_url, milestone_data, users) assert results == [401, 403, 403, 200, 200] milestone_data = MilestoneSerializer(data.private_milestone1).data milestone_data["name"] = "test" milestone_data = json.dumps(milestone_data) results = helper_test_http_method(client, 'put', private_url1, milestone_data, users) assert results == [401, 403, 403, 200, 200] milestone_data = MilestoneSerializer(data.private_milestone2).data milestone_data["name"] = "test" milestone_data = json.dumps(milestone_data) results = helper_test_http_method(client, 'put', private_url2, milestone_data, users) assert results == [401, 403, 403, 200, 200]
def test_tasks_csv(client, data): url = reverse('tasks-csv') csv_public_uuid = data.public_project.tasks_csv_uuid csv_private1_uuid = data.private_project1.tasks_csv_uuid csv_private2_uuid = data.private_project1.tasks_csv_uuid csv_blocked_uuid = data.blocked_project.tasks_csv_uuid users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method(client, 'get', "{}?uuid={}".format(url, csv_public_uuid), None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', "{}?uuid={}".format(url, csv_private1_uuid), None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', "{}?uuid={}".format(url, csv_private2_uuid), None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', "{}?uuid={}".format(url, csv_blocked_uuid), None, users) assert results == [200, 200, 200, 200, 200]
def test_task_voters_retrieve(client, data): add_vote(data.public_task, data.project_owner) public_url = reverse('task-voters-detail', kwargs={"resource_id": data.public_task.pk, "pk": data.project_owner.pk}) add_vote(data.private_task1, data.project_owner) private_url1 = reverse('task-voters-detail', kwargs={"resource_id": data.private_task1.pk, "pk": data.project_owner.pk}) add_vote(data.private_task2, data.project_owner) private_url2 = reverse('task-voters-detail', kwargs={"resource_id": data.private_task2.pk, "pk": data.project_owner.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method(client, 'get', public_url, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private_url1, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private_url2, None, users) assert results == [401, 403, 403, 200, 200]
def test_userstory_custom_attribute_create(client, data): public_url = reverse('userstory-custom-attributes-list') private1_url = reverse('userstory-custom-attributes-list') private2_url = reverse('userstory-custom-attributes-list') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] userstory_ca_data = {"name": "test-new", "project": data.public_project.id} userstory_ca_data = json.dumps(userstory_ca_data) results = helper_test_http_method(client, 'post', public_url, userstory_ca_data, users) assert results == [401, 403, 403, 403, 201] userstory_ca_data = {"name": "test-new", "project": data.private_project1.id} userstory_ca_data = json.dumps(userstory_ca_data) results = helper_test_http_method(client, 'post', private1_url, userstory_ca_data, users) assert results == [401, 403, 403, 403, 201] userstory_ca_data = {"name": "test-new", "project": data.private_project2.id} userstory_ca_data = json.dumps(userstory_ca_data) results = helper_test_http_method(client, 'post', private2_url, userstory_ca_data, users) assert results == [401, 403, 403, 403, 201]
def test_issue_attachment_update(client, data, data_issue): public_url = reverse('issue-attachments-detail', kwargs={"pk": data_issue.public_issue_attachment.pk}) private_url1 = reverse('issue-attachments-detail', kwargs={"pk": data_issue.private_issue1_attachment.pk}) private_url2 = reverse('issue-attachments-detail', kwargs={"pk": data_issue.private_issue2_attachment.pk}) blocked_url = reverse('issue-attachments-detail', kwargs={"pk": data_issue.blocked_issue_attachment.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] attachment_data = AttachmentSerializer(data_issue.public_issue_attachment).data attachment_data["description"] = "test" attachment_data = json.dumps(attachment_data) results = helper_test_http_method(client, 'put', public_url, attachment_data, users) assert results == [405, 405, 405, 405, 405] # assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'put', private_url1, attachment_data, users) assert results == [405, 405, 405, 405, 405] # assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'put', private_url2, attachment_data, users) assert results == [405, 405, 405, 405, 405] # assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'put', blocked_url, attachment_data, users) assert results == [405, 405, 405, 405, 405]
def test_user_story_action_bulk_create(client, data): url = reverse('userstories-bulk-create') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] bulk_data = json.dumps({"bulk_stories": "test1\ntest2", "project_id": data.public_user_story.project.pk}) results = helper_test_http_method(client, 'post', url, bulk_data, users) assert results == [401, 403, 403, 200, 200] bulk_data = json.dumps({"bulk_stories": "test1\ntest2", "project_id": data.private_user_story1.project.pk}) results = helper_test_http_method(client, 'post', url, bulk_data, users) assert results == [401, 403, 403, 200, 200] bulk_data = json.dumps({"bulk_stories": "test1\ntest2", "project_id": data.private_user_story2.project.pk}) results = helper_test_http_method(client, 'post', url, bulk_data, users) assert results == [401, 403, 403, 200, 200] bulk_data = json.dumps({"bulk_stories": "test1\ntest2", "project_id": data.blocked_user_story.project.pk}) results = helper_test_http_method(client, 'post', url, bulk_data, users) assert results == [401, 403, 403, 451, 451]
def test_webhook_update(client, data): url1 = reverse('webhooks-detail', kwargs={"pk": data.webhook1.pk}) url2 = reverse('webhooks-detail', kwargs={"pk": data.webhook2.pk}) blocked_url = reverse('webhooks-detail', kwargs={"pk": data.blocked_webhook.pk}) users = [ None, data.registered_user, data.project_owner ] webhook_data = WebhookSerializer(data.webhook1).data webhook_data["key"] = "test" webhook_data = json.dumps(webhook_data) results = helper_test_http_method(client, 'put', url1, webhook_data, users) assert results == [401, 403, 200] webhook_data = WebhookSerializer(data.webhook2).data webhook_data["key"] = "test" webhook_data = json.dumps(webhook_data) results = helper_test_http_method(client, 'put', url2, webhook_data, users) assert results == [401, 403, 403] webhook_data = WebhookSerializer(data.blocked_webhook).data webhook_data["key"] = "test" webhook_data = json.dumps(webhook_data) results = helper_test_http_method(client, 'put', blocked_url, webhook_data, users) assert results == [401, 403, 451]
def test_userstory_custom_attribute_update(client, data): public_url = reverse('userstory-custom-attributes-detail', kwargs={"pk": data.public_userstory_ca.pk}) private1_url = reverse('userstory-custom-attributes-detail', kwargs={"pk": data.private_userstory_ca1.pk}) private2_url = reverse('userstory-custom-attributes-detail', kwargs={"pk": data.private_userstory_ca2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] userstory_ca_data = serializers.UserStoryCustomAttributeSerializer(data.public_userstory_ca).data userstory_ca_data["name"] = "test" userstory_ca_data = json.dumps(userstory_ca_data) results = helper_test_http_method(client, 'put', public_url, userstory_ca_data, users) assert results == [401, 403, 403, 403, 200] userstory_ca_data = serializers.UserStoryCustomAttributeSerializer(data.private_userstory_ca1).data userstory_ca_data["name"] = "test" userstory_ca_data = json.dumps(userstory_ca_data) results = helper_test_http_method(client, 'put', private1_url, userstory_ca_data, users) assert results == [401, 403, 403, 403, 200] userstory_ca_data = serializers.UserStoryCustomAttributeSerializer(data.private_userstory_ca2).data userstory_ca_data["name"] = "test" userstory_ca_data = json.dumps(userstory_ca_data) results = helper_test_http_method(client, 'put', private2_url, userstory_ca_data, users) assert results == [401, 403, 403, 403, 200]
def test_project_watchers_retrieve(client, data): public_url = reverse('project-watchers-detail', kwargs={"resource_id": data.public_project.pk, "pk": data.project_owner.pk}) private1_url = reverse('project-watchers-detail', kwargs={"resource_id": data.private_project1.pk, "pk": data.project_owner.pk}) private2_url = reverse('project-watchers-detail', kwargs={"resource_id": data.private_project2.pk, "pk": data.project_owner.pk}) blocked_url = reverse('project-watchers-detail', kwargs={"resource_id": data.blocked_project.pk, "pk": data.project_owner.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method(client, 'get', public_url, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private1_url, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private2_url, None, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'get', blocked_url, None, users) assert results == [401, 403, 403, 200, 200]
def test_user_update(client, data): url = reverse('users-detail', kwargs={"pk": data.registered_user.pk}) users = [ None, data.registered_user, data.other_user, data.superuser, ] user_data = UserSerializer(data.registered_user).data user_data["full_name"] = "test" user_data = json.dumps(user_data) results = helper_test_http_method(client, 'put', url, user_data, users) assert results == [401, 200, 403, 200]
def test_user_action_password_recovery(client, data): url = reverse('users-password-recovery') f.UserFactory.create(username="******") users = [ None, data.registered_user, data.other_user, data.superuser, ] patch_data = json.dumps({"username": "******"}) results = helper_test_http_method(client, 'post', url, patch_data, users) assert results == [200, 200, 200, 200]
def test_storage_update(client, data): url = reverse('user-storage-detail', kwargs={"key": data.storage_user1.key}) users = [ None, data.user1, data.user2, ] storage_data = StorageEntrySerializer(data.storage_user1).data storage_data["key"] = "test" storage_data = json.dumps(storage_data) results = helper_test_http_method(client, 'put', url, storage_data, users) assert results == [401, 200, 404]
def test_wiki_attachment_create(client, data, data_wiki): url = reverse('wiki-attachments-list') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] attachment_data = {"description": "test", "object_id": data_wiki.public_wiki_attachment.object_id, "project": data_wiki.public_wiki_attachment.project_id, "attached_file": SimpleUploadedFile("test.txt", b"test")} _after_each_request_hook = lambda: attachment_data["attached_file"].seek(0) results = helper_test_http_method(client, 'post', url, attachment_data, users, content_type=MULTIPART_CONTENT, after_each_request=_after_each_request_hook) assert results == [401, 403, 403, 201, 201] attachment_data = {"description": "test", "object_id": data_wiki.blocked_wiki_attachment.object_id, "project": data_wiki.blocked_wiki_attachment.project_id, "attached_file": SimpleUploadedFile("test.txt", b"test")} _after_each_request_hook = lambda: attachment_data["attached_file"].seek(0) results = helper_test_http_method(client, 'post', url, attachment_data, users, content_type=MULTIPART_CONTENT, after_each_request=_after_each_request_hook) assert results == [401, 403, 403, 451, 451]
def test_user_story_attachment_update(client, data, data_us): public_url = reverse("userstory-attachments-detail", args=[data_us.public_user_story_attachment.pk]) private_url1 = reverse("userstory-attachments-detail", args=[data_us.private_user_story1_attachment.pk]) private_url2 = reverse("userstory-attachments-detail", args=[data_us.private_user_story2_attachment.pk]) blocked_url = reverse("userstory-attachments-detail", args=[data_us.blocked_user_story_attachment.pk]) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] attachment_data = AttachmentSerializer(data_us.public_user_story_attachment).data attachment_data["description"] = "test" attachment_data = json.dumps(attachment_data) results = helper_test_http_method(client, "put", public_url, attachment_data, users) assert results == [405, 405, 405, 405, 405] # assert results == [401, 403, 403, 400, 400] results = helper_test_http_method(client, "put", private_url1, attachment_data, users) assert results == [405, 405, 405, 405, 405] # assert results == [401, 403, 403, 400, 400] results = helper_test_http_method(client, "put", private_url2, attachment_data, users) assert results == [405, 405, 405, 405, 405] # assert results == [401, 403, 403, 400, 400] results = helper_test_http_method(client, "put", blocked_url, attachment_data, users) assert results == [405, 405, 405, 405, 405]
def test_wiki_attachment_delete(client, data, data_wiki): public_url = reverse('wiki-attachments-detail', kwargs={"pk": data_wiki.public_wiki_attachment.pk}) private_url1 = reverse('wiki-attachments-detail', kwargs={"pk": data_wiki.private_wiki1_attachment.pk}) private_url2 = reverse('wiki-attachments-detail', kwargs={"pk": data_wiki.private_wiki2_attachment.pk}) blocked_url = reverse('wiki-attachments-detail', kwargs={"pk": data_wiki.blocked_wiki_attachment.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, ] results = helper_test_http_method(client, 'delete', public_url, None, [None, data.registered_user]) assert results == [401, 403] results = helper_test_http_method(client, 'delete', private_url1, None, [None, data.registered_user]) assert results == [401, 403] results = helper_test_http_method(client, 'delete', private_url2, None, users) assert results == [401, 403, 403, 204] results = helper_test_http_method(client, 'delete', blocked_url, None, users) assert results == [401, 403, 403, 451]
def test_user_stories_csv(client, data): url = reverse('userstories-csv') csv_public_uuid = data.public_project.userstories_csv_uuid csv_private1_uuid = data.private_project1.userstories_csv_uuid csv_private2_uuid = data.private_project1.userstories_csv_uuid users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method( client, 'get', "{}?uuid={}".format(url, csv_public_uuid), None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method( client, 'get', "{}?uuid={}".format(url, csv_private1_uuid), None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method( client, 'get', "{}?uuid={}".format(url, csv_private2_uuid), None, users) assert results == [200, 200, 200, 200, 200]
def test_task_custom_attributes_values_update(client, data): public_url = reverse('task-custom-attributes-values-detail', kwargs={"task_id": data.public_task.pk}) private_url1 = reverse('task-custom-attributes-values-detail', kwargs={"task_id": data.private_task1.pk}) private_url2 = reverse('task-custom-attributes-values-detail', kwargs={"task_id": data.private_task2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] task_data = serializers.TaskCustomAttributesValuesSerializer( data.public_task_cav).data task_data["attributes_values"] = {str(data.public_task_ca.pk): "test"} task_data = json.dumps(task_data) results = helper_test_http_method(client, 'put', public_url, task_data, users) assert results == [401, 403, 403, 200, 200] task_data = serializers.TaskCustomAttributesValuesSerializer( data.private_task_cav1).data task_data["attributes_values"] = {str(data.private_task_ca1.pk): "test"} task_data = json.dumps(task_data) results = helper_test_http_method(client, 'put', private_url1, task_data, users) assert results == [401, 403, 403, 200, 200] task_data = serializers.TaskCustomAttributesValuesSerializer( data.private_task_cav2).data task_data["attributes_values"] = {str(data.private_task_ca2.pk): "test"} task_data = json.dumps(task_data) results = helper_test_http_method(client, 'put', private_url2, task_data, users) assert results == [401, 403, 403, 200, 200]
def test_issue_attachment_patch(client, data, data_issue): public_url = reverse('issue-attachments-detail', kwargs={"pk": data_issue.public_issue_attachment.pk}) private_url1 = reverse( 'issue-attachments-detail', kwargs={"pk": data_issue.private_issue1_attachment.pk}) private_url2 = reverse( 'issue-attachments-detail', kwargs={"pk": data_issue.private_issue2_attachment.pk}) blocked_url = reverse( 'issue-attachments-detail', kwargs={"pk": data_issue.blocked_issue_attachment.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] attachment_data = {"description": "test"} attachment_data = json.dumps(attachment_data) results = helper_test_http_method(client, 'patch', public_url, attachment_data, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'patch', private_url1, attachment_data, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'patch', private_url2, attachment_data, users) assert results == [401, 403, 403, 200, 200] results = helper_test_http_method(client, 'patch', blocked_url, attachment_data, users) assert results == [401, 403, 403, 451, 451]
def test_task_patch(client, data): public_url = reverse('tasks-detail', kwargs={"pk": data.public_task.pk}) private_url1 = reverse('tasks-detail', kwargs={"pk": data.private_task1.pk}) private_url2 = reverse('tasks-detail', kwargs={"pk": data.private_task2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] patch_data = json.dumps({"subject": "test", "version": data.public_task.version}) results = helper_test_http_method(client, 'patch', public_url, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({"subject": "test", "version": data.private_task1.version}) results = helper_test_http_method(client, 'patch', private_url1, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({"subject": "test", "version": data.private_task2.version}) results = helper_test_http_method(client, 'patch', private_url2, patch_data, users) assert results == [401, 403, 403, 200, 200]
def test_user_by_username(client, data): url = reverse('users-by-username') users = [ None, data.registered_user, data.other_user, data.superuser, ] results = helper_test_http_method( client, 'get', "{}?username={}".format(url, data.registered_user.username), None, users) assert results == [200, 200, 200, 200]
def test_userstory_custom_attribute_update(client, data): public_url = reverse('userstory-custom-attributes-detail', kwargs={"pk": data.public_userstory_ca.pk}) private1_url = reverse('userstory-custom-attributes-detail', kwargs={"pk": data.private_userstory_ca1.pk}) private2_url = reverse('userstory-custom-attributes-detail', kwargs={"pk": data.private_userstory_ca2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] userstory_ca_data = serializers.UserStoryCustomAttributeSerializer( data.public_userstory_ca).data userstory_ca_data["name"] = "test" userstory_ca_data = json.dumps(userstory_ca_data) results = helper_test_http_method(client, 'put', public_url, userstory_ca_data, users) assert results == [401, 403, 403, 403, 200] userstory_ca_data = serializers.UserStoryCustomAttributeSerializer( data.private_userstory_ca1).data userstory_ca_data["name"] = "test" userstory_ca_data = json.dumps(userstory_ca_data) results = helper_test_http_method(client, 'put', private1_url, userstory_ca_data, users) assert results == [401, 403, 403, 403, 200] userstory_ca_data = serializers.UserStoryCustomAttributeSerializer( data.private_userstory_ca2).data userstory_ca_data["name"] = "test" userstory_ca_data = json.dumps(userstory_ca_data) results = helper_test_http_method(client, 'put', private2_url, userstory_ca_data, users) assert results == [401, 403, 403, 403, 200]
def test_project_action_unwatch(client, data): public_url = reverse('projects-unwatch', kwargs={"pk": data.public_project.pk}) private1_url = reverse('projects-unwatch', kwargs={"pk": data.private_project1.pk}) private2_url = reverse('projects-unwatch', kwargs={"pk": data.private_project2.pk}) blocked_url = reverse('projects-unwatch', kwargs={"pk": data.blocked_project.pk}) users = [ None, data.registered_user, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method(client, 'post', public_url, None, users) assert results == [401, 200, 200, 200] results = helper_test_http_method(client, 'post', private1_url, None, users) assert results == [401, 200, 200, 200] results = helper_test_http_method(client, 'post', private2_url, None, users) assert results == [404, 404, 200, 200] results = helper_test_http_method(client, 'post', blocked_url, None, users) assert results == [404, 404, 451, 451]
def test_issue_voters_retrieve(client, data): add_vote(data.public_issue, data.project_owner) public_url = reverse('issue-voters-detail', kwargs={"issue_id": data.public_issue.pk, "pk": data.project_owner.pk}) add_vote(data.private_issue1, data.project_owner) private_url1 = reverse('issue-voters-detail', kwargs={"issue_id": data.private_issue1.pk, "pk": data.project_owner.pk}) add_vote(data.private_issue2, data.project_owner) private_url2 = reverse('issue-voters-detail', kwargs={"issue_id": data.private_issue2.pk, "pk": data.project_owner.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method(client, 'get', public_url, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private_url1, None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method(client, 'get', private_url2, None, users) assert results == [401, 403, 403, 200, 200]
def test_project_update(client, data): url = reverse('projects-detail', kwargs={"pk": data.private_project2.pk}) project_data = ProjectDetailSerializer(data.private_project2).data project_data["is_private"] = False project_data = json.dumps(project_data) users = [ None, data.registered_user, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method(client, 'put', url, project_data, users) assert results == [401, 403, 403, 200]
def test_issue_patch(client, data): public_url = reverse('issues-detail', kwargs={"pk": data.public_issue.pk}) private_url1 = reverse('issues-detail', kwargs={"pk": data.private_issue1.pk}) private_url2 = reverse('issues-detail', kwargs={"pk": data.private_issue2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] with mock.patch.object(OCCResourceMixin, "_validate_and_update_version"): patch_data = json.dumps({ "subject": "test", "version": data.public_issue.version }) results = helper_test_http_method(client, 'patch', public_url, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({ "subject": "test", "version": data.private_issue1.version }) results = helper_test_http_method(client, 'patch', private_url1, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({ "subject": "test", "version": data.private_issue2.version }) results = helper_test_http_method(client, 'patch', private_url2, patch_data, users) assert results == [401, 403, 403, 200, 200]
def test_storage_create(client, data): url = reverse('user-storage-list') users = [ None, data.user1, data.user2, ] create_data = json.dumps({ "key": "test", "value": {"test": "test-value"}, }) results = helper_test_http_method(client, 'post', url, create_data, users, lambda: StorageEntry.objects.all().delete()) assert results == [401, 201, 201]
def test_milestone_patch(client, data): public_url = reverse('milestones-detail', kwargs={"pk": data.public_milestone.pk}) private_url1 = reverse('milestones-detail', kwargs={"pk": data.private_milestone1.pk}) private_url2 = reverse('milestones-detail', kwargs={"pk": data.private_milestone2.pk}) users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] patch_data = json.dumps({"name": "test"}) results = helper_test_http_method(client, 'patch', public_url, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({"name": "test"}) results = helper_test_http_method(client, 'patch', private_url1, patch_data, users) assert results == [401, 403, 403, 200, 200] patch_data = json.dumps({"name": "test"}) results = helper_test_http_method(client, 'patch', private_url2, patch_data, users) assert results == [401, 403, 403, 200, 200]
def test_webhook_create(client, data): url = reverse('webhooks-list') users = [None, data.registered_user, data.project_owner] create_data = json.dumps({ "name": "Test", "url": "http://test.com", "key": "test", "project": data.project1.pk, }) results = helper_test_http_method(client, 'post', url, create_data, users, lambda: Webhook.objects.all().delete()) assert results == [401, 403, 201] create_data = json.dumps({ "name": "Test", "url": "http://test.com", "key": "test", "project": data.project2.pk, }) results = helper_test_http_method(client, 'post', url, create_data, users, lambda: Webhook.objects.all().delete()) assert results == [401, 403, 403]
def test_user_action_change_email(client, data): url = reverse('users-change-email') data.registered_user.email_token = "test-token" data.registered_user.new_email = "*****@*****.**" data.registered_user.save() users = [ None, data.registered_user, data.other_user, ] patch_data = json.dumps({"email_token": "test-token"}) results = helper_test_http_method(client, 'post', url, patch_data, users) assert results == [401, 204, 400]
def test_application_tokens_authorize(client, data): url=reverse('application-tokens-authorize') users = [ None, data.registered_user, data.registered_user_with_token ] data = json.dumps({ "application": data.token.application.id, "state": "random-state-123123", }) results = helper_test_http_method(client, "post", url, data, users) assert results == [401, 200, 200]
def test_application_tokens_validate(client, data): url=reverse('application-tokens-validate') users = [ None, data.registered_user, data.registered_user_with_token ] data = json.dumps({ "application": data.token.application.id, "auth_code": data.token.auth_code, "state": data.token.state }) results = helper_test_http_method(client, "post", url, data, users) assert results == [200, 200, 200]
def test_user_action_change_password_from_recovery(client, data): url = reverse('users-change-password-from-recovery') new_user = f.UserFactory(token="test-token") def reset_token(): new_user.token = "test-token" new_user.save() users = [ None, data.registered_user, data.other_user, data.superuser, ] patch_data = json.dumps({"password": "******", "token": "test-token"}) results = helper_test_http_method(client, 'post', url, patch_data, users, reset_token) assert results == [204, 204, 204, 204]
def test_user_action_change_password(client, data): url = reverse('users-change-password') data.registered_user.set_password("test-current-password") data.registered_user.save() data.other_user.set_password("test-current-password") data.other_user.save() data.superuser.set_password("test-current-password") data.superuser.save() users = [ None, data.registered_user, data.other_user, data.superuser, ] post_data = json.dumps({"current_password": "******", "password": "******"}) results = helper_test_http_method(client, 'post', url, post_data, users) assert results == [401, 204, 204, 204]
def test_user_story_action_bulk_update_milestone(client, data): url = reverse('userstories-bulk-update-milestone') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] post_data = json.dumps({ "bulk_stories": [{ "us_id": data.private_user_story1.id, "order": 2 }], "milestone_id": data.private_sprint1.pk, "project_id": data.private_project1.pk }) results = helper_test_http_method(client, 'post', url, post_data, users) assert results == [401, 403, 403, 204, 204]
def test_resolver_list(client, data): url = reverse('resolver-list') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] results = helper_test_http_method( client, 'get', "{}?project={}".format(url, data.public_project.slug), None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method( client, 'get', "{}?project={}".format(url, data.private_project1.slug), None, users) assert results == [200, 200, 200, 200, 200] results = helper_test_http_method( client, 'get', "{}?project={}".format(url, data.private_project2.slug), None, users) assert results == [401, 403, 403, 200, 200] client.login(data.other_user) response = client.json.get( "{}?project={}&us={}&task={}&issue={}&milestone={}".format( url, data.private_project2.slug, data.us.ref, data.task.ref, data.issue.ref, data.milestone.slug)) assert response.data == {"project": data.private_project2.pk} client.login(data.project_owner) response = client.json.get( "{}?project={}&us={}&task={}&issue={}&milestone={}".format( url, data.private_project2.slug, data.us.ref, data.task.ref, data.issue.ref, data.milestone.slug)) assert response.data == { "project": data.private_project2.pk, "us": data.us.pk, "task": data.task.pk, "issue": data.issue.pk, "milestone": data.milestone.pk } response = client.json.get("{}?project={}&ref={}".format( url, data.private_project2.slug, data.us.ref)) assert response.data == { "project": data.private_project2.pk, "us": data.us.pk } response = client.json.get("{}?project={}&ref={}".format( url, data.private_project2.slug, data.task.ref)) assert response.data == { "project": data.private_project2.pk, "task": data.task.pk } response = client.json.get("{}?project={}&ref={}".format( url, data.private_project2.slug, data.issue.ref)) assert response.data == { "project": data.private_project2.pk, "issue": data.issue.pk }
def test_issue_create(client, data): url = reverse('issues-list') users = [ None, data.registered_user, data.project_member_without_perms, data.project_member_with_perms, data.project_owner ] create_data = json.dumps({ "subject": "test", "ref": 1, "project": data.public_project.pk, "severity": data.public_project.severities.all()[0].pk, "priority": data.public_project.priorities.all()[0].pk, "status": data.public_project.issue_statuses.all()[0].pk, "type": data.public_project.issue_types.all()[0].pk, }) results = helper_test_http_method(client, 'post', url, create_data, users) assert results == [401, 201, 201, 201, 201] create_data = json.dumps({ "subject": "test", "ref": 2, "project": data.private_project1.pk, "severity": data.private_project1.severities.all()[0].pk, "priority": data.private_project1.priorities.all()[0].pk, "status": data.private_project1.issue_statuses.all()[0].pk, "type": data.private_project1.issue_types.all()[0].pk, }) results = helper_test_http_method(client, 'post', url, create_data, users) assert results == [401, 201, 201, 201, 201] create_data = json.dumps({ "subject": "test", "ref": 3, "project": data.private_project2.pk, "severity": data.private_project2.severities.all()[0].pk, "priority": data.private_project2.priorities.all()[0].pk, "status": data.private_project2.issue_statuses.all()[0].pk, "type": data.private_project2.issue_types.all()[0].pk, }) results = helper_test_http_method(client, 'post', url, create_data, users) assert results == [401, 403, 403, 201, 201]