1
0
Fork 0
mirror of https://github.com/borgbase/vorta synced 2024-12-23 00:07:58 +00:00
vorta/tests/integration/test_borg.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

57 lines
1.8 KiB
Python
Raw Normal View History

"""
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