|
18 | 18 | class ProjectsEndpointTests(APIEndpointMixin):
|
19 | 19 |
|
20 | 20 | def test_projects_list(self):
|
| 21 | + url = reverse("projects-list") |
| 22 | + |
| 23 | + self.client.logout() |
| 24 | + response = self.client.get(url) |
| 25 | + self.assertEqual(response.status_code, 401) |
| 26 | + |
21 | 27 | self.client.credentials(HTTP_AUTHORIZATION=f'Token {self.token.key}')
|
22 |
| - response = self.client.get( |
23 |
| - reverse('projects-list'), |
24 |
| - ) |
| 28 | + response = self.client.get(url) |
25 | 29 | self.assertEqual(response.status_code, 200)
|
26 | 30 | self.assertDictEqual(
|
27 | 31 | response.json(),
|
@@ -96,21 +100,26 @@ def test_projects_list_filter_miss(self):
|
96 | 100 | )
|
97 | 101 |
|
98 | 102 | def test_own_projects_detail(self):
|
99 |
| - self.client.credentials(HTTP_AUTHORIZATION=f'Token {self.token.key}') |
100 |
| - response = self.client.get( |
101 |
| - reverse( |
102 |
| - 'projects-detail', |
103 |
| - kwargs={ |
104 |
| - 'project_slug': self.project.slug, |
105 |
| - }), |
106 |
| - { |
107 |
| - 'expand': ( |
108 |
| - 'active_versions,' |
109 |
| - 'active_versions.last_build,' |
110 |
| - 'active_versions.last_build.config' |
111 |
| - ), |
| 103 | + url = reverse( |
| 104 | + "projects-detail", |
| 105 | + kwargs={ |
| 106 | + "project_slug": self.project.slug, |
112 | 107 | },
|
113 | 108 | )
|
| 109 | + data = { |
| 110 | + "expand": ( |
| 111 | + "active_versions," |
| 112 | + "active_versions.last_build," |
| 113 | + "active_versions.last_build.config" |
| 114 | + ), |
| 115 | + } |
| 116 | + |
| 117 | + self.client.logout() |
| 118 | + response = self.client.get(url, data) |
| 119 | + self.assertEqual(response.status_code, 401) |
| 120 | + |
| 121 | + self.client.credentials(HTTP_AUTHORIZATION=f"Token {self.token.key}") |
| 122 | + response = self.client.get(url, data) |
114 | 123 | self.assertEqual(response.status_code, 200)
|
115 | 124 |
|
116 | 125 | self.assertDictEqual(
|
@@ -173,15 +182,20 @@ def test_own_projects_detail_privacy_levels_enabled(self):
|
173 | 182 |
|
174 | 183 | def test_projects_superproject(self):
|
175 | 184 | self._create_subproject()
|
176 |
| - self.client.credentials(HTTP_AUTHORIZATION=f'Token {self.token.key}') |
177 |
| - response = self.client.get( |
178 |
| - reverse( |
179 |
| - 'projects-superproject', |
180 |
| - kwargs={ |
181 |
| - 'project_slug': self.subproject.slug, |
182 |
| - }, |
183 |
| - ), |
| 185 | + |
| 186 | + url = reverse( |
| 187 | + "projects-superproject", |
| 188 | + kwargs={ |
| 189 | + "project_slug": self.subproject.slug, |
| 190 | + }, |
184 | 191 | )
|
| 192 | + |
| 193 | + self.client.logout() |
| 194 | + response = self.client.get(url) |
| 195 | + self.assertEqual(response.status_code, 401) |
| 196 | + |
| 197 | + self.client.credentials(HTTP_AUTHORIZATION=f"Token {self.token.key}") |
| 198 | + response = self.client.get(url) |
185 | 199 | self.assertEqual(response.status_code, 200)
|
186 | 200 |
|
187 | 201 | self.assertDictEqual(
|
@@ -247,9 +261,14 @@ def test_import_project(self):
|
247 | 261 | "programming_language": "py",
|
248 | 262 | "tags": ["test tag", "template tag"],
|
249 | 263 | }
|
| 264 | + url = reverse("projects-list") |
| 265 | + |
| 266 | + self.client.logout() |
| 267 | + response = self.client.post(url, data) |
| 268 | + self.assertEqual(response.status_code, 401) |
250 | 269 |
|
251 | 270 | self.client.credentials(HTTP_AUTHORIZATION=f'Token {self.token.key}')
|
252 |
| - response = self.client.post(reverse('projects-list'), data) |
| 271 | + response = self.client.post(url, data) |
253 | 272 | self.assertEqual(response.status_code, 201)
|
254 | 273 |
|
255 | 274 | query = Project.objects.filter(slug='test-project')
|
@@ -381,17 +400,19 @@ def test_update_project(self):
|
381 | 400 | "single_version": True,
|
382 | 401 | "external_builds_enabled": True,
|
383 | 402 | }
|
| 403 | + url = reverse( |
| 404 | + "projects-detail", |
| 405 | + kwargs={ |
| 406 | + "project_slug": self.project.slug, |
| 407 | + }, |
| 408 | + ) |
| 409 | + |
| 410 | + self.client.logout() |
| 411 | + response = self.client.put(url, data) |
| 412 | + self.assertEqual(response.status_code, 401) |
384 | 413 |
|
385 | 414 | self.client.credentials(HTTP_AUTHORIZATION=f'Token {self.token.key}')
|
386 |
| - response = self.client.put( |
387 |
| - reverse( |
388 |
| - 'projects-detail', |
389 |
| - kwargs={ |
390 |
| - 'project_slug': self.project.slug, |
391 |
| - }, |
392 |
| - ), |
393 |
| - data, |
394 |
| - ) |
| 415 | + response = self.client.put(url, data) |
395 | 416 | self.assertEqual(response.status_code, 204)
|
396 | 417 |
|
397 | 418 | self.project.refresh_from_db()
|
@@ -422,16 +443,19 @@ def test_partial_update_project(self):
|
422 | 443 | "tags": ["partial tags", "updated"],
|
423 | 444 | }
|
424 | 445 |
|
425 |
| - self.client.credentials(HTTP_AUTHORIZATION=f'Token {self.token.key}') |
426 |
| - response = self.client.patch( |
427 |
| - reverse( |
428 |
| - 'projects-detail', |
429 |
| - kwargs={ |
430 |
| - 'project_slug': self.project.slug, |
431 |
| - }, |
432 |
| - ), |
433 |
| - data, |
| 446 | + url = reverse( |
| 447 | + "projects-detail", |
| 448 | + kwargs={ |
| 449 | + "project_slug": self.project.slug, |
| 450 | + }, |
434 | 451 | )
|
| 452 | + |
| 453 | + self.client.logout() |
| 454 | + response = self.client.patch(url, data) |
| 455 | + self.assertEqual(response.status_code, 401) |
| 456 | + |
| 457 | + self.client.credentials(HTTP_AUTHORIZATION=f"Token {self.token.key}") |
| 458 | + response = self.client.patch(url, data) |
435 | 459 | self.assertEqual(response.status_code, 204)
|
436 | 460 |
|
437 | 461 | self.project.refresh_from_db()
|
|
0 commit comments