Orchestrata Ultimate › Tests › Reference › scripts › test_sync_architecture_semantic_twin
Tests reference — tests/scripts/test_sync_architecture_semantic_twin.py
Module of tests/scripts, split out because the directory page would be too large.
Prose pending.
tests/scripts/test_sync_architecture_semantic_twin.py
source · 14 tests · 403 lines
Tests for scripts/sync_architecture_semantic_twin.py -- the thin CLI over
Covers: semantic_graph.adapters.memgraph, semantic_graph.config, semantic_graph.embedders, core.graph/ (package)
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_dry_run_prints_summary_and_returns_zero |
116 | --dry-run must return 0 and print a plan, without ever attempting a |
| function | test_dry_run_respects_project_override |
133 | |
| function | test_dry_run_via_subprocess_never_hangs_or_errors |
143 | Full-process proof (not just in-module) that --dry-run is instant and |
| function | test_help_mentions_the_twin |
159 | |
| function | test_missing_openrouter_api_key_exits_1_with_error |
172 | A real (non-dry-run) invocation with no usable OPENROUTER_API_KEY must |
| function | test_missing_openrouter_api_key_dry_run_still_succeeds |
195 | --dry-run does not require the API key at all (it constructs no |
| function | test_load_dotenv_via_subprocess_with_minimal_env_populates_from_env_file |
208 | A subprocess started with a MINIMAL env (none of the repo .env's own |
| function | test_load_dotenv_is_a_noop_when_env_file_is_missing |
230 | No repo .env at PROJECT_ROOT -- _load_dotenv returns |
| function | test_twin_graph_config_uses_dedicated_label_and_index |
249 | |
| function | test_build_parser_defaults |
256 | |
| function | test_build_parser_accepts_dry_run_and_project |
263 | |
| function | test_sync_connects_and_syncs_an_empty_project |
317 | _sync (the function _run/main delegate to) connects to |
| function | test_sync_returns_1_and_still_closes_repo_when_memgraph_unreachable |
335 | A dead Memgraph address makes _sync return 1 -- and it must still |
| function | test_main_real_invocation_for_a_fresh_empty_project |
376 | main() manages its own event loop (asyncio.run(_run(...)) |