"""Tests für die SMB-Fehlerübersetzung (Speicherziele → Freigaben auflisten).""" from mounts import uebersetze_smb_fehler, validiere_name def test_access_denied_ohne_credentials_erklaert_gastproblem(): meldung = uebersetze_smb_fehler( "session setup failed: NT_STATUS_ACCESS_DENIED", mit_credentials=False ) assert "Gast" in meldung assert "Benutzername + Passwort" in meldung def test_access_denied_mit_credentials_verweist_auf_konto(): meldung = uebersetze_smb_fehler( "session setup failed: NT_STATUS_ACCESS_DENIED", mit_credentials=True ) assert "stimmen nicht" in meldung def test_logon_failure_wird_uebersetzt(): meldung = uebersetze_smb_fehler("NT_STATUS_LOGON_FAILURE", mit_credentials=True) assert "Passwort falsch" in meldung def test_unerreichbar_wird_uebersetzt(): meldung = uebersetze_smb_fehler( "do_connect: Connection to 10.0.0.9 failed (Error NT_STATUS_IO_TIMEOUT)", mit_credentials=False, ) assert "nicht erreichbar" in meldung def test_unbekannter_fehler_bleibt_erhalten_und_gekappt(): meldung = uebersetze_smb_fehler("X" * 500, mit_credentials=False) assert meldung == "X" * 200 def test_validiere_name_bleibt_streng(): assert validiere_name("nas-filme") assert not validiere_name("NAS Filme")