generated from coulomb/repo-seed
CLI and API polish
This commit is contained in:
65
tests/test_cli_api_polish.py
Normal file
65
tests/test_cli_api_polish.py
Normal file
@@ -0,0 +1,65 @@
|
||||
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 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
|
||||
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user