Coverage for tests\system\v1\user_test.py: 100%

21 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-04-11 19:09 +0800

1from fastapi.testclient import TestClient 

2 

3from fss.common.config import configs 

4from fss.starter.server import app 

5 

6client = TestClient(app) 

7 

8 

9def test_user_register(): 

10 user_data = { 

11 "username": "example_user", 

12 "password": "example_password", 

13 "nickname": "Example Nickname", 

14 } 

15 response = client.post(f"{configs.api_version}/user/register", json=user_data) 

16 assert response.status_code == 200 

17 assert response.json()["code"] == 0 

18 

19 

20def test_user_login(): 

21 response = client.post( 

22 f"{configs.api_version}/user/login", 

23 data={"username": "example_user", "password": "example_password"}, 

24 ) 

25 assert response.status_code == 200 

26 assert response.json()["token_type"] == "bearer" 

27 

28 

29def test_user_me(): 

30 login_response = client.post( 

31 f"{configs.api_version}/user/login", 

32 data={"username": "example_user", "password": "example_password"}, 

33 ) 

34 assert login_response.status_code == 200 

35 access_token = login_response.json()["access_token"] 

36 headers = {"Authorization": f"Bearer {access_token}"} 

37 response = client.get(f"{configs.api_version}/user/me", headers=headers) 

38 assert response.status_code == 200 

39 assert response.json()["code"] == 0