# tests/unit/test_database.py
import pytest

import sys
sys.path.insert(0, '/home/jang/Projects/ai-researcher')

from src.models.base import BaseModel, get_engine, get_session_maker


def test_base_model_has_required_fields():
    """测试基础模型包含必需字段"""
    # Check that BaseModel has the expected attributes
    assert hasattr(BaseModel, 'id')
    assert hasattr(BaseModel, 'created_at')
    assert hasattr(BaseModel, 'updated_at')


def test_engine_singleton():
    """测试数据库引擎单例"""
    engine1 = get_engine()
    engine2 = get_engine()
    assert engine1 is engine2


def test_session_maker_singleton():
    """测试会话工厂单例"""
    maker1 = get_session_maker()
    maker2 = get_session_maker()
    assert maker1 is maker2
