test_config.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from flexmock import flexmock
  2. from borgmatic.hooks.data_source import config as module
  3. def test_resolve_database_option_gets_hostname_from_container_ip():
  4. data_source = {
  5. 'container': 'original_container',
  6. 'hostname': 'original_hostname',
  7. 'restore_container': 'restore_container',
  8. 'restore_hostname': 'restore_hostname',
  9. }
  10. flexmock(module).should_receive('get_ip_from_container').with_args(
  11. 'original_container'
  12. ).and_return('container_ip_1')
  13. assert module.resolve_database_option('hostname', data_source) == 'container_ip_1'
  14. def test_resolve_database_option_gets_hostname_from_connection_params_container_ip():
  15. data_source = {
  16. 'container': 'original_container',
  17. 'hostname': 'original_hostname',
  18. 'restore_container': 'restore_container',
  19. 'restore_hostname': 'restore_hostname',
  20. }
  21. connection_params = {'container': 'connection_container', 'hostname': 'connection_hostname'}
  22. flexmock(module).should_receive('get_ip_from_container').with_args('original_container').never()
  23. flexmock(module).should_receive('get_ip_from_container').with_args(
  24. 'connection_container'
  25. ).and_return('container_ip_2')
  26. assert (
  27. module.resolve_database_option('hostname', data_source, connection_params)
  28. == 'container_ip_2'
  29. )
  30. def test_resolve_database_option_gets_hostname_from_restore_container_ip():
  31. data_source = {
  32. 'container': 'original_container',
  33. 'hostname': 'original_hostname',
  34. 'restore_container': 'restore_container',
  35. 'restore_hostname': 'restore_hostname',
  36. }
  37. flexmock(module).should_receive('get_ip_from_container').with_args('original_container').never()
  38. flexmock(module).should_receive('get_ip_from_container').with_args(
  39. 'restore_container'
  40. ).and_return('container_ip_3')
  41. assert module.resolve_database_option('hostname', data_source, restore=True) == 'container_ip_3'