Newer
Older

Radoslav Bodó
committed
from subprocess import CompletedProcess
from unittest.mock import Mock, patch
from rwm import is_sublist, main as rwm_main, size_fmt, wrap_output
def test_sublist():
"""test sublist"""
assert is_sublist([], [])
assert is_sublist([1, 2, 3], [5, 4, 1, 2, 3, 6, 7])
assert not is_sublist([1, 3], [5, 4, 1, 2, 3, 6, 7])
def test_wrap_output():
"""test wrap_output"""

Radoslav Bodó
committed
assert wrap_output(CompletedProcess(args='dummy', returncode=11, stdout="dummy", stderr="dummy")) == 11
def test_size_fmt():
"""test sizefmt"""
assert size_fmt(1024) == "1.0 KiB"
assert size_fmt(10**25) == "8.3 YiB"
def _rwm_minconfig(args):
return rwm_main(["--config", "tests/rwmtest.conf"] + args)
def test_main():
assert _rwm_minconfig(["version"]) == 0
# command branches

Radoslav Bodó
committed
mock_proc = Mock(return_value=CompletedProcess(args='dummy', returncode=0))
mock_ok = Mock(return_value=0)
with patch.object(rwm.RWM, "aws_cmd", mock_proc):
assert _rwm_minconfig(["aws", "dummy"]) == 0
with patch.object(rwm.RWM, "restic_cmd", mock_proc):
assert _rwm_minconfig(["restic", "dummy"]) == 0

Radoslav Bodó
committed
with patch.object(rwm.RWM, "backup", mock_ok):
assert _rwm_minconfig(["backup", "dummy"]) == 0
with patch.object(rwm.RWM, "backup", mock_ok):
assert _rwm_minconfig(["backup-all"]) == 0
with patch.object(rwm.RWM, "storage_create", mock_ok):
assert _rwm_minconfig(["storage-create", "bucket", "user"]) == 0
with patch.object(rwm.RWM, "storage_delete", mock_ok):
assert _rwm_minconfig(["storage-delete", "bucket"]) == 0
with patch.object(rwm.RWM, "storage_list", mock_ok):
assert _rwm_minconfig(["storage-list"]) == 0

Radoslav Bodó
committed
with patch.object(rwm.RWM, "storage_info", mock_ok):
assert _rwm_minconfig(["storage-info", "dummy"]) == 0
with patch.object(rwm.RWM, "storage_state", mock_ok):
assert _rwm_minconfig(["storage-state", "dummy"]) == 0
with patch.object(rwm.RWM, "storage_drop_versions", mock_ok):
assert _rwm_minconfig(["storage-drop-versions", "bucket"]) == 0
with patch.object(rwm.RWM, "storage_restore_state", mock_ok):
assert _rwm_minconfig(["storage-restore-state", "bucket", "bucket", "state", "version"]) == 0

Radoslav Bodó
committed
# error handling
assert rwm_main(["--config", "notexist", "version"]) == 1