Test-Audit: TestLayerpruefer (sn_basis) fachlich geprüft

Alle 10 Tests gegen modules/layerpruefer.py geprüft - Docstrings passen
zur Implementierung, keine Diskrepanzen gefunden. Monkeypatch-Isolation
in setUp() (kein tearDown) bewusst unangetastet gelassen, da aktuell
keine andere Testdatei Layerpruefer verwendet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 14:42:34 +02:00
co-authored by Claude Sonnet 5
parent aa63f234e7
commit 18bb17ac57
3 changed files with 58 additions and 18 deletions
+40
View File
@@ -62,5 +62,45 @@
"sn_basis.tests.test_laenderkennung.TestGetLaenderkennung.test_unbekannter_praefix_wirft_keyerror": { "sn_basis.tests.test_laenderkennung.TestGetLaenderkennung.test_unbekannter_praefix_wirft_keyerror": {
"datum": "2026-09-17", "datum": "2026-09-17",
"hash": "14f73fb0a974" "hash": "14f73fb0a974"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_datenquelle_unerwartet": {
"datum": "2026-09-17",
"hash": "4b838528f751"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_falscher_geotyp": {
"datum": "2026-09-17",
"hash": "2f0c982126cc"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_falscher_layertyp": {
"datum": "2026-09-17",
"hash": "8dc755c3f3fd"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_falsches_crs": {
"datum": "2026-09-17",
"hash": "c04ff66b1456"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_felder_fehlen": {
"datum": "2026-09-17",
"hash": "eda63c51426f"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_layer_exists": {
"datum": "2026-09-17",
"hash": "22e7012bf002"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_layer_leer": {
"datum": "2026-09-17",
"hash": "5482bd99468b"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_layer_nicht_editierbar": {
"datum": "2026-09-17",
"hash": "c9b5c18995a0"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_layer_ok": {
"datum": "2026-09-17",
"hash": "190f2397704f"
},
"sn_basis.tests.test_layerpruefer.TestLayerpruefer.test_layer_unsichtbar": {
"datum": "2026-09-17",
"hash": "37ebf360bee0"
} }
} }
+4 -4
View File
@@ -119,14 +119,14 @@
<div class="topbar"><div class="brand"><h1>Prüfstand</h1> <div class="topbar"><div class="brand"><h1>Prüfstand</h1>
<span class="tagline">Testkatalog der sn_*-Plugins — was die Suite heute prüft, auf einen Blick.</span></div> <span class="tagline">Testkatalog der sn_*-Plugins — was die Suite heute prüft, auf einen Blick.</span></div>
<div class="meta-line">Quelle: <b>docs/tests/testkatalog.md</b><br>Baseline: <span class="mono">docs/status/testbaseline.json</span> (SHA-256 aeabc946a7f3)<br>Prüf-Audit: <span class="mono">docs/status/testpruefungen.json</span> (SHA-256 3e2fce42eb18)</div></div> <div class="meta-line">Quelle: <b>docs/tests/testkatalog.md</b><br>Baseline: <span class="mono">docs/status/testbaseline.json</span> (SHA-256 aeabc946a7f3)<br>Prüf-Audit: <span class="mono">docs/status/testpruefungen.json</span> (SHA-256 f70434e021d3)</div></div>
<div class="summary"> <div class="summary">
<div class="stat"><span class="n">345</span><span class="l">Testfälle</span></div> <div class="stat"><span class="n">345</span><span class="l">Testfälle</span></div>
<div class="stat ok"><span class="n">302</span><span class="l">grün</span></div> <div class="stat ok"><span class="n">302</span><span class="l">grün</span></div>
<div class="stat warn"><span class="n">35</span><span class="l">rot (Baseline)</span></div> <div class="stat warn"><span class="n">35</span><span class="l">rot (Baseline)</span></div>
<div class="stat skip"><span class="n">8</span><span class="l">übersprungen</span></div> <div class="stat skip"><span class="n">8</span><span class="l">übersprungen</span></div>
<div class="stat"><span class="n">58%</span><span class="l">mit Docstring</span></div> <div class="stat"><span class="n">58%</span><span class="l">mit Docstring</span></div>
<div class="stat"><span class="n">5%</span><span class="l">aktuell geprüft</span></div> <div class="stat"><span class="n">8%</span><span class="l">aktuell geprüft</span></div>
<div class="stat"><span class="n">31</span><span class="l">Testdateien</span></div> <div class="stat"><span class="n">31</span><span class="l">Testdateien</span></div>
</div> </div>
<div class="pkg-bars"><div class="pkg-bars-title">Verteilung je Paket</div> <div class="pkg-bars"><div class="pkg-bars-title">Verteilung je Paket</div>
@@ -219,7 +219,7 @@
classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420; classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420;
classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20; classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20;
classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08; classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08;
classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th><th>geprüft</th></tr></thead><tbody><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_bekannter_praefix_gibt_kennung_zurueck</span></td><td>Prüft, dass der Präfix &#x27;sn&#x27; die ALKIS-Länderkennung &#x27;14&#x27; für Sachsen liefert.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_praefix_gross_klein_unabhaengig</span></td><td>Prüft, dass die Präfixsuche groß-/kleinschreibungsunabhängig ist.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_unbekannter_praefix_wirft_keyerror</span></td><td>Prüft, dass ein unbekannter Präfix einen KeyError auslöst.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_ohne_argument_wird_aus_aufrufendem_modul_abgeleitet</span></td><td>Prüft, dass ohne Argument der Präfix aus dem Modulnamen des Aufrufers abgeleitet wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_mapping_enthaelt_sachsen</span></td><td>Prüft, dass die Mapping-Tabelle LAENDERKENNUNGEN einen Eintrag für Sachsen (&#x27;sn&#x27; -&gt; &#x27;14&#x27;) enthält.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_layerpruefer.py testlayerpruefer test_layer_exists testlayerpruefer test_layer_unsichtbar testlayerpruefer test_falscher_layertyp testlayerpruefer test_falscher_geotyp testlayerpruefer test_layer_leer testlayerpruefer test_falsches_crs testlayerpruefer test_felder_fehlen testlayerpruefer test_datenquelle_unerwartet testlayerpruefer test_layer_nicht_editierbar testlayerpruefer test_layer_ok" data-hasred="0" data-hasskip="0" data-nodoc="0" data-ungeprueft="1" data-veraltet="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-layerpruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_layerpruefer.py</span><span class="card-meta"><span class="count-total">10 Testfälle</span><span class="cpill cpill-ok">10</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="auditbadge" title="Anteil fachlich aktuell geprüft">0% geprüft</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-layerpruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestLayerpruefer <b>10</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th><th>geprüft</th></tr></thead><tbody><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_bekannter_praefix_gibt_kennung_zurueck</span></td><td>Prüft, dass der Präfix &#x27;sn&#x27; die ALKIS-Länderkennung &#x27;14&#x27; für Sachsen liefert.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_praefix_gross_klein_unabhaengig</span></td><td>Prüft, dass die Präfixsuche groß-/kleinschreibungsunabhängig ist.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_unbekannter_praefix_wirft_keyerror</span></td><td>Prüft, dass ein unbekannter Präfix einen KeyError auslöst.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_ohne_argument_wird_aus_aufrufendem_modul_abgeleitet</span></td><td>Prüft, dass ohne Argument der Präfix aus dem Modulnamen des Aufrufers abgeleitet wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_mapping_enthaelt_sachsen</span></td><td>Prüft, dass die Mapping-Tabelle LAENDERKENNUNGEN einen Eintrag für Sachsen (&#x27;sn&#x27; -&gt; &#x27;14&#x27;) enthält.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_layerpruefer.py testlayerpruefer test_layer_exists testlayerpruefer test_layer_unsichtbar testlayerpruefer test_falscher_layertyp testlayerpruefer test_falscher_geotyp testlayerpruefer test_layer_leer testlayerpruefer test_falsches_crs testlayerpruefer test_felder_fehlen testlayerpruefer test_datenquelle_unerwartet testlayerpruefer test_layer_nicht_editierbar testlayerpruefer test_layer_ok" data-hasred="0" data-hasskip="0" data-nodoc="0" data-ungeprueft="0" data-veraltet="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-layerpruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_layerpruefer.py</span><span class="card-meta"><span class="count-total">10 Testfälle</span><span class="cpill cpill-ok">10</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="auditbadge" title="Anteil fachlich aktuell geprüft">100% geprüft</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-layerpruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestLayerpruefer <b>10</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
root([&quot;test_layerpruefer.py&quot;]) root([&quot;test_layerpruefer.py&quot;])
class root rootnode class root rootnode
root --&gt; g1[&quot;TestLayerpruefer (10)&quot;] root --&gt; g1[&quot;TestLayerpruefer (10)&quot;]
@@ -248,7 +248,7 @@
classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420; classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420;
classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20; classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20;
classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08; classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08;
classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th><th>geprüft</th></tr></thead><tbody><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_exists</span></td><td>Prüft, dass ein nicht vorhandener Layer als &#x27;layer_nicht_gefunden&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_unsichtbar</span></td><td>Prüft, dass ein unsichtbarer Layer bei geforderter Sichtbarkeit als &#x27;layer_unsichtbar&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_falscher_layertyp</span></td><td>Prüft, dass ein Layer mit abweichendem Layertyp (Raster statt Vektor) als &#x27;falscher_layertyp&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_falscher_geotyp</span></td><td>Prüft, dass ein Layer mit abweichendem Geometrietyp (Punkt statt Polygon) als &#x27;falscher_geotyp&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_leer</span></td><td>Prüft, dass ein Layer ohne Features als &#x27;layer_leer&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_falsches_crs</span></td><td>Prüft, dass ein Layer mit abweichendem Koordinatenbezugssystem als &#x27;falsches_crs&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_felder_fehlen</span></td><td>Prüft, dass ein Layer mit fehlenden Pflichtfeldern als &#x27;felder_fehlen&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_datenquelle_unerwartet</span></td><td>Prüft, dass eine Datenquelle außerhalb der erlaubten Liste als &#x27;datenquelle_unerwartet&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_nicht_editierbar</span></td><td>Prüft, dass ein nicht editierbarer Layer bei geforderter Editierbarkeit als &#x27;layer_nicht_editierbar&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_ok</span></td><td>Prüft, dass ein Layer, der alle Anforderungen erfüllt, als &#x27;ok&#x27; bestätigt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_linkpruefer.py testlinkpruefer test_remote_link_ok testlinkpruefer test_remote_link_error testlinkpruefer test_remote_link_network_error testlinkpruefer test_local_link_not_found testlinkpruefer test_local_link_ok" data-hasred="0" data-hasskip="0" data-nodoc="0" data-ungeprueft="1" data-veraltet="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-linkpruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_linkpruefer.py</span><span class="card-meta"><span class="count-total">5 Testfälle</span><span class="cpill cpill-ok">5</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="auditbadge" title="Anteil fachlich aktuell geprüft">0% geprüft</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-linkpruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestLinkpruefer <b>5</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th><th>geprüft</th></tr></thead><tbody><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_exists</span></td><td>Prüft, dass ein nicht vorhandener Layer als &#x27;layer_nicht_gefunden&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_unsichtbar</span></td><td>Prüft, dass ein unsichtbarer Layer bei geforderter Sichtbarkeit als &#x27;layer_unsichtbar&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_falscher_layertyp</span></td><td>Prüft, dass ein Layer mit abweichendem Layertyp (Raster statt Vektor) als &#x27;falscher_layertyp&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_falscher_geotyp</span></td><td>Prüft, dass ein Layer mit abweichendem Geometrietyp (Punkt statt Polygon) als &#x27;falscher_geotyp&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_leer</span></td><td>Prüft, dass ein Layer ohne Features als &#x27;layer_leer&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_falsches_crs</span></td><td>Prüft, dass ein Layer mit abweichendem Koordinatenbezugssystem als &#x27;falsches_crs&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_felder_fehlen</span></td><td>Prüft, dass ein Layer mit fehlenden Pflichtfeldern als &#x27;felder_fehlen&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_datenquelle_unerwartet</span></td><td>Prüft, dass eine Datenquelle außerhalb der erlaubten Liste als &#x27;datenquelle_unerwartet&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_nicht_editierbar</span></td><td>Prüft, dass ein nicht editierbarer Layer bei geforderter Editierbarkeit als &#x27;layer_nicht_editierbar&#x27; abgelehnt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_ok</span></td><td>Prüft, dass ein Layer, der alle Anforderungen erfüllt, als &#x27;ok&#x27; bestätigt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_linkpruefer.py testlinkpruefer test_remote_link_ok testlinkpruefer test_remote_link_error testlinkpruefer test_remote_link_network_error testlinkpruefer test_local_link_not_found testlinkpruefer test_local_link_ok" data-hasred="0" data-hasskip="0" data-nodoc="0" data-ungeprueft="1" data-veraltet="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-linkpruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_linkpruefer.py</span><span class="card-meta"><span class="count-total">5 Testfälle</span><span class="cpill cpill-ok">5</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="auditbadge" title="Anteil fachlich aktuell geprüft">0% geprüft</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-linkpruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestLinkpruefer <b>5</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
root([&quot;test_linkpruefer.py&quot;]) root([&quot;test_linkpruefer.py&quot;])
class root rootnode class root rootnode
root --&gt; g1[&quot;TestLinkpruefer (5)&quot;] root --&gt; g1[&quot;TestLinkpruefer (5)&quot;]
+14 -14
View File
@@ -8,20 +8,20 @@ für die fachliche Frage, ob die Abdeckung sinnvoll ist. Die Angaben stammen aus
selbst (Docstrings) und aus der Testbaseline. selbst (Docstrings) und aus der Testbaseline.
Stand der Baseline: `docs/status/testbaseline.json` (SHA-256 `aeabc946a7f3`) Stand der Baseline: `docs/status/testbaseline.json` (SHA-256 `aeabc946a7f3`)
Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `3e2fce42eb18`) Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `f70434e021d3`)
Gesamt: 3 Pakete, 31 Testdateien, 345 Testfälle – 302 grün, 35 rot (Baseline), 8 übersprungen. Gesamt: 3 Pakete, 31 Testdateien, 345 Testfälle – 302 grün, 35 rot (Baseline), 8 übersprungen.
Mit Beschreibung (Docstring): 200 von 345 (58 %). Mit Beschreibung (Docstring): 200 von 345 (58 %).
Fachlich geprüft: 16 von 345 (5 %) aktuell, 0 veraltet seit Codeänderung, 329 nie geprüft. Fachlich geprüft: 26 von 345 (8 %) aktuell, 0 veraltet seit Codeänderung, 319 nie geprüft.
## Zusammenfassung ## Zusammenfassung
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | fachlich geprüft | | Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | fachlich geprüft |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| `sn_basis` | 14 | 94 | 94 | 0 | 0 | 94 von 94 (100 %) | 16 von 94 (17 %) | | `sn_basis` | 14 | 94 | 94 | 0 | 0 | 94 von 94 (100 %) | 26 von 94 (28 %) |
| `sn_verfahrensgebiet` | 12 | 207 | 165 | 34 | 8 | 105 von 207 (51 %) | 0 von 207 (0 %) | | `sn_verfahrensgebiet` | 12 | 207 | 165 | 34 | 8 | 105 von 207 (51 %) | 0 von 207 (0 %) |
| `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | 0 von 44 (0 %) | | `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | 0 von 44 (0 %) |
| **Summe** | **31** | **345** | **302** | **35** | **8** | **200 von 345 (58 %)** | **16 von 345 (5 %)** | | **Summe** | **31** | **345** | **302** | **35** | **8** | **200 von 345 (58 %)** | **26 von 345 (8 %)** |
### Legende ### Legende
@@ -102,16 +102,16 @@ Testgruppen:
| Testfall | prüft | Status | geprüft | | Testfall | prüft | Status | geprüft |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| `TestLayerpruefer.test_layer_exists` | Prüft, dass ein nicht vorhandener Layer als 'layer_nicht_gefunden' abgelehnt wird. | grün | nie geprüft | | `TestLayerpruefer.test_layer_exists` | Prüft, dass ein nicht vorhandener Layer als 'layer_nicht_gefunden' abgelehnt wird. | grün | geprüft am 2026-09-17 |
| `TestLayerpruefer.test_layer_unsichtbar` | Prüft, dass ein unsichtbarer Layer bei geforderter Sichtbarkeit als 'layer_unsichtbar' abgelehnt wird. | grün | nie geprüft | | `TestLayerpruefer.test_layer_unsichtbar` | Prüft, dass ein unsichtbarer Layer bei geforderter Sichtbarkeit als 'layer_unsichtbar' abgelehnt wird. | grün | geprüft am 2026-09-17 |
| `TestLayerpruefer.test_falscher_layertyp` | Prüft, dass ein Layer mit abweichendem Layertyp (Raster statt Vektor) als 'falscher_layertyp' abgelehnt wird. | grün | nie geprüft | | `TestLayerpruefer.test_falscher_layertyp` | Prüft, dass ein Layer mit abweichendem Layertyp (Raster statt Vektor) als 'falscher_layertyp' abgelehnt wird. | grün | geprüft am 2026-09-17 |
| `TestLayerpruefer.test_falscher_geotyp` | Prüft, dass ein Layer mit abweichendem Geometrietyp (Punkt statt Polygon) als 'falscher_geotyp' abgelehnt wird. | grün | nie geprüft | | `TestLayerpruefer.test_falscher_geotyp` | Prüft, dass ein Layer mit abweichendem Geometrietyp (Punkt statt Polygon) als 'falscher_geotyp' abgelehnt wird. | grün | geprüft am 2026-09-17 |
| `TestLayerpruefer.test_layer_leer` | Prüft, dass ein Layer ohne Features als 'layer_leer' abgelehnt wird. | grün | nie geprüft | | `TestLayerpruefer.test_layer_leer` | Prüft, dass ein Layer ohne Features als 'layer_leer' abgelehnt wird. | grün | geprüft am 2026-09-17 |
| `TestLayerpruefer.test_falsches_crs` | Prüft, dass ein Layer mit abweichendem Koordinatenbezugssystem als 'falsches_crs' abgelehnt wird. | grün | nie geprüft | | `TestLayerpruefer.test_falsches_crs` | Prüft, dass ein Layer mit abweichendem Koordinatenbezugssystem als 'falsches_crs' abgelehnt wird. | grün | geprüft am 2026-09-17 |
| `TestLayerpruefer.test_felder_fehlen` | Prüft, dass ein Layer mit fehlenden Pflichtfeldern als 'felder_fehlen' abgelehnt wird. | grün | nie geprüft | | `TestLayerpruefer.test_felder_fehlen` | Prüft, dass ein Layer mit fehlenden Pflichtfeldern als 'felder_fehlen' abgelehnt wird. | grün | geprüft am 2026-09-17 |
| `TestLayerpruefer.test_datenquelle_unerwartet` | Prüft, dass eine Datenquelle außerhalb der erlaubten Liste als 'datenquelle_unerwartet' abgelehnt wird. | grün | nie geprüft | | `TestLayerpruefer.test_datenquelle_unerwartet` | Prüft, dass eine Datenquelle außerhalb der erlaubten Liste als 'datenquelle_unerwartet' abgelehnt wird. | grün | geprüft am 2026-09-17 |
| `TestLayerpruefer.test_layer_nicht_editierbar` | Prüft, dass ein nicht editierbarer Layer bei geforderter Editierbarkeit als 'layer_nicht_editierbar' abgelehnt wird. | grün | nie geprüft | | `TestLayerpruefer.test_layer_nicht_editierbar` | Prüft, dass ein nicht editierbarer Layer bei geforderter Editierbarkeit als 'layer_nicht_editierbar' abgelehnt wird. | grün | geprüft am 2026-09-17 |
| `TestLayerpruefer.test_layer_ok` | Prüft, dass ein Layer, der alle Anforderungen erfüllt, als 'ok' bestätigt wird. | grün | nie geprüft | | `TestLayerpruefer.test_layer_ok` | Prüft, dass ein Layer, der alle Anforderungen erfüllt, als 'ok' bestätigt wird. | grün | geprüft am 2026-09-17 |
### `Plugin_SN_Basis/tests/test_linkpruefer.py` ### `Plugin_SN_Basis/tests/test_linkpruefer.py`