|
|
@ -26,6 +26,27 @@ def test_make_database_dump_filename_with_invalid_name_raises(): |
|
|
|
module.make_database_dump_filename('databases', 'invalid/name') |
|
|
|
|
|
|
|
|
|
|
|
def test_flatten_dump_patterns_produces_list_of_all_patterns(): |
|
|
|
dump_patterns = {'postgresql_databases': ['*/glob', 'glob/*'], 'mysql_databases': ['*/*/*']} |
|
|
|
expected_patterns = dump_patterns['postgresql_databases'] + dump_patterns['mysql_databases'] |
|
|
|
|
|
|
|
assert module.flatten_dump_patterns(dump_patterns, ('bob',)) == expected_patterns |
|
|
|
|
|
|
|
|
|
|
|
def test_flatten_dump_patterns_with_no_patterns_errors(): |
|
|
|
dump_patterns = {'postgresql_databases': [], 'mysql_databases': []} |
|
|
|
|
|
|
|
with pytest.raises(ValueError): |
|
|
|
assert module.flatten_dump_patterns(dump_patterns, ('bob',)) |
|
|
|
|
|
|
|
|
|
|
|
def test_flatten_dump_patterns_with_no_hooks_errors(): |
|
|
|
dump_patterns = {} |
|
|
|
|
|
|
|
with pytest.raises(ValueError): |
|
|
|
assert module.flatten_dump_patterns(dump_patterns, ('bob',)) |
|
|
|
|
|
|
|
|
|
|
|
def test_remove_database_dumps_removes_dump_for_each_database(): |
|
|
|
databases = [{'name': 'foo'}, {'name': 'bar'}] |
|
|
|
flexmock(module).should_receive('make_database_dump_filename').and_return( |
|
|
@ -134,3 +155,15 @@ def test_get_per_hook_database_configurations_with_unknown_database_name_raises( |
|
|
|
|
|
|
|
with pytest.raises(ValueError): |
|
|
|
module.get_per_hook_database_configurations(hooks, names, dump_patterns) |
|
|
|
|
|
|
|
|
|
|
|
def test_get_per_hook_database_configurations_with_all_and_no_archive_dumps_raises(): |
|
|
|
hooks = {'postgresql_databases': [flexmock()]} |
|
|
|
names = ('foo', 'all') |
|
|
|
dump_patterns = flexmock() |
|
|
|
flexmock(module).should_receive('get_database_configurations').with_args( |
|
|
|
hooks['postgresql_databases'], names |
|
|
|
).and_return([]) |
|
|
|
|
|
|
|
with pytest.raises(ValueError): |
|
|
|
module.get_per_hook_database_configurations(hooks, names, dump_patterns) |