@@ -37,9 +37,10 @@ async def setup(self, client: AsyncClient, db: AsyncIOMotorDatabase) -> None:
3737 pytest .fail (f"Auth setup: Login failed: { login_response .status_code } { login_response .text } " )
3838
3939 login_data = login_response .json ()
40- assert "access_token" in login_data
41- self .token = login_data ["access_token" ]
42- self .headers = {"Authorization" : f"Bearer { self .token } " }
40+ assert "csrf_token" in login_data
41+ assert "message" in login_data
42+ self .csrf_token = login_data ["csrf_token" ]
43+ self .headers = {"X-CSRF-Token" : self .csrf_token }
4344
4445 @pytest .mark .asyncio
4546 async def test_login_success (self ) -> None :
@@ -49,7 +50,10 @@ async def test_login_success(self) -> None:
4950 data = {"username" : self .test_username , "password" : self .test_password },
5051 )
5152 assert login_response .status_code == 200
52- assert "access_token" in login_response .json ()
53+ data = login_response .json ()
54+ assert "csrf_token" in data
55+ assert "message" in data
56+ assert data ["message" ] == "Login successful"
5357
5458 @pytest .mark .asyncio
5559 async def test_login_wrong_password (self ) -> None :
@@ -103,20 +107,22 @@ async def test_register_duplicate_user(self) -> None:
103107 @pytest .mark .asyncio
104108 async def test_verify_token_valid (self ) -> None :
105109 """Verify a valid token (using token from setup)."""
106- response = await self .client .get ("/api/v1/verify-token" , headers = self . headers )
110+ response = await self .client .get ("/api/v1/verify-token" )
107111 assert response .status_code == 200
108112 data = response .json ()
109- assert data == {"valid" : True , "username" : self .test_username }
113+ assert data ["valid" ] == True
114+ assert data ["username" ] == self .test_username
115+ assert "csrf_token" in data
110116
111117 @pytest .mark .asyncio
112118 async def test_verify_token_invalid_token (self ) -> None :
113119 """Verify an invalid/malformed token fails."""
114- invalid_headers = { "Authorization" : "Bearer invalidtoken" }
115- response = await self .client .get ("/api/v1/verify-token" , headers = invalid_headers )
120+ # Clear cookies to simulate invalid token
121+ response = await self .client .get ("/api/v1/verify-token" , cookies = {} )
116122 assert response .status_code == 401
117123
118124 @pytest .mark .asyncio
119125 async def test_verify_token_no_token (self ) -> None :
120126 """Verify request fails without token."""
121- response = await self .client .get ("/api/v1/verify-token" ) # No headers
127+ response = await self .client .get ("/api/v1/verify-token" , cookies = {} ) # No cookies
122128 assert response .status_code == 401
0 commit comments