from app.model.knowledge import FaqSynonym, KnowledgeMeta def test_knowledge_meta_maps_baseline_table() -> None: assert KnowledgeMeta.__tablename__ == "fin_knowledge_meta" columns = {c.name for c in KnowledgeMeta.__table__.columns} assert columns == { "id", "knowledge_type", "title", "source_file", "minio_path", "milvus_collection", "version", "effective_date", "expire_date", "content_text", "tags", "reviewer_id", "review_status", "status", "created_at", "updated_at", } def test_knowledge_meta_milvus_collection_is_not_nullable() -> None: column = KnowledgeMeta.__table__.columns["milvus_collection"] assert column.nullable is False assert column.type.length == 64 def test_faq_synonym_maps_baseline_table() -> None: assert FaqSynonym.__tablename__ == "agent_faq_synonym" columns = {c.name for c in FaqSynonym.__table__.columns} assert columns == { "id", "knowledge_id", "phrase", "normalized_phrase", "phrase_hash", "language_code", "source_type", "hit_count", "status", "created_by", "reviewer_id", "reviewed_at", "created_at", "updated_at", } def test_faq_synonym_created_by_is_not_nullable() -> None: assert FaqSynonym.__table__.columns["created_by"].nullable is False