Die Tests wurden dabei nie nachgezogen und prüfen weiterhin gegen den alten Rückgabewert {"name": ..., "interfaces": [...]}.
Auswirkung
Die Regressionsabdeckung für get_vlans() ist faktisch weg — der interessante Teil (Trennung tagged/untagged, PVID-Erkennung, Sub-Interface-Fallback) wird von keinem grünen Test abgedeckt. Dass die Suite rot ist, verdeckt ausserdem neue Fehler.
Lösungsvorschlag
Tests auf das aktuelle Schema umschreiben und dabei die Fälle abdecken, die vorher nicht geprüft wurden: PVID/untagged-Zuordnung, Fortsetzungszeilen in bridge vlan show, sowie das Verhalten wenn bridge gar nicht verfügbar ist.
## Problem
Vier Tests in `tests/unit/test_driver.py::TestGetVlans` schlagen auf `main` fehl:
```
FAILED tests/unit/test_driver.py::TestGetVlans::test_required_keys
FAILED tests/unit/test_driver.py::TestGetVlans::test_interfaces_for_vlan10
FAILED tests/unit/test_driver.py::TestGetVlans::test_interfaces_for_vlan20
FAILED tests/unit/test_driver.py::TestGetVlans::test_no_duplicate_interfaces
4 failed, 6 passed, 109 deselected
```
Alle mit `KeyError: 'interfaces'`.
## Ursache
`get_vlans()` wurde auf getrennte `tagged`/`untagged`-Listen umgestellt:
```python
vlans.setdefault(vlan_id, {"name": "", "tagged": [], "untagged": []})
```
Die Tests wurden dabei nie nachgezogen und prüfen weiterhin gegen den alten Rückgabewert `{"name": ..., "interfaces": [...]}`.
## Auswirkung
Die Regressionsabdeckung für `get_vlans()` ist faktisch weg — der interessante Teil (Trennung tagged/untagged, PVID-Erkennung, Sub-Interface-Fallback) wird von keinem grünen Test abgedeckt. Dass die Suite rot ist, verdeckt ausserdem neue Fehler.
## Lösungsvorschlag
Tests auf das aktuelle Schema umschreiben und dabei die Fälle abdecken, die vorher nicht geprüft wurden: PVID/untagged-Zuordnung, Fortsetzungszeilen in `bridge vlan show`, sowie das Verhalten wenn `bridge` gar nicht verfügbar ist.
Alle vier Tests auf das aktuelle tagged/untagged-Schema umgeschrieben und dabei die vorher ungeprüften Fälle ergänzt: PVID-Port als untagged Member, Fortsetzungszeilen als tagged Member, gemischtes Tagging derselben VLAN über mehrere Ports, sowie die Invariante, dass ein Port nie gleichzeitig in beiden Listen steht.
Beim Durchlauf fiel ein fünfter Test derselben Ursache auf, der hier gleich mitgenommen wurde: TestGetFacts::test_returns_required_keys schlug mit number_of_interfaces als „extra key" fehl. Der Key wird von get_facts() bewusst gesetzt (facts["number_of_interfaces"] = len(interface_list)), nur der Test war nicht nachgezogen. Erwartungsmenge korrigiert und ein Test ergänzt, der die Konsistenz zu interface_list prüft.
Suite ist wieder vollständig grün: 129 passed.
## Behoben
Alle vier Tests auf das aktuelle `tagged`/`untagged`-Schema umgeschrieben und dabei die vorher ungeprüften Fälle ergänzt: PVID-Port als untagged Member, Fortsetzungszeilen als tagged Member, gemischtes Tagging derselben VLAN über mehrere Ports, sowie die Invariante, dass ein Port nie gleichzeitig in beiden Listen steht.
Beim Durchlauf fiel ein fünfter Test derselben Ursache auf, der hier gleich mitgenommen wurde: `TestGetFacts::test_returns_required_keys` schlug mit `number_of_interfaces` als „extra key" fehl. Der Key wird von `get_facts()` bewusst gesetzt (`facts["number_of_interfaces"] = len(interface_list)`), nur der Test war nicht nachgezogen. Erwartungsmenge korrigiert und ein Test ergänzt, der die Konsistenz zu `interface_list` prüft.
Suite ist wieder vollständig grün: **129 passed**.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Vier Tests in
tests/unit/test_driver.py::TestGetVlansschlagen aufmainfehl:Alle mit
KeyError: 'interfaces'.Ursache
get_vlans()wurde auf getrenntetagged/untagged-Listen umgestellt:Die Tests wurden dabei nie nachgezogen und prüfen weiterhin gegen den alten Rückgabewert
{"name": ..., "interfaces": [...]}.Auswirkung
Die Regressionsabdeckung für
get_vlans()ist faktisch weg — der interessante Teil (Trennung tagged/untagged, PVID-Erkennung, Sub-Interface-Fallback) wird von keinem grünen Test abgedeckt. Dass die Suite rot ist, verdeckt ausserdem neue Fehler.Lösungsvorschlag
Tests auf das aktuelle Schema umschreiben und dabei die Fälle abdecken, die vorher nicht geprüft wurden: PVID/untagged-Zuordnung, Fortsetzungszeilen in
bridge vlan show, sowie das Verhalten wennbridgegar nicht verfügbar ist.Behoben
Alle vier Tests auf das aktuelle
tagged/untagged-Schema umgeschrieben und dabei die vorher ungeprüften Fälle ergänzt: PVID-Port als untagged Member, Fortsetzungszeilen als tagged Member, gemischtes Tagging derselben VLAN über mehrere Ports, sowie die Invariante, dass ein Port nie gleichzeitig in beiden Listen steht.Beim Durchlauf fiel ein fünfter Test derselben Ursache auf, der hier gleich mitgenommen wurde:
TestGetFacts::test_returns_required_keysschlug mitnumber_of_interfacesals „extra key" fehl. Der Key wird vonget_facts()bewusst gesetzt (facts["number_of_interfaces"] = len(interface_list)), nur der Test war nicht nachgezogen. Erwartungsmenge korrigiert und ein Test ergänzt, der die Konsistenz zuinterface_listprüft.Suite ist wieder vollständig grün: 129 passed.
Behoben in
c686fac— Suite ist wieder vollständig grün (129 passed).