From 3a07785a66d88759bdb69cf7efa80bd759933a26 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 17 Sep 2026 14:35:44 +0200 Subject: [PATCH] =?UTF-8?q?Test-Audit:=20TestDateipruefer=20(5=20von=206)?= =?UTF-8?q?=20fachlich=20gepr=C3=BCft?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit leereingabe_erlaubt, leereingabe_nicht_erlaubt, temporaer_erlaubt, datei_nicht_gefunden, datei_ok geprüft und bestätigt - Docstrings passen zur Implementierung. test_standarddatei_vorschlagen bewusst ausgenommen, solange die Design-Entscheidung zu Basis #59 (Standarddatei-Modus) offen ist. Co-Authored-By: Claude Sonnet 5 --- docs/status/testpruefungen.json | 20 ++++++++++++++++++++ docs/tests/testkatalog.html | 8 ++++---- docs/tests/testkatalog.md | 18 +++++++++--------- 3 files changed, 33 insertions(+), 13 deletions(-) diff --git a/docs/status/testpruefungen.json b/docs/status/testpruefungen.json index e0ed6e9..918d311 100644 --- a/docs/status/testpruefungen.json +++ b/docs/status/testpruefungen.json @@ -22,5 +22,25 @@ "sn_basis.tests.test_datagrabber.TestDataGrabber.test_run_returns_success_summary_with_valid_rows": { "datum": "2026-09-16", "hash": "55fcd3a0fc84" + }, + "sn_basis.tests.test_dateipruefer.TestDateipruefer.test_datei_nicht_gefunden": { + "datum": "2026-09-17", + "hash": "9e83de8df1b9" + }, + "sn_basis.tests.test_dateipruefer.TestDateipruefer.test_datei_ok": { + "datum": "2026-09-17", + "hash": "c9633046fcdd" + }, + "sn_basis.tests.test_dateipruefer.TestDateipruefer.test_leereingabe_erlaubt": { + "datum": "2026-09-17", + "hash": "54c35530e1b3" + }, + "sn_basis.tests.test_dateipruefer.TestDateipruefer.test_leereingabe_nicht_erlaubt": { + "datum": "2026-09-17", + "hash": "bbb8d936f5f9" + }, + "sn_basis.tests.test_dateipruefer.TestDateipruefer.test_temporaer_erlaubt": { + "datum": "2026-09-17", + "hash": "00cfdb7d23d5" } } diff --git a/docs/tests/testkatalog.html b/docs/tests/testkatalog.html index 7a6f244..ae0017b 100644 --- a/docs/tests/testkatalog.html +++ b/docs/tests/testkatalog.html @@ -119,14 +119,14 @@

Prüfstand

Testkatalog der sn_*-Plugins — was die Suite heute prüft, auf einen Blick.
-
Quelle: docs/tests/testkatalog.md
Baseline: docs/status/testbaseline.json (SHA-256 aeabc946a7f3)
Prüf-Audit: docs/status/testpruefungen.json (SHA-256 e2ea4d5d5f8a)
+
Quelle: docs/tests/testkatalog.md
Baseline: docs/status/testbaseline.json (SHA-256 aeabc946a7f3)
Prüf-Audit: docs/status/testpruefungen.json (SHA-256 e3f7d1cb799c)
345Testfälle
302grün
35rot (Baseline)
58%mit Docstring
-
2%aktuell geprüft
+
3%aktuell geprüft
31Testdateien
Verteilung je Paket
@@ -179,7 +179,7 @@ classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420; classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20; classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08; - classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;
TestfallprüftStatusgeprüft
TestDataGrabber
test_analyze_source_type_detects_excel
Prüft, dass eine erreichbare .xlsx-Datei als Quelltyp 'excel' erkannt wird.grüngeprüft am 2026-09-16
TestDataGrabber
test_analyze_source_type_returns_unknown_filetype
Prüft, dass eine erreichbare Datei mit unbekannter Endung als 'unbekannter_dateityp' eingestuft wird.grüngeprüft am 2026-09-16
TestDataGrabber
test_analyze_source_type_detects_service_when_file_check_fails
Prüft, dass eine Quelle als 'dienst' erkannt wird, wenn die Dateiprüfung fehlschlägt, die URL aber erreichbar ist.grüngeprüft am 2026-09-16
TestDataGrabber
test_analyze_source_type_returns_unbekannte_quelle_on_full_failure
Prüft, dass eine Quelle als 'unbekannte_quelle' eingestuft wird, wenn weder Datei- noch Linkprüfung erfolgreich sind.grüngeprüft am 2026-09-16
TestDataGrabber
test_run_returns_success_summary_with_valid_rows
Prüft, dass run() bei erfolgreichem Excel-Import eine Erfolgsmeldung mit den geladenen Zeilen liefert.grüngeprüft am 2026-09-16
TestDataGrabber
test_run_returns_failure_summary_without_rows
Prüft, dass run() bei nicht erkennbarer Quelle eine Fehlermeldung ohne Zeilen liefert.grüngeprüft am 2026-09-16

