Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
26 lines
782 B
Python
26 lines
782 B
Python
from __future__ import annotations
|
|
|
|
from teamlandkarte_mcp.database.schema_verifier import verify_required_columns
|
|
|
|
|
|
class StubDB:
|
|
def __init__(self, mapping: dict[str, list[str]]):
|
|
self._mapping = mapping
|
|
|
|
def get_table_columns(self, table: str) -> list[str]:
|
|
return self._mapping.get(table, [])
|
|
|
|
|
|
def test_verify_required_columns_ok() -> None:
|
|
db = StubDB({"t": ["id", "name"]})
|
|
issues = verify_required_columns(db=db, expected={"t": {"id", "name"}})
|
|
assert issues == []
|
|
|
|
|
|
def test_verify_required_columns_missing() -> None:
|
|
db = StubDB({"t": ["id"]})
|
|
issues = verify_required_columns(db=db, expected={"t": {"id", "name"}})
|
|
assert len(issues) == 1
|
|
assert issues[0].table == "t"
|
|
assert "missing columns" in issues[0].message
|