vorta/tests/test_snapshots.py

40 lines
1.3 KiB
Python
Raw Normal View History

2018-11-06 06:47:04 +00:00
import io
import pytest
from PyQt5 import QtCore
from vorta.models import BackupProfileModel, SnapshotModel
import vorta.borg
def test_prune_intervals(app, qtbot):
prune_intervals = ['hour', 'day', 'week', 'month', 'year']
main = app.main_window
tab = main.snapshotTab
profile = BackupProfileModel.get(id=1)
for i in prune_intervals:
getattr(tab, f'prune_{i}').setValue(9)
tab.save_prune_setting(None)
profile = profile.refresh()
assert getattr(profile, f'prune_{i}') == 9
def test_repo_list(app_with_repo, qtbot, mocker, borg_json_output):
main = app_with_repo.main_window
tab = main.snapshotTab
main.tabWidget.setCurrentIndex(3)
tab.list_action()
assert not tab.checkButton.isEnabled()
stdout, stderr = borg_json_output('list')
popen_result =mocker.MagicMock(stdout=stdout,
stderr=stderr,
returncode=0)
mocker.patch.object(vorta.borg.borg_thread, 'Popen', return_value=popen_result)
2018-11-20 06:50:26 +00:00
qtbot.waitUntil(lambda: main.createProgressText.text() == 'Refreshing snapshots done.')
2018-11-06 06:47:04 +00:00
assert SnapshotModel.select().count() == 6
assert main.createProgressText.text() == 'Refreshing snapshots done.'
assert tab.checkButton.isEnabled()