a
This commit is contained in:
commit
40266cc6e5
191 changed files with 5022 additions and 0 deletions
68
Backend/tests/test_user.py
Normal file
68
Backend/tests/test_user.py
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
from io import BytesIO
|
||||
|
||||
|
||||
def test_user_registration_and_login(client):
|
||||
# Registration
|
||||
user_data = {
|
||||
"username": "testuser999",
|
||||
"email": "test@example.com",
|
||||
"password": "testpassword123",
|
||||
}
|
||||
response = client.post(
|
||||
"/api/user/register",
|
||||
data=user_data,
|
||||
files={"file": ("a.jpg", BytesIO(b"aaa"), "image/jpeg")},
|
||||
)
|
||||
|
||||
assert response.status_code == 201
|
||||
assert response.json()["username"] == "testuser999"
|
||||
|
||||
# Duplicate registration
|
||||
response = client.post(
|
||||
"/api/user/register",
|
||||
data=user_data,
|
||||
files={"file": ("a.jpg", BytesIO(b"aaa"), "image/jpeg")},
|
||||
)
|
||||
assert response.status_code == 400
|
||||
assert response.json()["detail"] == "Username already registered"
|
||||
|
||||
# Login
|
||||
login_data = {
|
||||
"username": "testuser999",
|
||||
"password": "testpassword123",
|
||||
}
|
||||
response = client.post("/api/user/login", json=login_data)
|
||||
assert response.status_code == 200
|
||||
assert "access_token" in response.json()
|
||||
|
||||
# Login with wrong password
|
||||
login_data["password"] = "wrongpassword"
|
||||
response = client.post("/api/user/login", json=login_data)
|
||||
assert response.status_code == 401
|
||||
assert response.json()["detail"] == "Invalid username or password"
|
||||
|
||||
# delete
|
||||
response = client.delete(f"/api/user/{user_data['username']}")
|
||||
assert response.status_code == 200
|
||||
|
||||
|
||||
def test_get_user_profile(client, authenticated_user):
|
||||
token = authenticated_user["token"]
|
||||
username = authenticated_user["user_data"]["username"]
|
||||
headers = {"Authorization": f"Bearer {token}"}
|
||||
|
||||
response = client.get(f"/api/user/profile/{username}", headers=headers)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.json()["username"] == username
|
||||
|
||||
|
||||
def test_user_delete(client, authenticated_user):
|
||||
token = authenticated_user["token"]
|
||||
username = authenticated_user["user_data"]["username"]
|
||||
headers = {"Authorization": f"Bearer {token}"}
|
||||
|
||||
response = client.delete(f"/api/user/{username}", headers=headers)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.json()["detail"] == "User deleted"
|
||||
Loading…
Add table
Add a link
Reference in a new issue