# sn_basis/test/test_dateipruefer.py import unittest from pathlib import Path from unittest.mock import patch from sn_basis.modules.Dateipruefer import Dateipruefer class TestDateipruefer(unittest.TestCase): # ----------------------------------------------------- # 1. Leere Eingabe erlaubt # ----------------------------------------------------- def test_leereingabe_erlaubt(self): pruefer = Dateipruefer( pfad="", leereingabe_erlaubt=True ) result = pruefer.pruefe() self.assertFalse(result.ok) self.assertEqual(result.aktion, "leereingabe_erlaubt") self.assertIsNone(result.kontext) # ----------------------------------------------------- # 2. Leere Eingabe nicht erlaubt # ----------------------------------------------------- def test_leereingabe_nicht_erlaubt(self): pruefer = Dateipruefer( pfad="", leereingabe_erlaubt=False ) result = pruefer.pruefe() self.assertFalse(result.ok) self.assertEqual(result.aktion, "leereingabe_nicht_erlaubt") self.assertIsNone(result.kontext) # ----------------------------------------------------- # 3. Standarddatei vorschlagen # ----------------------------------------------------- def test_standarddatei_vorschlagen(self): pruefer = Dateipruefer( pfad="", standarddatei="/tmp/std.txt" ) result = pruefer.pruefe() self.assertFalse(result.ok) self.assertEqual(result.aktion, "standarddatei_vorschlagen") self.assertEqual(result.kontext, Path("/tmp/std.txt")) # ----------------------------------------------------- # 4. Temporäre Datei erlaubt # ----------------------------------------------------- def test_temporaer_erlaubt(self): pruefer = Dateipruefer( pfad="", temporaer_erlaubt=True ) result = pruefer.pruefe() self.assertFalse(result.ok) self.assertEqual(result.aktion, "temporaer_erlaubt") self.assertIsNone(result.kontext) # ----------------------------------------------------- # 5. Datei existiert nicht # ----------------------------------------------------- @patch("sn_basis.modules.Dateipruefer.file_exists", return_value=False) def test_datei_nicht_gefunden(self, mock_exists): pruefer = Dateipruefer( pfad="/tmp/nichtvorhanden.txt" ) result = pruefer.pruefe() self.assertFalse(result.ok) self.assertEqual(result.aktion, "datei_nicht_gefunden") self.assertEqual(result.kontext, Path("/tmp/nichtvorhanden.txt")) # ----------------------------------------------------- # 6. Datei existiert # ----------------------------------------------------- @patch("sn_basis.modules.Dateipruefer.file_exists", return_value=True) def test_datei_ok(self, mock_exists): pruefer = Dateipruefer( pfad="/tmp/test.txt" ) result = pruefer.pruefe() self.assertTrue(result.ok) self.assertEqual(result.aktion, "ok") self.assertEqual(result.kontext, Path("/tmp/test.txt")) if __name__ == "__main__": unittest.main()