31 lines
979 B
Python
31 lines
979 B
Python
def _auth_headers(tokens: dict) -> dict:
|
|
return {"Authorization": f"Bearer {tokens['access_token']}"}
|
|
|
|
|
|
def test_users_me(client, admin_tokens):
|
|
response = client.get("/api/v1/users/me", headers=_auth_headers(admin_tokens))
|
|
assert response.status_code == 200
|
|
assert response.json()["username"] == "admin"
|
|
|
|
|
|
def test_users_create_and_list(client, admin_tokens):
|
|
create_payload = {
|
|
"email": "user1@example.com",
|
|
"username": "user1",
|
|
"password": "pass123",
|
|
"full_name": "User One",
|
|
"role_id": 2,
|
|
}
|
|
created = client.put(
|
|
"/api/v1/users/",
|
|
json=create_payload,
|
|
headers=_auth_headers(admin_tokens),
|
|
)
|
|
assert created.status_code == 200
|
|
|
|
listed = client.get("/api/v1/users/", headers=_auth_headers(admin_tokens))
|
|
assert listed.status_code == 200
|
|
usernames = [row["username"] for row in listed.json()["result"]]
|
|
assert "admin" in usernames
|
|
assert "user1" in usernames
|