first commit

This commit is contained in:
rayd1o
2026-03-05 11:46:58 +08:00
commit e7033775d8
20657 changed files with 1988940 additions and 0 deletions

103
backend/tests/conftest.py Normal file
View File

@@ -0,0 +1,103 @@
"""Pytest configuration and fixtures"""
import pytest
import asyncio
from typing import AsyncGenerator
from unittest.mock import AsyncMock, MagicMock, patch
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine, async_sessionmaker
@pytest.fixture(scope="session")
def event_loop():
"""Create event loop for async tests"""
loop = asyncio.get_event_loop_policy().new_event_loop()
yield loop
loop.close()
@pytest.fixture
def mock_db_session():
"""Mock database session"""
session = AsyncMock(spec=AsyncSession)
session.add = MagicMock()
session.commit = AsyncMock()
session.execute = AsyncMock()
session.refresh = AsyncMock()
session.close = AsyncMock()
return session
@pytest.fixture
def sample_top500_response():
"""Sample TOP500 API response"""
return {
"items": [
{
"rank": 1,
"system_name": "Frontier",
"country": "USA",
"city": "Oak Ridge",
"latitude": 35.9322,
"longitude": -84.3108,
"manufacturer": "HPE",
"r_max": 1102000.0,
"r_peak": 1685000.0,
"power": 21510.0,
"cores": 8730112,
"interconnect": "Slingshot 11",
"os": "CentOS",
},
{
"rank": 2,
"system_name": "Fugaku",
"country": "Japan",
"city": "Kobe",
"latitude": 34.6913,
"longitude": 135.1830,
"manufacturer": "Fujitsu",
"r_max": 442010.0,
"r_peak": 537212.0,
"power": 29899.0,
"cores": 7630848,
"interconnect": "Tofu interconnect D",
"os": "RHEL",
},
]
}
@pytest.fixture
def sample_huggingface_response():
"""Sample Hugging Face API response"""
return {
"models": [
{
"id": "bert-base-uncased",
"author": "google",
"description": "BERT base model",
"likes": 25000,
"downloads": 5000000,
"language": "en",
"tags": ["transformer", "bert"],
"pipeline_tag": "feature-extraction",
"library_name": "transformers",
"createdAt": "2024-01-15T10:00:00Z",
}
]
}
@pytest.fixture
def sample_alert_data():
"""Sample alert data"""
return {
"id": 1,
"severity": "warning",
"status": "active",
"datasource_id": 2,
"datasource_name": "Epoch AI",
"message": "API response time > 30s",
"created_at": "2024-01-20T09:30:00Z",
"acknowledged_by": None,
}