generated from coulomb/repo-seed
Extensible canonical internal processing refactoring
This commit is contained in:
50
tests/test_builtin_extension_catalog.py
Normal file
50
tests/test_builtin_extension_catalog.py
Normal file
@@ -0,0 +1,50 @@
|
||||
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",
|
||||
]
|
||||
Reference in New Issue
Block a user