Orchestrata Ultimate › Tests › Reference › scripts › test_repair_orphan_hub_links

Tests reference — tests/scripts/test_repair_orphan_hub_links.py

Module of tests/scripts, split out because the directory page would be too large.

Prose pending.

tests/scripts/test_repair_orphan_hub_links.py

source · 37 tests · 1088 lines

Tests for scripts/repair_orphan_hub_links.py — the session-254 KG

Covers: core.graph/ (package)

Kind Name Line Description
function test_repair_link_rule_requires_schema_constant 65 A LINK rule with no cited canonical_schema constant refuses to run
function test_repair_link_rule_accepts_a_real_constant 77 The positive case: a real constant name resolves and does not raise.
function test_repair_dry_run_writes_nothing 90 Node/edge counts across the WHOLE test database are identical before
function test_repair_delete_rule_aborts_on_count_drift 138 A seeded orphan count that does not match the DELETE rule's expected
function test_repair_check_delete_drift_reports_actual_vs_expected 171 check_delete_drift is a pure read: it reports the actual count
function test_repair_is_idempotent 213 Session-254 root-connectivity ruling: every LINK write is a MERGE --
function test_project_slug_default_when_unset 247
function test_project_slug_reads_env_override 251
function test_driver_uses_explicit_cli_args_over_env 257
function test_driver_falls_back_to_env_when_no_cli_args 268
function test_apply_deletes_dry_run_reports_zero_for_empty_orphans 289
function test_apply_deletes_execute_deletes_the_matching_node 317
function test_link_parameters_empty_orphans_logs_zero_and_returns 336
function test_link_parameters_dry_run_does_not_query 342
function test_link_parameters_execute_links_resolvable_owner 368
function test_link_parameters_execute_warns_on_unresolvable_owner 401
function test_link_sessions_empty_orphans_logs_zero 420
function test_link_sessions_dry_run_does_not_query 432
function test_plan_spec_new_projects_empty_orphans_returns_empty 449
function test_plan_spec_new_projects_excludes_existing_dedups_new 487
function test_link_specs_no_orphans_logs_skip 500
function test_link_specs_dry_run_reports_skip_null_and_linkable 537
function test_link_specs_execute_links_real_skips_null 552
function test_link_thread_family_dry_run_succeeds_with_hub 608
function test_link_thread_family_aborts_without_hub 620
function test_verify_transitive_rescues_reports_fail_for_a_real_orphan 637
function test_final_connectivity_check_logs_unreachable_count 651
function test_run_dry_run_past_drift_gate_reaches_complete_line 736
function test_run_execute_past_drift_gate_reaches_post_apply_verification 757
function test_run_include_spec_hubs_aborts_on_multiple_new_hubs_without_allow_flag 789
function test_run_include_spec_hubs_proceeds_with_a_single_new_hub 828 A single new hub does not need --allow-new-projects -- run()
function test_main_dry_run_cli_reaches_run_and_returns 888
function test_main_loads_dotenv_when_env_not_injected 908 env=None (real CLI usage, never how tests call it otherwise) is
function test_repair_rerun_with_already_applied_delete_rule_proceeds 948 Idempotent re-run: a DELETE rule whose predicate now matches 0 (a
function test_delete_degenerate_spec_trees_deletes_spec_and_subtree 1007
function test_delete_degenerate_spec_trees_aborts_on_slug_collision 1029 Two orphan Specs sharing the degenerate slug is drift -- the guard
function test_backfill_hub_ids_stamps_id_on_spec_bearing_hub 1063 A slug-only Project hub owning a HAS_SPEC edge gets id = slug; hubs