This commit is contained in:
암냥 2025-09-13 16:18:28 +09:00
commit 40266cc6e5
191 changed files with 5022 additions and 0 deletions

81
Backend/tests/conftest.py Normal file
View file

@ -0,0 +1,81 @@
import pytest
from fastapi.testclient import TestClient
import sys
import os
# Add Backend to path
sys.path.append(os.path.join(os.path.dirname(__file__), ".."))
from Backend import app
@pytest.fixture(scope="module")
def client():
with TestClient(app) as c:
yield c
@pytest.fixture
def authenticated_user(client):
user_data = {
"username": "testuser_authenticated",
"email": "test_auth@example.com",
"password": "testpassword123",
}
# Register user
response = client.post("/api/user/register", data=user_data)
# Login to get token
login_data = {"username": user_data["username"], "password": user_data["password"]}
response = client.post("/api/user/login", json=login_data)
token = response.json()["access_token"]
yield {"token": token, "user_data": user_data}
# Cleanup: delete user via API
headers = {"Authorization": f"Bearer {token}"}
client.delete(f"/api/user/{user_data['username']}", headers=headers)
@pytest.fixture
def two_authenticated_users(client):
user1_data = {
"username": "testuser1",
"email": "test1@example.com",
"password": "testpassword123",
}
user2_data = {
"username": "testuser2",
"email": "test2@example.com",
"password": "testpassword123",
}
# Register users
client.post("/api/user/register", data=user1_data)
client.post("/api/user/register", data=user2_data)
# Login users
login1_data = {
"username": user1_data["username"],
"password": user1_data["password"],
}
response1 = client.post("/api/user/login", json=login1_data)
token1 = response1.json()["access_token"]
login2_data = {
"username": user2_data["username"],
"password": user2_data["password"],
}
response2 = client.post("/api/user/login", json=login2_data)
token2 = response2.json()["access_token"]
yield {
"user1": {"token": token1, "username": user1_data["username"]},
"user2": {"token": token2, "username": user2_data["username"]},
}
# Cleanup
headers1 = {"Authorization": f"Bearer {token1}"}
headers2 = {"Authorization": f"Bearer {token2}"}
client.delete(f"/api/user/{user1_data['username']}", headers=headers1)
client.delete(f"/api/user/{user2_data['username']}", headers=headers2)