FastAPI-Project / tests /test_users.py
abdullah090809's picture
Added Test to test Login Route
bb4b25f
Raw History Blame
1.22 kB
import pytest
from app.config import setting
from app.schemas import user, token
from jose import jwt
from tests.database import client, session
@pytest.fixture
def create_test_user(client):
user_data={
"email": "abdullah@gmail.com",
"password": "abdullah1234"
}
response = client.post("/users/",json=user_data)
assert response.status_code == 201
new_user=response.json()
new_user["password"]="abdullah1234"
return new_user
def test_create_user(client):
response = client.post("/users/", json={"email": "abdullah@gmail.com", "password": "abdullah1234"})
new_user = user.UserResponse(**response.json())
assert response.status_code == 201
assert new_user.email == "abdullah@gmail.com"
def test_login_user(client,create_test_user):
response = client.post("/login", data={"username": create_test_user["email"], "password": create_test_user["password"]})
login_response=token.Token(**response.json())
payload = jwt.decode(login_response.access_token, setting.secret_key, algorithms=[setting.algorithm])
id=payload.get("id")
assert id == create_test_user["id"]
assert login_response.token_type == "bearer"
assert response.status_code==200