Files
markitect-tool/tests/test_builtin_extension_catalog.py

51 lines
1.5 KiB
Python

from markitect_tool.extension import builtin_extension_registry
def test_builtin_extension_registry_lists_query_processors_and_backend():
registry = builtin_extension_registry()
ids = [descriptor.id for descriptor in registry.list()]
assert "query.selector" not in ids
assert "selector" in ids
assert "jsonpath" in ids
assert "processor.identity" in ids
assert "processor.uppercase" in ids
assert "processor.include" in ids
assert "backend.local-sqlite" in ids
def test_builtin_processor_descriptors_capture_safety_and_provenance():
registry = builtin_extension_registry()
include = registry.get("processor.include")
uppercase = registry.get("processor.uppercase")
assert include.kind == "processor"
assert include.safety["reads_files"] is True
assert include.provenance_prefix == "processor.include"
assert uppercase.safety == {}
assert uppercase.provenance_prefix == "processor.uppercase"
def test_builtin_local_sqlite_descriptor_exposes_backend_capabilities():
registry = builtin_extension_registry()
descriptor = registry.get("backend.local-sqlite")
assert descriptor.kind == "backend"
assert {capability.id for capability in descriptor.capabilities} >= {
"snapshots",
"ast",
"json",
"fts",
"sql",
"provenance",
}
assert descriptor.cli["commands"] == [
"mkt cache init",
"mkt cache index",
"mkt cache query",
"mkt search",
]