test: lock release snippet source guard inventory
This commit is contained in:
@@ -121,9 +121,17 @@ TRAINING_M41_RELEASE_INDEX_GUARD_TEST_INVENTORY = (
|
||||
"test_training_m57_release_index_required_snippet_inventory_source_shape_diagnostics_are_locked",
|
||||
"test_training_m58_release_index_required_snippet_inventory_source_shape_accepts_literal_fixtures",
|
||||
"test_training_m59_release_index_required_snippet_inventory_source_shape_preserves_literal_order",
|
||||
"test_training_m60_release_index_source_shape_fixture_guard_inventory_self_lock_is_current",
|
||||
"test_training_m53_release_index_doc_category_coverage_is_exact",
|
||||
"test_training_case_product_doc_reflects_current_m40_maturity",
|
||||
)
|
||||
TRAINING_M41_RELEASE_INDEX_SOURCE_SHAPE_FIXTURE_GUARD_METHODS = (
|
||||
"test_training_m55_release_index_required_snippet_inventory_source_shape_is_locked",
|
||||
"test_training_m56_release_index_required_snippet_inventory_source_shape_rejects_dynamic_fixtures",
|
||||
"test_training_m57_release_index_required_snippet_inventory_source_shape_diagnostics_are_locked",
|
||||
"test_training_m58_release_index_required_snippet_inventory_source_shape_accepts_literal_fixtures",
|
||||
"test_training_m59_release_index_required_snippet_inventory_source_shape_preserves_literal_order",
|
||||
)
|
||||
TRAINING_M41_RELEASE_INDEX_REQUIRED_SNIPPET_INVENTORY = (
|
||||
(
|
||||
"current_m1_m40_marker",
|
||||
@@ -574,6 +582,9 @@ class DocumentationConsistencyTests(unittest.TestCase):
|
||||
"required_snippet_inventory_source_shape_literal_order": (
|
||||
"test_training_m59_release_index_required_snippet_inventory_source_shape_preserves_literal_order"
|
||||
),
|
||||
"required_snippet_inventory_source_shape_fixture_self_lock": (
|
||||
"test_training_m60_release_index_source_shape_fixture_guard_inventory_self_lock_is_current"
|
||||
),
|
||||
"per_doc_helper_exact_category_coverage": (
|
||||
"test_training_m53_release_index_doc_category_coverage_is_exact"
|
||||
),
|
||||
@@ -729,6 +740,7 @@ class DocumentationConsistencyTests(unittest.TestCase):
|
||||
"test_training_m57_release_index_required_snippet_inventory_source_shape_diagnostics_are_locked",
|
||||
"test_training_m58_release_index_required_snippet_inventory_source_shape_accepts_literal_fixtures",
|
||||
"test_training_m59_release_index_required_snippet_inventory_source_shape_preserves_literal_order",
|
||||
"test_training_m60_release_index_source_shape_fixture_guard_inventory_self_lock_is_current",
|
||||
"test_training_m53_release_index_doc_category_coverage_is_exact",
|
||||
"test_training_case_product_doc_reflects_current_m40_maturity",
|
||||
)
|
||||
@@ -757,6 +769,56 @@ class DocumentationConsistencyTests(unittest.TestCase):
|
||||
self.assertEqual(loader.errors, [])
|
||||
self.assertEqual(suite.countTestCases(), 1)
|
||||
|
||||
def test_training_m60_release_index_source_shape_fixture_guard_inventory_self_lock_is_current(
|
||||
self,
|
||||
) -> None:
|
||||
expected_source_shape_fixture_guards = (
|
||||
"test_training_m55_release_index_required_snippet_inventory_source_shape_is_locked",
|
||||
"test_training_m56_release_index_required_snippet_inventory_source_shape_rejects_dynamic_fixtures",
|
||||
"test_training_m57_release_index_required_snippet_inventory_source_shape_diagnostics_are_locked",
|
||||
"test_training_m58_release_index_required_snippet_inventory_source_shape_accepts_literal_fixtures",
|
||||
"test_training_m59_release_index_required_snippet_inventory_source_shape_preserves_literal_order",
|
||||
)
|
||||
test_case_name = f"{type(self).__module__}.{type(self).__qualname__}"
|
||||
self_lock_name = (
|
||||
"test_training_m60_release_index_source_shape_fixture_guard_inventory_self_lock_is_current"
|
||||
)
|
||||
discovered_method_names = _test_method_names_from_file(
|
||||
Path(__file__),
|
||||
"DocumentationConsistencyTests",
|
||||
)
|
||||
source_shape_start = discovered_method_names.index(
|
||||
expected_source_shape_fixture_guards[0]
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
TRAINING_M41_RELEASE_INDEX_SOURCE_SHAPE_FIXTURE_GUARD_METHODS,
|
||||
expected_source_shape_fixture_guards,
|
||||
)
|
||||
self.assertEqual(
|
||||
len(TRAINING_M41_RELEASE_INDEX_SOURCE_SHAPE_FIXTURE_GUARD_METHODS),
|
||||
len(set(TRAINING_M41_RELEASE_INDEX_SOURCE_SHAPE_FIXTURE_GUARD_METHODS)),
|
||||
)
|
||||
self.assertEqual(
|
||||
TRAINING_M41_RELEASE_INDEX_GUARD_TEST_INVENTORY[8:13],
|
||||
TRAINING_M41_RELEASE_INDEX_SOURCE_SHAPE_FIXTURE_GUARD_METHODS,
|
||||
)
|
||||
self.assertEqual(
|
||||
discovered_method_names[
|
||||
source_shape_start : source_shape_start
|
||||
+ len(TRAINING_M41_RELEASE_INDEX_SOURCE_SHAPE_FIXTURE_GUARD_METHODS)
|
||||
],
|
||||
TRAINING_M41_RELEASE_INDEX_SOURCE_SHAPE_FIXTURE_GUARD_METHODS,
|
||||
)
|
||||
self.assertIn(self_lock_name, TRAINING_M41_RELEASE_INDEX_GUARD_TEST_INVENTORY)
|
||||
for method_name in TRAINING_M41_RELEASE_INDEX_SOURCE_SHAPE_FIXTURE_GUARD_METHODS:
|
||||
with self.subTest(method_name=method_name):
|
||||
loader = unittest.TestLoader()
|
||||
suite = loader.loadTestsFromName(f"{test_case_name}.{method_name}")
|
||||
|
||||
self.assertEqual(loader.errors, [])
|
||||
self.assertEqual(suite.countTestCases(), 1)
|
||||
|
||||
def test_training_m47_release_index_per_doc_helper_inventory_self_lock_is_current(self) -> None:
|
||||
helper_name = "_release_index_missing_required_snippets_by_doc"
|
||||
docs_guard_name = "test_training_readmes_expose_m1_m40_release_index_without_raw_test_modules"
|
||||
|
||||
Reference in New Issue
Block a user