11from django .urls import reverse
22from rest_framework .test import APITestCase
33from rest_framework import status
4- from api .fixtures import run_fixtures
54
65
76class 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