pythonasyncioapiasyncfastapiframeworkjsonjson-schemaopenapiopenapi3pydanticpython-typespython3redocreststarletteswaggerswagger-uiuvicornweb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
775 B
27 lines
775 B
from fastapi.testclient import TestClient
|
|
|
|
from app.core.config import settings
|
|
|
|
|
|
def test_get_access_token(client: TestClient) -> None:
|
|
login_data = {
|
|
"username": settings.FIRST_SUPERUSER,
|
|
"password": settings.FIRST_SUPERUSER_PASSWORD,
|
|
}
|
|
r = client.post(f"{settings.API_V1_STR}/login/access-token", data=login_data)
|
|
tokens = r.json()
|
|
assert r.status_code == 200
|
|
assert "access_token" in tokens
|
|
assert tokens["access_token"]
|
|
|
|
|
|
def test_use_access_token(
|
|
client: TestClient, superuser_token_headers: dict[str, str]
|
|
) -> None:
|
|
r = client.post(
|
|
f"{settings.API_V1_STR}/login/test-token",
|
|
headers=superuser_token_headers,
|
|
)
|
|
result = r.json()
|
|
assert r.status_code == 200
|
|
assert "email" in result
|
|
|