server/python/django2/renkanmanager/tests/v1_0/tests_renkan.py
changeset 615 f3875fbe206a
parent 613 e00a24b711a0
child 618 3051b847c124
--- a/server/python/django2/renkanmanager/tests/v1_0/tests_renkan.py	Wed Jun 15 16:31:43 2016 +0200
+++ b/server/python/django2/renkanmanager/tests/v1_0/tests_renkan.py	Mon Jun 20 14:44:40 2016 +0200
@@ -142,7 +142,7 @@
         new_renkan = Renkan.objects.get(renkan_guid=new_renkan_guid)
         # GUIDs and username
         self.assertEqual(self.test_workspace_guid, post_response_dict.get("workspace_id", ""))
-        self.assertEqual(self.test_workspace_guid, new_renkan.workspace.workspace_guid)
+        self.assertEqual(self.test_workspace_guid, str(new_renkan.workspace.workspace_guid))
         self.assertEqual(getattr(self.user, User.USERNAME_FIELD), post_response_dict.get("created_by", ""))
         self.assertEqual(getattr(self.user, User.USERNAME_FIELD), post_response_dict.get("last_updated_by", ""))
         self.assertEqual(getattr(self.user, User.USERNAME_FIELD), getattr(new_renkan.creator, User.USERNAME_FIELD))
@@ -176,8 +176,19 @@
         data = {"title": self.third_test_title, "content": self.third_test_content}
 
         post_response = self.client.post(post_url, data, format="json")
+        self.assertEqual(post_response.status_code, status.HTTP_400_BAD_REQUEST)
+
+        ###################################################
+        # POSTing with wrong workspace_guid
+        ###################################################
+
+        post_url = reverse("v1.0:renkan_list_workspace", kwargs={"workspace_guid": "00000000-0000-0000-0000-000000000000"})
+        data = {"title": self.third_test_title, "content": self.third_test_content}
+
+        post_response = self.client.post(post_url, data, format="json")
         self.assertEqual(post_response.status_code, status.HTTP_404_NOT_FOUND)
 
+
         ###################################################
         # POSTing with non-JSON serializable content
         ###################################################
@@ -223,8 +234,17 @@
 
         get_url = reverse("v1.0:renkan_detail", kwargs={"renkan_guid": "bad-id"})
         get_response = self.client.get(get_url, format="json")
+        self.assertEqual(get_response.status_code, status.HTTP_400_BAD_REQUEST)
+
+        ###################################################
+        # GETting with wrong guid
+        ###################################################
+
+        get_url = reverse("v1.0:renkan_detail", kwargs={"renkan_guid": "00000000-0000-0000-0000-000000000000"})
+        get_response = self.client.get(get_url, format="json")
         self.assertEqual(get_response.status_code, status.HTTP_404_NOT_FOUND)
 
+
     def test_get_renkan_list(self):
 
         ###################################################
@@ -300,7 +320,7 @@
             "create_new_revision": False
         }
         put_response = self.client.put(put_url, put_data, format="json")
-        self.assertEqual(put_response.status_code, status.HTTP_200_OK)
+        self.assertEqual(put_response.status_code, status.HTTP_200_OK, "response is %r"%put_response.content)
         put_response_dict = json.loads(put_response.content.decode())
         put_response_content_dict = json.loads(put_response_dict.get("content", "{}"))
         put_response_ts = put_response_content_dict.get("updated", "")
@@ -311,7 +331,7 @@
         self.assertEqual(put_response_dict.get("revision_count", ""), 1)
         self.assertEqual(updated_project.revision_count, 1)
 
-        self.assertEqual(revision_guid, updated_project.current_revision.revision_guid)
+        self.assertEqual(revision_guid, str(updated_project.current_revision.revision_guid))
         # checking data was updated
         #     in the reponse
         self.assertEqual(put_response_dict.get("title", ""), self.first_test_title)
@@ -339,7 +359,7 @@
             "create_new_revision": True
         }
         put_response = self.client.put(put_url, put_data, format="json")
-        self.assertEqual(put_response.status_code, status.HTTP_200_OK)
+        self.assertEqual(put_response.status_code, status.HTTP_200_OK, "response is %r"%put_response.content)
         put_response_dict = json.loads(put_response.content.decode())
         put_response_content_dict = json.loads(put_response_dict.get("content", "{}"))
         put_response_ts = put_response_content_dict.get("updated", "")
@@ -354,7 +374,7 @@
         self.assertEqual(updated_project.revision_count, 2)
 
         # checking project now points towards new revision
-        self.assertEqual(updated_project.current_revision.revision_guid, created_revision_guid)
+        self.assertEqual(str(updated_project.current_revision.revision_guid), created_revision_guid)
         # checking data was updated
         #     in the reponse
         self.assertEqual(put_response_dict.get("title", ""), self.second_test_title)
@@ -387,7 +407,7 @@
 
         put_url = reverse("v1.0:renkan_detail", kwargs={"renkan_guid": "bad-id"})
         put_response = self.client.put(put_url, {}, format="json")
-        self.assertEqual(put_response.status_code, status.HTTP_404_NOT_FOUND)
+        self.assertEqual(put_response.status_code, status.HTTP_400_BAD_REQUEST)
 
 
     def test_copy_renkan(self):
@@ -545,15 +565,26 @@
         ###################################################
 
         bad_copy_data = {"source_revision_id": "bleh_bad_id"}
+        bad_copy_data_guid = {"source_revision_id": "00000000-0000-0000-0000-000000000000"}
+
         #    with query arg
         qarg_bad_copy_url = post_url+"?source_revision_id=bleh_bad_id"
         qarg_bad_copy_response = self.client.post(qarg_bad_copy_url, {}, format="json")
+        self.assertEqual(qarg_bad_copy_response.status_code, status.HTTP_400_BAD_REQUEST)
+        #    with query arg
+        qarg_bad_copy_url = post_url+"?source_revision_id=00000000-0000-0000-0000-000000000000"
+        qarg_bad_copy_response = self.client.post(qarg_bad_copy_url, {}, format="json")
         self.assertEqual(qarg_bad_copy_response.status_code, status.HTTP_404_NOT_FOUND)
         #    with data
         data_bad_copy_url = post_url
         data_bad_copy_response = self.client.post(data_bad_copy_url, bad_copy_data, format="json")
+        self.assertEqual(data_bad_copy_response.status_code, status.HTTP_400_BAD_REQUEST)
+
+        data_bad_copy_url = post_url
+        data_bad_copy_response = self.client.post(data_bad_copy_url, bad_copy_data_guid, format="json")
         self.assertEqual(data_bad_copy_response.status_code, status.HTTP_404_NOT_FOUND)
 
+
     def test_delete_renkan(self):
 
         ###################################################
@@ -614,4 +645,12 @@
 
         delete_url = reverse("v1.0:renkan_detail", kwargs={"renkan_guid": "bad-id"})
         delete_response = self.client.delete(delete_url, format="json")
+        self.assertEqual(delete_response.status_code, status.HTTP_400_BAD_REQUEST)
+
+        ###################################################
+        # Try to DELETE renkan with wrong guid
+        ###################################################
+
+        delete_url = reverse("v1.0:renkan_detail", kwargs={"renkan_guid": "00000000-0000-0000-0000-000000000000"})
+        delete_response = self.client.delete(delete_url, format="json")
         self.assertEqual(delete_response.status_code, status.HTTP_404_NOT_FOUND)