def test_validate_supersedings_raise_cyclic(): all_supersedes_cyclic = { SectionName("foo"): {SectionName("bar")}, SectionName("bar"): {SectionName("foo")}, } with pytest.raises( ValueError, match="implicitly supersedes section.*This leads to a cyclic superseding", ): section_plugins.validate_section_supersedes(all_supersedes_cyclic)
def test_validate_supersedings_raise_implicit(): all_supersedes_invalid = { SectionName("foo"): {SectionName("bar")}, SectionName("bar"): {SectionName("gee")}, } with pytest.raises( ValueError, match="implicitly supersedes section.*You must add those to the supersedes keyword", ): section_plugins.validate_section_supersedes(all_supersedes_invalid) # add the implicid superseding, then it should be OK: all_supersedes_valid = all_supersedes_invalid.copy() all_supersedes_valid[SectionName("foo")].add(SectionName("gee")) section_plugins.validate_section_supersedes(all_supersedes_valid)