"""Pin the CRA-AI -> network_security sub_topic map (DB enrichment verified live).""" from compliance.services.cra_use_case_controls import subtopic_for from compliance.api.cra_annex_i_data import ANNEX_I_REQUIREMENTS # Exact atom-grain sub_topic keys (verified against the live atom_classification). _VALID = { "access_control", "authentication", "cryptography", "network_segmentation", "logging_monitoring", "supply_chain_security", "vulnerability_management", "incident_response", "secure_development", "data_protection", } def test_every_requirement_maps_to_a_valid_subtopic(): for req in ANNEX_I_REQUIREMENTS: st = subtopic_for(req["req_id"]) assert st in _VALID, "{} -> {}".format(req["req_id"], st)