Files
chat/tests/test_basic.py
Andrew K. Choi 0d29b34e70
All checks were successful
continuous-integration/drone/push Build is passing
pipeline fix
2025-09-25 12:11:00 +09:00

72 lines
1.9 KiB
Python

"""
Basic Unit Tests for Women's Safety App Backend
"""
import pytest
from fastapi.testclient import TestClient
def test_basic_health_check():
"""Базовый тест работоспособности"""
# Простая проверка что модули импортируются
import fastapi
import redis
import sqlalchemy
assert True # Если дошли сюда, то импорты работают
def test_basic_functionality():
"""Тест базовой функциональности"""
from fastapi import FastAPI
app = FastAPI()
@app.get("/health")
def health():
return {"status": "ok"}
client = TestClient(app)
response = client.get("/health")
assert response.status_code == 200
assert response.json() == {"status": "ok"}
def test_environment_variables():
"""Тест переменных окружения"""
import os
# Проверяем что переменные окружения доступны
database_url = os.getenv("DATABASE_URL")
redis_url = os.getenv("REDIS_URL")
jwt_secret = os.getenv("JWT_SECRET_KEY")
assert database_url is not None
assert redis_url is not None
assert jwt_secret is not None
def test_pydantic_models():
"""Тест Pydantic моделей"""
from pydantic import BaseModel
class TestModel(BaseModel):
name: str
age: int
model = TestModel(name="Test", age=25)
assert model.name == "Test"
assert model.age == 25
def test_password_hashing():
"""Тест хеширования паролей"""
from passlib.context import CryptContext
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
password = "testpassword123"
hashed = pwd_context.hash(password)
assert pwd_context.verify(password, hashed)
assert not pwd_context.verify("wrongpassword", hashed)