Files

55 lines
1.9 KiB
Python

from flexmock import flexmock
from borgmatic.hooks.data_source import config as module
def test_resolve_database_option_gets_hostname_from_container_ip():
data_source = {
'container': 'original_container',
'hostname': 'original_hostname',
'restore_container': 'restore_container',
'restore_hostname': 'restore_hostname',
}
flexmock(module).should_receive('get_ip_from_container').with_args(
'original_container'
).and_return('container_ip_1')
assert module.resolve_database_option('hostname', data_source) == 'container_ip_1'
def test_resolve_database_option_gets_hostname_from_connection_params_container_ip():
data_source = {
'container': 'original_container',
'hostname': 'original_hostname',
'restore_container': 'restore_container',
'restore_hostname': 'restore_hostname',
}
connection_params = {'container': 'connection_container', 'hostname': 'connection_hostname'}
flexmock(module).should_receive('get_ip_from_container').with_args('original_container').never()
flexmock(module).should_receive('get_ip_from_container').with_args(
'connection_container'
).and_return('container_ip_2')
assert (
module.resolve_database_option('hostname', data_source, connection_params)
== 'container_ip_2'
)
def test_resolve_database_option_gets_hostname_from_restore_container_ip():
data_source = {
'container': 'original_container',
'hostname': 'original_hostname',
'restore_container': 'restore_container',
'restore_hostname': 'restore_hostname',
}
flexmock(module).should_receive('get_ip_from_container').with_args('original_container').never()
flexmock(module).should_receive('get_ip_from_container').with_args(
'restore_container'
).and_return('container_ip_3')
assert module.resolve_database_option('hostname', data_source, restore=True) == 'container_ip_3'