1
1
from typing import Dict
2
2
3
- import requests
3
+ from fastapi . testclient import TestClient
4
4
from sqlalchemy .orm import Session
5
5
6
6
from app import crud
7
7
from app .core .config import settings
8
8
from app .schemas .user import UserCreate
9
- from app .tests .utils .utils import get_server_api , random_email , random_lower_string
9
+ from app .tests .utils .utils import random_email , random_lower_string
10
10
11
11
12
- def test_get_users_superuser_me (superuser_token_headers : Dict [str , str ]) -> None :
13
- server_api = get_server_api ()
14
- r = requests .get (
15
- f"{ server_api } { settings .API_V1_STR } /users/me" , headers = superuser_token_headers
16
- )
12
+ def test_get_users_superuser_me (
13
+ client : TestClient , superuser_token_headers : Dict [str , str ]
14
+ ) -> None :
15
+ r = client .get (f"{ settings .API_V1_STR } /users/me" , headers = superuser_token_headers )
17
16
current_user = r .json ()
18
17
assert current_user
19
18
assert current_user ["is_active" ] is True
20
19
assert current_user ["is_superuser" ]
21
20
assert current_user ["email" ] == settings .FIRST_SUPERUSER
22
21
23
22
24
- def test_get_users_normal_user_me (normal_user_token_headers : Dict [str , str ]) -> None :
25
- server_api = get_server_api ()
26
- r = requests .get (
27
- f"{ server_api } { settings .API_V1_STR } /users/me" , headers = normal_user_token_headers
28
- )
23
+ def test_get_users_normal_user_me (
24
+ client : TestClient , normal_user_token_headers : Dict [str , str ]
25
+ ) -> None :
26
+ r = client .get (f"{ settings .API_V1_STR } /users/me" , headers = normal_user_token_headers )
29
27
current_user = r .json ()
30
28
assert current_user
31
29
assert current_user ["is_active" ] is True
32
30
assert current_user ["is_superuser" ] is False
33
31
assert current_user ["email" ] == settings .EMAIL_TEST_USER
34
32
35
33
36
- def test_create_user_new_email (superuser_token_headers : dict , db : Session ) -> None :
37
- server_api = get_server_api ()
34
+ def test_create_user_new_email (
35
+ client : TestClient , superuser_token_headers : dict , db : Session
36
+ ) -> None :
38
37
username = random_email ()
39
38
password = random_lower_string ()
40
39
data = {"email" : username , "password" : password }
41
- r = requests .post (
42
- f"{ server_api } { settings .API_V1_STR } /users/" ,
43
- headers = superuser_token_headers ,
44
- json = data ,
40
+ r = client .post (
41
+ f"{ settings .API_V1_STR } /users/" , headers = superuser_token_headers , json = data ,
45
42
)
46
43
assert 200 <= r .status_code < 300
47
44
created_user = r .json ()
@@ -50,16 +47,16 @@ def test_create_user_new_email(superuser_token_headers: dict, db: Session) -> No
50
47
assert user .email == created_user ["email" ]
51
48
52
49
53
- def test_get_existing_user (superuser_token_headers : dict , db : Session ) -> None :
54
- server_api = get_server_api ()
50
+ def test_get_existing_user (
51
+ client : TestClient , superuser_token_headers : dict , db : Session
52
+ ) -> None :
55
53
username = random_email ()
56
54
password = random_lower_string ()
57
55
user_in = UserCreate (email = username , password = password )
58
56
user = crud .user .create (db , obj_in = user_in )
59
57
user_id = user .id
60
- r = requests .get (
61
- f"{ server_api } { settings .API_V1_STR } /users/{ user_id } " ,
62
- headers = superuser_token_headers ,
58
+ r = client .get (
59
+ f"{ settings .API_V1_STR } /users/{ user_id } " , headers = superuser_token_headers ,
63
60
)
64
61
assert 200 <= r .status_code < 300
65
62
api_user = r .json ()
@@ -69,40 +66,37 @@ def test_get_existing_user(superuser_token_headers: dict, db: Session) -> None:
69
66
70
67
71
68
def test_create_user_existing_username (
72
- superuser_token_headers : dict , db : Session
69
+ client : TestClient , superuser_token_headers : dict , db : Session
73
70
) -> None :
74
- server_api = get_server_api ()
75
71
username = random_email ()
76
72
# username = email
77
73
password = random_lower_string ()
78
74
user_in = UserCreate (email = username , password = password )
79
75
crud .user .create (db , obj_in = user_in )
80
76
data = {"email" : username , "password" : password }
81
- r = requests .post (
82
- f"{ server_api } { settings .API_V1_STR } /users/" ,
83
- headers = superuser_token_headers ,
84
- json = data ,
77
+ r = client .post (
78
+ f"{ settings .API_V1_STR } /users/" , headers = superuser_token_headers , json = data ,
85
79
)
86
80
created_user = r .json ()
87
81
assert r .status_code == 400
88
82
assert "_id" not in created_user
89
83
90
84
91
- def test_create_user_by_normal_user (normal_user_token_headers : Dict [str , str ]) -> None :
92
- server_api = get_server_api ()
85
+ def test_create_user_by_normal_user (
86
+ client : TestClient , normal_user_token_headers : Dict [str , str ]
87
+ ) -> None :
93
88
username = random_email ()
94
89
password = random_lower_string ()
95
90
data = {"email" : username , "password" : password }
96
- r = requests .post (
97
- f"{ server_api } { settings .API_V1_STR } /users/" ,
98
- headers = normal_user_token_headers ,
99
- json = data ,
91
+ r = client .post (
92
+ f"{ settings .API_V1_STR } /users/" , headers = normal_user_token_headers , json = data ,
100
93
)
101
94
assert r .status_code == 400
102
95
103
96
104
- def test_retrieve_users (superuser_token_headers : dict , db : Session ) -> None :
105
- server_api = get_server_api ()
97
+ def test_retrieve_users (
98
+ client : TestClient , superuser_token_headers : dict , db : Session
99
+ ) -> None :
106
100
username = random_email ()
107
101
password = random_lower_string ()
108
102
user_in = UserCreate (email = username , password = password )
@@ -113,9 +107,7 @@ def test_retrieve_users(superuser_token_headers: dict, db: Session) -> None:
113
107
user_in2 = UserCreate (email = username2 , password = password2 )
114
108
crud .user .create (db , obj_in = user_in2 )
115
109
116
- r = requests .get (
117
- f"{ server_api } { settings .API_V1_STR } /users/" , headers = superuser_token_headers
118
- )
110
+ r = client .get (f"{ settings .API_V1_STR } /users/" , headers = superuser_token_headers )
119
111
all_users = r .json ()
120
112
121
113
assert len (all_users ) > 1
0 commit comments