Unit tests for attic invocation code.
This commit is contained in:
parent
c7d68246cd
commit
cdb4035bab
1 changed files with 86 additions and 0 deletions
86
atticmatic/tests/unit/test_attic.py
Normal file
86
atticmatic/tests/unit/test_attic.py
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
from flexmock import flexmock
|
||||||
|
|
||||||
|
from atticmatic import attic as module
|
||||||
|
|
||||||
|
|
||||||
|
def insert_subprocess_mock(check_call_command):
|
||||||
|
subprocess = flexmock()
|
||||||
|
subprocess.should_receive('check_call').with_args(check_call_command).once()
|
||||||
|
flexmock(module).subprocess = subprocess
|
||||||
|
|
||||||
|
|
||||||
|
def insert_platform_mock():
|
||||||
|
flexmock(module).platform = flexmock().should_receive('node').and_return('host').mock
|
||||||
|
|
||||||
|
|
||||||
|
def insert_datetime_mock():
|
||||||
|
flexmock(module).datetime = flexmock().should_receive('now').and_return(
|
||||||
|
flexmock().should_receive('isoformat').and_return('now').mock
|
||||||
|
).mock
|
||||||
|
|
||||||
|
|
||||||
|
def test_create_archive_should_call_attic_with_parameters():
|
||||||
|
insert_subprocess_mock(
|
||||||
|
('attic', 'create', '--exclude-from', 'excludes', 'repo::host-now', 'foo', 'bar'),
|
||||||
|
)
|
||||||
|
insert_platform_mock()
|
||||||
|
insert_datetime_mock()
|
||||||
|
|
||||||
|
module.create_archive(
|
||||||
|
excludes_filename='excludes',
|
||||||
|
verbose=False,
|
||||||
|
source_directories='foo bar',
|
||||||
|
repository='repo',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_create_archive_with_verbose_should_call_attic_with_verbose_parameters():
|
||||||
|
insert_subprocess_mock(
|
||||||
|
(
|
||||||
|
'attic', 'create', '--exclude-from', 'excludes', 'repo::host-now', 'foo', 'bar',
|
||||||
|
'--verbose', '--stats',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
insert_platform_mock()
|
||||||
|
insert_datetime_mock()
|
||||||
|
|
||||||
|
module.create_archive(
|
||||||
|
excludes_filename='excludes',
|
||||||
|
verbose=True,
|
||||||
|
source_directories='foo bar',
|
||||||
|
repository='repo',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_prune_archives_should_call_attic_with_parameters():
|
||||||
|
insert_subprocess_mock(
|
||||||
|
(
|
||||||
|
'attic', 'prune', 'repo', '--keep-daily', '1', '--keep-weekly', '2', '--keep-monthly',
|
||||||
|
'3',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
module.prune_archives(
|
||||||
|
repository='repo',
|
||||||
|
verbose=False,
|
||||||
|
keep_daily=1,
|
||||||
|
keep_weekly=2,
|
||||||
|
keep_monthly=3
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_prune_archives_with_verbose_should_call_attic_with_verbose_parameters():
|
||||||
|
insert_subprocess_mock(
|
||||||
|
(
|
||||||
|
'attic', 'prune', 'repo', '--keep-daily', '1', '--keep-weekly', '2', '--keep-monthly',
|
||||||
|
'3', '--verbose',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
module.prune_archives(
|
||||||
|
repository='repo',
|
||||||
|
verbose=True,
|
||||||
|
keep_daily=1,
|
||||||
|
keep_weekly=2,
|
||||||
|
keep_monthly=3
|
||||||
|
)
|
Loading…
Reference in a new issue