33 lines
1006 B
Python
33 lines
1006 B
Python
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)
|