Skip to content

Commit 8b732db

Browse files
committed
- test: add test for check session / logout
1 parent d43f2da commit 8b732db

File tree

1 file changed

+34
-6
lines changed

1 file changed

+34
-6
lines changed

api/authentication/tests.py

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
from django.urls import reverse
22
from rest_framework.test import APITestCase
33
from rest_framework import status
4-
from api.fixtures import run_fixtures
54

65

76
class AuthenticationTest(APITestCase):
87
base_url_register = reverse("api:register-list")
98
base_url_login = reverse("api:login-list")
9+
base_url_logout = reverse("api:logout-list")
10+
base_url_check_session = reverse("api:check-session-list")
1011

1112
data_register = {
1213
"username": "test",
@@ -26,16 +27,43 @@ def test_register(self):
2627
self.assertEqual(response_data['success'], True)
2728

2829
def test_login(self):
29-
# Running fixtures #
30-
run_fixtures()
31-
3230
response = self.client.post(f"{self.base_url_login}", data=self.data_login)
3331
self.assertEqual(response.status_code, status.HTTP_200_OK)
3432
response_data = response.json()
3533
self.assertEqual(response_data['success'], True)
3634

3735
def test_logout(self):
38-
pass
36+
# Login to retrieve token
37+
38+
response = self.client.post(f"{self.base_url_login}", data=self.data_login)
39+
response_data = response.json()
40+
41+
token = response_data['token']
42+
43+
self.client.credentials(HTTP_AUTHORIZATION=token)
44+
45+
# Logout
46+
47+
response = self.client.post(f"{self.base_url_logout}", data={
48+
"token": token
49+
})
50+
self.assertEqual(response.status_code, status.HTTP_200_OK)
51+
response_data = response.json()
52+
self.assertEqual(response_data['success'], True)
3953

4054
def test_check_session(self):
41-
pass
55+
# Login to retrieve token
56+
57+
response = self.client.post(f"{self.base_url_login}", data=self.data_login)
58+
response_data = response.json()
59+
60+
token = response_data['token']
61+
62+
self.client.credentials(HTTP_AUTHORIZATION=token)
63+
64+
# Check session
65+
response = self.client.post(f"{self.base_url_check_session}")
66+
self.assertEqual(response.status_code, status.HTTP_200_OK)
67+
68+
response_data = response.json()
69+
self.assertEqual(response_data['success'], True)

0 commit comments

Comments
 (0)