— (Docstring fehlt)

TestDateipruefer 6
flowchart TD
+  classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;
TestfallprüftStatusgeprüft
TestDataGrabber
test_analyze_source_type_detects_excel
Prüft, dass eine erreichbare .xlsx-Datei als Quelltyp 'excel' erkannt wird.grüngeprüft am 2026-09-16
TestDataGrabber
test_analyze_source_type_returns_unknown_filetype
Prüft, dass eine erreichbare Datei mit unbekannter Endung als 'unbekannter_dateityp' eingestuft wird.grüngeprüft am 2026-09-16
TestDataGrabber
test_analyze_source_type_detects_service_when_file_check_fails
Prüft, dass eine Quelle als 'dienst' erkannt wird, wenn die Dateiprüfung fehlschlägt, die URL aber erreichbar ist.grüngeprüft am 2026-09-16
TestDataGrabber
test_analyze_source_type_returns_unbekannte_quelle_on_full_failure
Prüft, dass eine Quelle als 'unbekannte_quelle' eingestuft wird, wenn weder Datei- noch Linkprüfung erfolgreich sind.grüngeprüft am 2026-09-16
TestDataGrabber
test_run_returns_success_summary_with_valid_rows
Prüft, dass run() bei erfolgreichem Excel-Import eine Erfolgsmeldung mit den geladenen Zeilen liefert.grüngeprüft am 2026-09-16
TestDataGrabber
test_run_returns_failure_summary_without_rows
Prüft, dass run() bei nicht erkennbarer Quelle eine Fehlermeldung ohne Zeilen liefert.grüngeprüft am 2026-09-16

— (Docstring fehlt)

TestDateipruefer 6
flowchart TD
   root(["test_dateipruefer.py"])
   class root rootnode
   root --> g1["TestDateipruefer (6)"]
@@ -200,7 +200,7 @@
   classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420;
   classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20;
   classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08;
-  classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;
TestfallprüftStatusgeprüft
TestDateipruefer
test_leereingabe_erlaubt
Prüft, dass eine leere Pfadangabe bei leereingabe_erlaubt=True als 'leereingabe_erlaubt' ohne Kontext gemeldet wird.grünnie geprüft
TestDateipruefer
test_leereingabe_nicht_erlaubt
Prüft, dass eine leere Pfadangabe ohne leereingabe_erlaubt als 'leereingabe_nicht_erlaubt' abgelehnt wird.grünnie geprüft
TestDateipruefer
test_standarddatei_vorschlagen
Prüft, dass bei leerer Pfadangabe mit gesetzter Standarddatei 'standarddatei_vorschlagen' mit dem Standardpfad als Kontext geliefert wird.grünnie geprüft
TestDateipruefer
test_temporaer_erlaubt
Prüft, dass eine leere Pfadangabe bei temporaer_erlaubt=True als 'temporaer_erlaubt' ohne Kontext gemeldet wird.grünnie geprüft
TestDateipruefer
test_datei_nicht_gefunden
Prüft, dass ein nicht existierender Dateipfad als 'datei_nicht_gefunden' mit dem Pfad als Kontext abgelehnt wird.grünnie geprüft
TestDateipruefer
test_datei_ok
Prüft, dass ein existierender Dateipfad als 'ok' mit dem Pfad als Kontext bestätigt wird.grünnie geprüft

Unit-Tests für `sn_basis.functions.laenderkennung`.

TestGetLaenderkennung 5
flowchart TD
+  classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;
TestfallprüftStatusgeprüft
TestDateipruefer
test_leereingabe_erlaubt
Prüft, dass eine leere Pfadangabe bei leereingabe_erlaubt=True als 'leereingabe_erlaubt' ohne Kontext gemeldet wird.grüngeprüft am 2026-09-17
TestDateipruefer
test_leereingabe_nicht_erlaubt
Prüft, dass eine leere Pfadangabe ohne leereingabe_erlaubt als 'leereingabe_nicht_erlaubt' abgelehnt wird.grüngeprüft am 2026-09-17
TestDateipruefer
test_standarddatei_vorschlagen
Prüft, dass bei leerer Pfadangabe mit gesetzter Standarddatei 'standarddatei_vorschlagen' mit dem Standardpfad als Kontext geliefert wird.grünnie geprüft
TestDateipruefer
test_temporaer_erlaubt
Prüft, dass eine leere Pfadangabe bei temporaer_erlaubt=True als 'temporaer_erlaubt' ohne Kontext gemeldet wird.grüngeprüft am 2026-09-17
TestDateipruefer
test_datei_nicht_gefunden
Prüft, dass ein nicht existierender Dateipfad als 'datei_nicht_gefunden' mit dem Pfad als Kontext abgelehnt wird.grüngeprüft am 2026-09-17
TestDateipruefer
test_datei_ok
Prüft, dass ein existierender Dateipfad als 'ok' mit dem Pfad als Kontext bestätigt wird.grüngeprüft am 2026-09-17

