borgmatic/borgmatic/tests/unit/commands/test_borgmatic.py

39 lines
1.3 KiB
Python

from borgmatic.commands import borgmatic
from flexmock import flexmock
import json
import pytest
import sys
def test__run_commands_handles_multiple_json_outputs_in_array():
# THEN
(flexmock(borgmatic)
.should_receive("_run_commands_on_repository")
.times(3)
.replace_with(lambda args, consistency, json_results, local_path, location, remote_path, retention, storage,
unexpanded_repository: json_results.append({"whatever": unexpanded_repository}))
)
(flexmock(sys.stdout)
.should_call("write")
.with_args(json.dumps(json.loads('''
[
{"whatever": "fake_repo1"},
{"whatever": "fake_repo2"},
{"whatever": "fake_repo3"}
]
''')))
)
borgmatic._run_commands(args=flexmock(json=True),
consistency=None,
local_path=None,
location={"repositories": [
"fake_repo1",
"fake_repo2",
"fake_repo3"
]},
remote_path=None,
retention=None,
storage=None)