--- a/server/python/django2/renkanmanager/tests/v1_0/tests_revision.py Tue Jun 07 10:46:20 2016 +0200
+++ b/server/python/django2/renkanmanager/tests/v1_0/tests_revision.py Mon Jun 13 14:23:58 2016 +0200
@@ -10,18 +10,16 @@
User = get_user_model()
class RevisionTests(APITestCase):
-
+
def setUp(self):
User.objects.create_superuser("blop", "blop@blop.com", "blop")
self.user = User.objects.get_by_natural_key(username="blop")
_ = self.client.login(username="blop", password="blop")
- User.objects.create_user("blip", "blip@blip.com", "blip")
- self.unauthorized_user = User.objects.get_by_natural_key(username="blip")
-
+
###################################################
# POSTing new Renkan
###################################################
-
+
post_url = reverse("v1.0:renkan_list")
self.test_title = "test_title_1"
test_content_dict_init = {
@@ -44,56 +42,47 @@
self.post_response_content_dict = json.loads(post_response_dict.get("content", "{}"))
self.test_renkan_guid = post_response_dict.get("id", "")
self.test_initial_revision_guid = post_response_dict.get("current_revision_id", "")
-
+
def test_get_revision(self):
-
+
###################################################
# GETting revision
###################################################
-
+
get_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : self.test_renkan_guid, "revision_guid": self.test_initial_revision_guid})
get_response = self.client.get(get_url, {}, format="json")
self.assertEqual(get_response.status_code, status.HTTP_200_OK)
-
+
# Checking data
- get_response_dict = json.loads(get_response.content.decode())
+ get_response_dict = json.loads(get_response.content.decode())
self.assertEqual(get_response_dict.get("id", ""), self.test_initial_revision_guid)
self.assertEqual(get_response_dict.get("parent_renkan_id", ""), self.test_renkan_guid)
self.assertEqual(get_response_dict.get("revision_created_by", ""), getattr(self.user, User.USERNAME_FIELD))
self.assertEqual(get_response_dict.get("revision_last_updated_by", ""), getattr(self.user, User.USERNAME_FIELD))
self.assertEqual(get_response_dict.get("title", ""), self.test_data.get("title", ""))
-
+
###################################################
# GETting with wrong renkan guid
###################################################
-
+
get_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : "bad-renkan-guid", "revision_guid": self.test_initial_revision_guid})
get_response = self.client.get(get_url, {}, format="json")
self.assertEqual(get_response.status_code, status.HTTP_404_NOT_FOUND)
-
+
###################################################
# GETting with wrong revision guid
###################################################
-
+
get_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : self.test_renkan_guid, "revision_guid": "bad-revision-guid"})
get_response = self.client.get(get_url, {}, format="json")
self.assertEqual(get_response.status_code, status.HTTP_404_NOT_FOUND)
-
- ###################################################
- # try GETting with unauthorized user
- ###################################################
-
- _ = self.client.login(username="blip", password="blip")
- get_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : self.test_renkan_guid, "revision_guid": self.test_initial_revision_guid})
- get_response = self.client.get(get_url, {}, format="json")
- self.assertEqual(get_response.status_code, status.HTTP_403_FORBIDDEN)
-
+
def test_get_revision_list(self):
-
+
###################################################
# PUTting another revision in test renkan
###################################################
-
+
put_url = reverse("v1.0:renkan_detail", kwargs={"renkan_guid" : self.test_renkan_guid})
put_title = "edited_title"
put_data = {
@@ -102,42 +91,34 @@
"create_new_revision": True
}
put_response = self.client.put(put_url, put_data, format="json")
-
+
###################################################
# GETting revision lists
###################################################
-
+
get_url = reverse("v1.0:revision_list", kwargs={"renkan_guid" : self.test_renkan_guid})
get_response = self.client.get(get_url, {}, format="json")
self.assertEqual(get_response.status_code, status.HTTP_200_OK)
-
+
# Checking data
get_response_content = json.loads(get_response.content.decode()) # Should be a list
self.assertTrue(isinstance(get_response_content, list))
self.assertEqual(len(get_response_content), 2)
-
- ###################################################
- # GETting with wrong renkan guid
- ###################################################
-
- _ = self.client.login(username="blip", password="blip")
- get_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : self.test_renkan_guid, "revision_guid": self.test_initial_revision_guid})
- get_response = self.client.get(get_url, {}, format="json")
- self.assertEqual(get_response.status_code, status.HTTP_403_FORBIDDEN)
-
+
+
def test_delete_revision(self):
-
+
###################################################
# Try to DELETE the initial revision (last revision, should 400)
###################################################
delete_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : self.test_renkan_guid, "revision_guid": self.test_initial_revision_guid})
delete_response = self.client.delete(delete_url, {}, format="json")
self.assertEqual(delete_response.status_code, status.HTTP_400_BAD_REQUEST)
-
+
###################################################
# PUTting another revision in test renkan
###################################################
-
+
put_url = reverse("v1.0:renkan_detail", kwargs={"renkan_guid" : self.test_renkan_guid})
put_title = "edited_title"
put_data = {
@@ -148,48 +129,38 @@
put_response = self.client.put(put_url, put_data, format="json")
put_response_dict = json.loads(put_response.content.decode())
added_revision_guid = put_response_dict.get("current_revision_id", "")
-
+
###################################################
# Try to DELETE the added revision (current revision, should 400)
###################################################
-
+
delete_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : self.test_renkan_guid, "revision_guid": added_revision_guid})
delete_response = self.client.delete(delete_url, {}, format="json")
self.assertEqual(delete_response.status_code, status.HTTP_400_BAD_REQUEST)
-
-
- ###################################################
- # try to DELETE with unauthorized user
- ###################################################
-
- _ = self.client.login(username="blip", password="blip")
- delete_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : self.test_renkan_guid, "revision_guid": self.test_initial_revision_guid})
- delete_response = self.client.delete(delete_url, {}, format="json")
- self.assertEqual(delete_response.status_code, status.HTTP_403_FORBIDDEN)
-
+
# Restoring rightful user
_ = self.client.login(username="blop", password="blop")
-
+
###################################################
# Try to DELETE the initial revision (should 204 now that we added a revision)
###################################################
-
+
delete_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : self.test_renkan_guid, "revision_guid": self.test_initial_revision_guid})
delete_response = self.client.delete(delete_url, {}, format="json")
self.assertEqual(delete_response.status_code, status.HTTP_204_NO_CONTENT)
-
+
###################################################
# Try to DELETE with wrong renkan guid
###################################################
-
+
delete_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : "bad-renkan-guid", "revision_guid": self.test_initial_revision_guid})
delete_response = self.client.delete(delete_url, {}, format="json")
self.assertEqual(delete_response.status_code, status.HTTP_404_NOT_FOUND)
-
+
###################################################
# Try to DELETE with wrong revision guid
###################################################
-
+
delete_url = reverse("v1.0:revision_detail", kwargs={"renkan_guid" : self.test_renkan_guid, "revision_guid": "bad-revision-guid"})
delete_response = self.client.delete(delete_url, {}, format="json")
- self.assertEqual(delete_response.status_code, status.HTTP_404_NOT_FOUND)
\ No newline at end of file
+ self.assertEqual(delete_response.status_code, status.HTTP_404_NOT_FOUND)