conftest.py
- Pfad:
/var/www/mcp-servers/mcp-db/tests/conftest.py - Namespace: -
- Zeilen: 105 | Größe: 2,311 Bytes
- Geändert: 2025-12-28 12:21:49 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 93
- Dependencies: 70 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Dependencies 8
- use sys
- use pathlib.Path
- use pytest
- use dotenv.load_dotenv
- use config.Config
- use domain.log_contract.LogEntry
- use infrastructure.protokoll_logger.ProtokollLogger
- use mysql.connector
Funktionen 7
-
db_connection()Zeile 23 -
ki_protokoll_connection()Zeile 38 -
ki_system_connection()Zeile 54 -
logger()Zeile 70 -
test_log_entry()Zeile 76 -
test_denied_log_entry()Zeile 86 -
test_error_log_entry()Zeile 97
Code
#!/usr/bin/env python3
"""Gemeinsame Test-Fixtures für MCP-DB Tests"""
import sys
from pathlib import Path
import pytest
# Pfad zum mcp-db Server hinzufügen
sys.path.insert(0, "/var/www/mcp-servers/mcp_db")
# .env laden BEVOR Config importiert wird
from dotenv import load_dotenv
load_dotenv(Path("/var/www/mcp-servers/mcp_db/.env"))
from config import Config
from domain.log_contract import LogEntry
from infrastructure.protokoll_logger import ProtokollLogger
@pytest.fixture
def db_connection():
"""Fixture für Datenbank-Verbindung"""
import mysql.connector
conn = mysql.connector.connect(
host=Config.DB_HOST,
user=Config.DB_USER,
password=Config.DB_PASSWORD,
charset="utf8mb4",
)
yield conn
conn.close()
@pytest.fixture
def ki_protokoll_connection():
"""Fixture für ki_protokoll Datenbank-Verbindung"""
import mysql.connector
conn = mysql.connector.connect(
host=Config.DB_HOST,
database="ki_protokoll",
user=Config.DB_USER,
password=Config.DB_PASSWORD,
charset="utf8mb4",
)
yield conn
conn.close()
@pytest.fixture
def ki_system_connection():
"""Fixture für ki_system Datenbank-Verbindung"""
import mysql.connector
conn = mysql.connector.connect(
host=Config.DB_HOST,
database="ki_system",
user=Config.DB_USER,
password=Config.DB_PASSWORD,
charset="utf8mb4",
)
yield conn
conn.close()
@pytest.fixture
def logger():
"""Fixture für ProtokollLogger"""
return ProtokollLogger()
@pytest.fixture
def test_log_entry():
"""Fixture für Test LogEntry"""
return LogEntry(
request="TEST: SELECT * FROM mcp_log",
status="success",
duration_ms=42,
)
@pytest.fixture
def test_denied_log_entry():
"""Fixture für Test Denied LogEntry"""
return LogEntry(
request="TEST: DROP TABLE mcp_log",
status="denied",
duration_ms=0,
error_message="Blocked keyword: DROP",
)
@pytest.fixture
def test_error_log_entry():
"""Fixture für Test Error LogEntry"""
return LogEntry(
request="TEST: SELECT * FROM nonexistent",
status="error",
duration_ms=15,
error_message="Table doesn't exist",
)