josephrw's picture
Upload tests/test_db.py with huggingface_hub
856334f verified
Raw
History Blame Contribute Delete
1.71 kB
import pytest
from sqlalchemy import select
from app.db.models import AgentRun, User, BillingEvent
@pytest.mark.asyncio
async def test_create_agent_run(db_session):
run = AgentRun(
agent_id="web_research",
agent_name="Web Research Agent",
query="test query",
status="success",
tokens_used=150,
cost=0.15,
)
db_session.add(run)
await db_session.commit()
stmt = select(AgentRun).where(AgentRun.agent_id == "web_research")
result = await db_session.execute(stmt)
db_run = result.scalar_one()
assert db_run.agent_name == "Web Research Agent"
assert db_run.status == "success"
assert db_run.tokens_used == 150
@pytest.mark.asyncio
async def test_create_user(db_session):
user = User(
email="test@example.com",
name="Test User",
role="admin",
)
db_session.add(user)
await db_session.commit()
stmt = select(User).where(User.email == "test@example.com")
result = await db_session.execute(stmt)
db_user = result.scalar_one()
assert db_user.name == "Test User"
assert db_user.role == "admin"
assert db_user.is_active is True
@pytest.mark.asyncio
async def test_create_billing_event(db_session):
event = BillingEvent(
agent_id="web_research",
amount=150.0,
currency="usd",
event_type="usage",
status="completed",
)
db_session.add(event)
await db_session.commit()
stmt = select(BillingEvent).where(BillingEvent.agent_id == "web_research")
result = await db_session.execute(stmt)
db_event = result.scalar_one()
assert db_event.amount == 150.0
assert db_event.status == "completed"