from __future__ import annotations import subprocess from bakrest.server_check import share_is_reachable def test_share_is_reachable_returns_true_on_zero_exit(monkeypatch) -> None: def fake_run(*args, **kwargs): return subprocess.CompletedProcess(args[0], 0) monkeypatch.setattr("bakrest.server_check.subprocess.run", fake_run) assert share_is_reachable("\\\\server\\share", 3) def test_share_is_reachable_returns_false_on_nonzero_exit(monkeypatch) -> None: def fake_run(*args, **kwargs): return subprocess.CompletedProcess(args[0], 1) monkeypatch.setattr("bakrest.server_check.subprocess.run", fake_run) assert not share_is_reachable("\\\\server\\share", 3) def test_share_is_reachable_returns_false_on_timeout(monkeypatch) -> None: def fake_run(*args, **kwargs): raise subprocess.TimeoutExpired(args[0], 3) monkeypatch.setattr("bakrest.server_check.subprocess.run", fake_run) assert not share_is_reachable("\\\\server\\share", 3)