1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- 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
- )
|