Orchestrata Ultimate › Tests › Reference › scripts › test_no_banned_deps

Tests reference — tests/scripts/test_no_banned_deps.py

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

Prose pending.

tests/scripts/test_no_banned_deps.py

source · 15 tests · 252 lines

Tests for .claude/hooks/no-banned-deps.sh — the PreToolUse(Write|Edit|

Kind Name Line Description
function test_the_banned_list_is_not_empty 105 The guard loops over this file; an empty list makes it a no-op.
function test_every_declared_ban_is_actually_enforced 111 CLAUDE.md promises that adding a name to banned-libraries.txt bans it
function test_a_ban_survives_the_edit_shape 118
function test_a_ban_survives_the_multiedit_shape 122
function test_extras_syntax_does_not_evade_the_ban 139
function test_single_quoted_requirements_are_caught_too 143
function test_the_denial_names_the_package_and_the_sanctioned_alternative 147
function test_documenting_the_ban_is_not_committing_it 171 A banned name in a TOML comment must pass, or the ban cannot be
function test_an_unbanned_dependency_is_allowed 179
function test_a_name_that_merely_contains_a_banned_name_is_not_the_banned_name 183 Substring matching would block a legitimately-named package.
function test_a_file_other_than_pyproject_is_not_this_guards_business 190
function test_a_removal_is_not_an_addition 196 The guard reads only text the call ADDS. Deleting a banned dependency
function test_an_unreadable_payload_is_denied_not_allowed 225
function test_the_deny_path_does_not_depend_on_jq 229 The measured regression: the DENY path itself once ran through jq -n,
function test_hook_is_registered_on_the_write_matcher 240 RUL-023: a hook nothing invokes is not a delivery.