| author | ymh <ymh.work@gmail.com> |
| Mon, 20 Jun 2016 14:44:40 +0200 | |
| changeset 615 | f3875fbe206a |
| parent 613 | e00a24b711a0 |
| permissions | -rw-r--r-- |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
1 |
from django.core.urlresolvers import reverse |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
2 |
from rest_framework.test import APITestCase |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
3 |
from rest_framework import status |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
4 |
from renkanmanager.models import Renkan, Workspace |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
5 |
from django.contrib.auth import get_user_model |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
6 |
import json |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
7 |
|
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
8 |
User = get_user_model() |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
9 |
|
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
10 |
class WorkspaceTests(APITestCase): |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
11 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
12 |
def setUp(self): |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
13 |
User.objects.create_superuser("blop", "blop@blop.com", "blop") |
|
593
2ff785d7026c
corrected tests and serializer so they can support custom user model, added a readme (to be expanded) with configuration information for the field renkan api will use to render user information
durandn
parents:
590
diff
changeset
|
14 |
self.user = User.objects.get_by_natural_key("blop") |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
15 |
_ = self.client.login(username="blop", password="blop") |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
16 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
17 |
def test_post_workspace(self): |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
18 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
19 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
20 |
# POSTing test Workspace |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
21 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
22 |
|
| 590 | 23 |
post_url = reverse("v1.0:workspace_list") |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
24 |
test_title = "bleh_title" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
25 |
data = {"title": test_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
26 |
post_response = self.client.post(post_url, data, format="json") |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
27 |
post_response_dict = json.loads(post_response.content.decode()) |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
28 |
self.assertEqual(post_response.status_code, status.HTTP_201_CREATED) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
29 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
30 |
# Checking data |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
31 |
# in the response |
|
593
2ff785d7026c
corrected tests and serializer so they can support custom user model, added a readme (to be expanded) with configuration information for the field renkan api will use to render user information
durandn
parents:
590
diff
changeset
|
32 |
self.assertEqual(post_response_dict.get("workspace_created_by"), getattr(self.user, User.USERNAME_FIELD)) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
33 |
self.assertEqual(post_response_dict.get("title"), test_title) |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
34 |
# in the database |
|
589
0ae11aa255a3
Moved python2/django into a django2 folder for consistency + clarified serializers fields name
durandn
parents:
588
diff
changeset
|
35 |
created_workspace_guid = post_response_dict.get("id") |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
36 |
created_workspace = Workspace.objects.get(workspace_guid=created_workspace_guid) |
|
593
2ff785d7026c
corrected tests and serializer so they can support custom user model, added a readme (to be expanded) with configuration information for the field renkan api will use to render user information
durandn
parents:
590
diff
changeset
|
37 |
self.assertEqual(getattr(created_workspace.creator, User.USERNAME_FIELD), getattr(self.user, User.USERNAME_FIELD)) |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
38 |
self.assertEqual(created_workspace.title, test_title) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
39 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
40 |
# Checking permission |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
41 |
self.assertTrue(self.user.has_perm("view_workspace", created_workspace)) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
42 |
|
|
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
43 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
44 |
def test_get_workspace_list(self): |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
45 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
46 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
47 |
# POSTing new Workspaces |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
48 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
49 |
|
| 590 | 50 |
post_url = reverse("v1.0:workspace_list") |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
51 |
first_test_title = "bleh_title_2" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
52 |
second_test_title = "bleh_title_3" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
53 |
first_data = {"title": first_test_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
54 |
second_data = {"title": second_test_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
55 |
self.client.post(post_url, first_data, format="json") |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
56 |
self.client.post(post_url, second_data, format="json") |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
57 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
58 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
59 |
# GETting Workspaces |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
60 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
61 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
62 |
get_url = post_url |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
63 |
get_response = self.client.get(get_url, format=json) |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
64 |
self.assertEqual(get_response.status_code, status.HTTP_200_OK) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
65 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
66 |
# Check data |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
67 |
get_response_content = json.loads(get_response.content.decode()) # Should be a list |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
68 |
self.assertTrue(isinstance(get_response_content, list)) |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
69 |
self.assertEqual(len(get_response_content), 2) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
70 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
71 |
def test_get_workspace(self): |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
72 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
73 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
74 |
# POSTing test Workspace |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
75 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
76 |
|
| 590 | 77 |
workspace_post_url = reverse("v1.0:workspace_list") |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
78 |
test_title = "bleh_title" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
79 |
data = {"title": test_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
80 |
post_response = self.client.post(workspace_post_url, data, format="json") |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
81 |
post_response_dict = json.loads(post_response.content.decode()) |
|
589
0ae11aa255a3
Moved python2/django into a django2 folder for consistency + clarified serializers fields name
durandn
parents:
588
diff
changeset
|
82 |
test_workspace_guid = post_response_dict.get("id") |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
83 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
84 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
85 |
# POSTing new Renkans into test Workspace |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
86 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
87 |
|
| 590 | 88 |
renkan_post_url = reverse("v1.0:renkan_list_workspace", kwargs={"workspace_guid": test_workspace_guid}) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
89 |
first_test_title = "bleh_title" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
90 |
second_test_title = "bleh_title_2" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
91 |
first_data = {"title": first_test_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
92 |
second_data = {"title": second_test_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
93 |
self.client.post(renkan_post_url, first_data, format="json") |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
94 |
self.client.post(renkan_post_url, second_data, format="json") |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
95 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
96 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
97 |
# GETting test Workspace |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
98 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
99 |
|
| 590 | 100 |
get_url = reverse("v1.0:workspace_detail", kwargs={"workspace_guid": test_workspace_guid}) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
101 |
get_response = self.client.get(get_url, format="json") |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
102 |
self.assertEqual(get_response.status_code, status.HTTP_200_OK) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
103 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
104 |
# Checking GET data |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
105 |
get_response_dict = json.loads(get_response.content.decode()) |
|
589
0ae11aa255a3
Moved python2/django into a django2 folder for consistency + clarified serializers fields name
durandn
parents:
588
diff
changeset
|
106 |
self.assertEqual(test_workspace_guid, get_response_dict.get("id", "")) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
107 |
self.assertEqual(test_title, get_response_dict.get("title", "")) |
|
593
2ff785d7026c
corrected tests and serializer so they can support custom user model, added a readme (to be expanded) with configuration information for the field renkan api will use to render user information
durandn
parents:
590
diff
changeset
|
108 |
self.assertEqual(getattr(self.user, User.USERNAME_FIELD), get_response_dict.get("workspace_created_by", "")) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
109 |
self.assertEqual(2, get_response_dict.get("renkan_count")) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
110 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
111 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
112 |
# GETting wrong workspace_guid |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
113 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
114 |
|
| 590 | 115 |
get_url = reverse("v1.0:workspace_detail", kwargs={"workspace_guid": "bleh-bad-workspace-id"}) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
116 |
get_response = self.client.get(get_url, format="json") |
|
615
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
117 |
self.assertEqual(get_response.status_code, status.HTTP_400_BAD_REQUEST) |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
118 |
|
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
119 |
################################################### |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
120 |
# GETting wrong workspace_guid |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
121 |
################################################### |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
122 |
|
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
123 |
get_url = reverse("v1.0:workspace_detail", kwargs={"workspace_guid": "00000000-0000-0000-0000-000000000000"}) |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
124 |
get_response = self.client.get(get_url, format="json") |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
125 |
self.assertEqual(get_response.status_code, status.HTTP_404_NOT_FOUND) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
126 |
|
|
615
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
127 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
128 |
def test_update_workspace(self): |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
129 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
130 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
131 |
# POSTing test Workspace |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
132 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
133 |
|
| 590 | 134 |
workspace_post_url = reverse("v1.0:workspace_list") |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
135 |
test_title = "bleh_title" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
136 |
data = {"title": test_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
137 |
post_response = self.client.post(workspace_post_url, data, format="json") |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
138 |
post_response_dict = json.loads(post_response.content.decode()) |
|
589
0ae11aa255a3
Moved python2/django into a django2 folder for consistency + clarified serializers fields name
durandn
parents:
588
diff
changeset
|
139 |
test_workspace_guid = post_response_dict.get("id") |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
140 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
141 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
142 |
# PUTting into test Workspace |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
143 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
144 |
|
| 590 | 145 |
put_url = reverse("v1.0:workspace_detail", kwargs={"workspace_guid": test_workspace_guid}) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
146 |
edited_title = "bleh_title_2" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
147 |
put_data = {"title": edited_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
148 |
put_response = self.client.put(put_url, put_data, format="json") |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
149 |
put_response_dict = json.loads(put_response.content.decode()) |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
150 |
self.assertEqual(put_response.status_code, status.HTTP_200_OK) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
151 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
152 |
# Checking data |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
153 |
# in the response |
|
593
2ff785d7026c
corrected tests and serializer so they can support custom user model, added a readme (to be expanded) with configuration information for the field renkan api will use to render user information
durandn
parents:
590
diff
changeset
|
154 |
self.assertEqual(put_response_dict.get("workspace_created_by"), getattr(self.user, User.USERNAME_FIELD)) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
155 |
self.assertEqual(put_response_dict.get("title"), edited_title) |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
156 |
self.assertEqual(put_response_dict.get("renkan_count"), 0) |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
157 |
# in the database |
|
589
0ae11aa255a3
Moved python2/django into a django2 folder for consistency + clarified serializers fields name
durandn
parents:
588
diff
changeset
|
158 |
edited_workspace_guid = put_response_dict.get("id") |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
159 |
edited_workspace = Workspace.objects.get(workspace_guid=edited_workspace_guid) |
|
593
2ff785d7026c
corrected tests and serializer so they can support custom user model, added a readme (to be expanded) with configuration information for the field renkan api will use to render user information
durandn
parents:
590
diff
changeset
|
160 |
self.assertEqual(getattr(edited_workspace.creator, User.USERNAME_FIELD), getattr(self.user, User.USERNAME_FIELD)) |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
161 |
self.assertEqual(edited_workspace.title, edited_title) |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
162 |
self.assertEqual(edited_workspace.renkan_count, 0) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
163 |
|
|
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
164 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
165 |
def test_delete_workspace(self): |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
166 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
167 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
168 |
# POSTing test Workspace |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
169 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
170 |
|
| 590 | 171 |
workspace_post_url = reverse("v1.0:workspace_list") |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
172 |
test_title = "bleh_title" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
173 |
data = {"title": test_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
174 |
post_response = self.client.post(workspace_post_url, data, format="json") |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
175 |
post_response_dict = json.loads(post_response.content.decode()) |
|
589
0ae11aa255a3
Moved python2/django into a django2 folder for consistency + clarified serializers fields name
durandn
parents:
588
diff
changeset
|
176 |
to_delete_workspace_guid = post_response_dict.get("id", "") |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
177 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
178 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
179 |
# POSTing new Renkan into test Workspace |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
180 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
181 |
|
| 590 | 182 |
renkan_post_url = reverse("v1.0:renkan_list_workspace", kwargs={"workspace_guid": to_delete_workspace_guid}) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
183 |
renkan_test_title = "bleh_title" |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
184 |
renkan_test_data = {"title": renkan_test_title} |
|
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
185 |
post_response = self.client.post(renkan_post_url, renkan_test_data, format="json") |
|
589
0ae11aa255a3
Moved python2/django into a django2 folder for consistency + clarified serializers fields name
durandn
parents:
588
diff
changeset
|
186 |
to_delete_renkan_guid = json.loads(post_response.content.decode()).get("id", "") |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
187 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
188 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
189 |
# Try to DELETE test Workspace (should fail, it still contains a Renkan) |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
190 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
191 |
|
| 590 | 192 |
delete_url = reverse("v1.0:workspace_detail", kwargs={"workspace_guid":to_delete_workspace_guid}) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
193 |
delete_response = self.client.delete(delete_url, {}, format="json") |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
194 |
self.assertEqual(delete_response.status_code, status.HTTP_400_BAD_REQUEST) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
195 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
196 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
197 |
# DELETE posted Renkan |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
198 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
199 |
|
| 590 | 200 |
delete_renkan_url = reverse("v1.0:renkan_detail", kwargs={"renkan_guid":to_delete_renkan_guid}) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
201 |
delete_renkan_response = self.client.delete(delete_renkan_url, format="json") |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
202 |
self.assertEqual(delete_renkan_response.status_code, status.HTTP_204_NO_CONTENT) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
203 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
204 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
205 |
# DELETE test Workspace |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
206 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
207 |
|
| 590 | 208 |
delete_url = reverse("v1.0:workspace_detail", kwargs={"workspace_guid":to_delete_workspace_guid}) |
|
588
95536fa18d0d
Minor adjustements to properly interact with Renkan client
durandn
parents:
587
diff
changeset
|
209 |
delete_response = self.client.delete(delete_url, {}, format="json") |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
210 |
self.assertEqual(delete_response.status_code, status.HTTP_204_NO_CONTENT) |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
211 |
|
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
212 |
################################################### |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
213 |
# Try to DELETE workspace with wrong guid |
|
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
214 |
################################################### |
|
613
e00a24b711a0
make renkanmanager test run locally
ymh <ymh.work@gmail.com>
parents:
593
diff
changeset
|
215 |
|
| 590 | 216 |
delete_url = reverse("v1.0:workspace_detail", kwargs={"workspace_guid": "bad-workspace-guid"}) |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
217 |
delete_response = self.client.delete(delete_url, format=json) |
|
615
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
218 |
self.assertEqual(delete_response.status_code, status.HTTP_400_BAD_REQUEST) |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
219 |
|
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
220 |
|
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
221 |
################################################### |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
222 |
# Try to DELETE workspace with wrong guid |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
223 |
################################################### |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
224 |
|
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
225 |
delete_url = reverse("v1.0:workspace_detail", kwargs={"workspace_guid": "00000000-0000-0000-0000-000000000000"}) |
|
f3875fbe206a
redo foreign key for renkanmanager, optimize property access, correct unit tests
ymh <ymh.work@gmail.com>
parents:
613
diff
changeset
|
226 |
delete_response = self.client.delete(delete_url, format=json) |
|
587
fb0041aa74d3
transfer work on renkanmanager into a renkan/server/python2 folder: reworked models, implemented simple API basic permissions, wrote tests
durandn
parents:
diff
changeset
|
227 |
self.assertEqual(delete_response.status_code, status.HTTP_404_NOT_FOUND) |