File size: 1,224 Bytes
bb4b25f
 
 
 
afc114b
 
bb4b25f
 
 
 
 
 
 
 
 
 
 
afc114b
 
 
 
 
d454ab0
 
bb4b25f
 
 
 
 
 
 
d454ab0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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