Unit-Tests für `sn_basis.functions.laenderkennung`.

TestGetLaenderkennung 5
flowchart TD
   root(["test_laenderkennung.py"])
   class root rootnode
   root --> g1["TestGetLaenderkennung (5)"]
diff --git a/docs/tests/testkatalog.md b/docs/tests/testkatalog.md
index edea178..4209ee6 100644
--- a/docs/tests/testkatalog.md
+++ b/docs/tests/testkatalog.md
@@ -8,20 +8,20 @@ für die fachliche Frage, ob die Abdeckung sinnvoll ist. Die Angaben stammen aus
 selbst (Docstrings) und aus der Testbaseline.
 
 Stand der Baseline: `docs/status/testbaseline.json` (SHA-256 `aeabc946a7f3`)
-Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `e2ea4d5d5f8a`)
+Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `e3f7d1cb799c`)
 
 Gesamt: 3 Pakete, 31 Testdateien, 345 Testfälle – 302 grün, 35 rot (Baseline), 8 übersprungen.
 Mit Beschreibung (Docstring): 200 von 345 (58 %).
-Fachlich geprüft: 6 von 345 (2 %) aktuell, 0 veraltet seit Codeänderung, 339 nie geprüft.
+Fachlich geprüft: 11 von 345 (3 %) aktuell, 0 veraltet seit Codeänderung, 334 nie geprüft.
 
 ## Zusammenfassung
 
 | 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 %) | 6 von 94 (6 %) |
+| `sn_basis` | 14 | 94 | 94 | 0 | 0 | 94 von 94 (100 %) | 11 von 94 (12 %) |
 | `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 %) |
-| **Summe** | **31** | **345** | **302** | **35** | **8** | **200 von 345 (58 %)** | **6 von 345 (2 %)** |
+| **Summe** | **31** | **345** | **302** | **35** | **8** | **200 von 345 (58 %)** | **11 von 345 (3 %)** |
 
 ### Legende
 
@@ -69,12 +69,12 @@ Testgruppen:
 
 | Testfall | prüft | Status | geprüft |
 | --- | --- | --- | --- |
-| `TestDateipruefer.test_leereingabe_erlaubt` | Prüft, dass eine leere Pfadangabe bei leereingabe_erlaubt=True als 'leereingabe_erlaubt' ohne Kontext gemeldet wird. | grün | nie geprüft |
-| `TestDateipruefer.test_leereingabe_nicht_erlaubt` | Prüft, dass eine leere Pfadangabe ohne leereingabe_erlaubt als 'leereingabe_nicht_erlaubt' abgelehnt wird. | grün | nie geprüft |
+| `TestDateipruefer.test_leereingabe_erlaubt` | Prüft, dass eine leere Pfadangabe bei leereingabe_erlaubt=True als 'leereingabe_erlaubt' ohne Kontext gemeldet wird. | grün | geprüft am 2026-09-17 |
+| `TestDateipruefer.test_leereingabe_nicht_erlaubt` | Prüft, dass eine leere Pfadangabe ohne leereingabe_erlaubt als 'leereingabe_nicht_erlaubt' abgelehnt wird. | grün | geprüft am 2026-09-17 |
 | `TestDateipruefer.test_standarddatei_vorschlagen` | Prüft, dass bei leerer Pfadangabe mit gesetzter Standarddatei 'standarddatei_vorschlagen' mit dem Standardpfad als Kontext geliefert wird. | grün | nie geprüft |
-| `TestDateipruefer.test_temporaer_erlaubt` | Prüft, dass eine leere Pfadangabe bei temporaer_erlaubt=True als 'temporaer_erlaubt' ohne Kontext gemeldet wird. | grün | nie geprüft |
-| `TestDateipruefer.test_datei_nicht_gefunden` | Prüft, dass ein nicht existierender Dateipfad als 'datei_nicht_gefunden' mit dem Pfad als Kontext abgelehnt wird. | grün | nie geprüft |
-| `TestDateipruefer.test_datei_ok` | Prüft, dass ein existierender Dateipfad als 'ok' mit dem Pfad als Kontext bestätigt wird. | grün | nie geprüft |
+| `TestDateipruefer.test_temporaer_erlaubt` | Prüft, dass eine leere Pfadangabe bei temporaer_erlaubt=True als 'temporaer_erlaubt' ohne Kontext gemeldet wird. | grün | geprüft am 2026-09-17 |
+| `TestDateipruefer.test_datei_nicht_gefunden` | Prüft, dass ein nicht existierender Dateipfad als 'datei_nicht_gefunden' mit dem Pfad als Kontext abgelehnt wird. | grün | geprüft am 2026-09-17 |
+| `TestDateipruefer.test_datei_ok` | Prüft, dass ein existierender Dateipfad als 'ok' mit dem Pfad als Kontext bestätigt wird. | grün | geprüft am 2026-09-17 |
 
 ### `Plugin_SN_Basis/tests/test_laenderkennung.py`