generated from coulomb/repo-seed
70 lines
2.4 KiB
Python
70 lines
2.4 KiB
Python
from click.testing import CliRunner
|
|
|
|
import markitect_tool as api
|
|
from markitect_tool.cli import main
|
|
|
|
|
|
def test_mkt_completion_generates_bash_script():
|
|
result = CliRunner().invoke(main, ["completion", "bash"])
|
|
|
|
assert result.exit_code == 0, result.output
|
|
assert "_mkt_completion" in result.output
|
|
assert "_MKT_COMPLETE=bash_complete" in result.output
|
|
|
|
|
|
def test_mkt_completion_instructions_are_unix_shell_friendly():
|
|
result = CliRunner().invoke(main, ["completion", "zsh", "--instructions"])
|
|
|
|
assert result.exit_code == 0, result.output
|
|
assert "_MKT_COMPLETE=zsh_source mkt" in result.output
|
|
assert "~/.zshrc" in result.output
|
|
|
|
|
|
def test_mkt_extension_commands_exposes_builtin_cli_affordances():
|
|
result = CliRunner().invoke(main, ["extension", "commands", "--format", "json"])
|
|
|
|
assert result.exit_code == 0, result.output
|
|
assert '"command": "mkt query"' in result.output
|
|
assert '"command": "mkt extension commands"' in result.output
|
|
assert '"command": "mkt docs api"' in result.output
|
|
|
|
|
|
def test_mkt_extension_inspect_explains_descriptor():
|
|
result = CliRunner().invoke(main, ["extension", "inspect", "memory.context-package"])
|
|
|
|
assert result.exit_code == 0, result.output
|
|
assert "memory.context-package" in result.output
|
|
assert "mkt context pack" in result.output
|
|
|
|
|
|
def test_mkt_docs_cli_generates_command_reference():
|
|
result = CliRunner().invoke(main, ["docs", "cli"])
|
|
|
|
assert result.exit_code == 0, result.output
|
|
assert "# Markitect CLI Reference" in result.output
|
|
assert "## `mkt extension commands`" in result.output
|
|
assert "## `mkt source normalize`" in result.output
|
|
assert "## `mkt docs api`" in result.output
|
|
|
|
|
|
def test_mkt_docs_api_generates_public_api_reference():
|
|
result = CliRunner().invoke(main, ["docs", "api"])
|
|
|
|
assert result.exit_code == 0, result.output
|
|
assert "# Markitect API Reference" in result.output
|
|
assert "query_document_jsonpath" in result.output
|
|
assert "ExtensionDescriptor" in result.output
|
|
assert "LocalSnapshotStore" in result.output
|
|
assert "SourceAdapterRegistry" in result.output
|
|
|
|
|
|
def test_top_level_api_exports_newer_architecture_surfaces():
|
|
assert api.query_document_jsonpath
|
|
assert api.extract_document_with_engine
|
|
assert api.LocalSnapshotStore
|
|
assert api.ExtensionDescriptor
|
|
assert api.builtin_extension_registry
|
|
assert api.validate_schema
|
|
assert api.SourceAdapterRegistry
|
|
assert api.normalize_source
|