forked from AG_QGIS/Plugin_SN_Basis
104 lines
3.1 KiB
Python
104 lines
3.1 KiB
Python
# sn_basis/test/test_dateipruefer.py
|
|
|
|
import unittest
|
|
from unittest.mock import patch
|
|
|
|
from sn_basis.modules.Dateipruefer import Dateipruefer
|
|
from sn_basis.modules.pruef_ergebnis import pruef_ergebnis
|
|
|
|
|
|
|
|
|
|
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")
|
|
|
|
# -----------------------------------------------------
|
|
# 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")
|
|
|
|
# -----------------------------------------------------
|
|
# 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.pfad, "/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")
|
|
|
|
# -----------------------------------------------------
|
|
# 5. Datei existiert nicht
|
|
# -----------------------------------------------------
|
|
@patch("sn_basis.functions.syswrapper.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")
|
|
|
|
# -----------------------------------------------------
|
|
# 6. Datei existiert
|
|
# -----------------------------------------------------
|
|
@patch("sn_basis.functions.syswrapper.file_exists", return_value=True)
|
|
@patch("sn_basis.functions.syswrapper.is_file", return_value=True)
|
|
def test_datei_ok(self, mock_isfile, mock_exists):
|
|
pruefer = Dateipruefer(
|
|
pfad="/tmp/test.txt"
|
|
)
|
|
|
|
result = pruefer.pruefe()
|
|
|
|
self.assertTrue(result.ok)
|
|
self.assertEqual(result.aktion, "ok")
|
|
self.assertEqual(result.pfad, "/tmp/test.txt")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|