Files
d3i-szct/paste-framework/tests/integration/test_db_connection.py
T

39 lines
1.2 KiB
Python

"""
数据库连接集成测试。
需要真实数据库连接,默认被跳过。
运行方式:pytest tests/integration/ -v
"""
import pytest
from paste.db.basetable import BaseTable
from paste.db.baseadapter import BaseAdapter
@pytest.mark.integration
class TestDbConnection:
"""数据库连接基础测试"""
@pytest.mark.skip(reason="需要真实数据库连接")
@pytest.mark.asyncio
async def test_ping_database(self):
"""测试数据库连通性"""
result = BaseAdapter.ping()
assert result is True
@pytest.mark.skip(reason="需要真实数据库连接")
@pytest.mark.asyncio
async def test_tables_in_db(self):
"""测试获取表列表"""
tables = await BaseTable.tables_in_db()
assert isinstance(tables, list)
# 验证返回的表名称都是字符串
for table in tables:
assert isinstance(table, str)
@pytest.mark.skip(reason="需要真实数据库连接")
@pytest.mark.asyncio
async def test_is_table_exist(self):
"""测试表存在性判断"""
# 测试存在的表(information_schema.tables 必然存在)
exists = await BaseTable.is_table_exist('information_schema')
assert isinstance(exists, bool)