1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
"""
This file contains tests that directly call borg commands and verify the exit code.
"""
from pathlib import Path
import pytest
import vorta.borg
import vorta.store.models
from vorta.borg.info_archive import BorgInfoArchiveJob
from vorta.borg.info_repo import BorgInfoRepoJob
from vorta.borg.prune import BorgPruneJob
def test_borg_prune(qapp, qtbot):
"""This test runs borg prune on a test repo directly without UI"""
params = BorgPruneJob.prepare(vorta.store.models.BackupProfileModel.select().first())
thread = BorgPruneJob(params['cmd'], params, qapp)
with qtbot.waitSignal(thread.result, **pytest._wait_defaults) as blocker:
blocker.connect(thread.updated)
thread.run()
assert blocker.args[0]['returncode'] == 0
def test_borg_repo_info(qapp, qtbot, tmpdir):
"""This test runs borg info on a test repo directly without UI"""
repo_info = {
'repo_url': str(Path(tmpdir).parent / 'repo0'),
'repo_name': 'repo0',
'extra_borg_arguments': '',
'ssh_key': '',
'password': '',
}
params = BorgInfoRepoJob.prepare(repo_info)
thread = BorgInfoRepoJob(params['cmd'], params, qapp)
with qtbot.waitSignal(thread.result, **pytest._wait_defaults) as blocker:
blocker.connect(thread.result)
thread.run()
assert blocker.args[0]['returncode'] == 0
def test_borg_archive_info(qapp, qtbot, archive_env):
"""Check that archive info command works"""
params = BorgInfoArchiveJob.prepare(vorta.store.models.BackupProfileModel.select().first(), "test-archive1")
thread = BorgInfoArchiveJob(params['cmd'], params, qapp)
with qtbot.waitSignal(thread.result, **pytest._wait_defaults) as blocker:
blocker.connect(thread.result)
thread.run()
assert blocker.args[0]['returncode'] == 0
|