test_info.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. from flexmock import flexmock
  2. from borgmatic.actions import info as module
  3. def test_run_info_does_not_raise():
  4. flexmock(module.logger).answer = lambda message: None
  5. flexmock(module.borgmatic.config.validate).should_receive('repositories_match').and_return(True)
  6. flexmock(module.borgmatic.borg.repo_list).should_receive('resolve_archive_name').and_return(
  7. flexmock()
  8. )
  9. flexmock(module.borgmatic.actions.arguments).should_receive('update_arguments').and_return(
  10. flexmock()
  11. )
  12. flexmock(module.borgmatic.borg.info).should_receive('display_archives_info')
  13. info_arguments = flexmock(repository=flexmock(), archive=flexmock(), json=False)
  14. list(
  15. module.run_info(
  16. repository={'path': 'repo'},
  17. config={},
  18. local_borg_version=None,
  19. info_arguments=info_arguments,
  20. global_arguments=flexmock(log_json=False),
  21. local_path=None,
  22. remote_path=None,
  23. )
  24. )
  25. def test_run_info_produces_json():
  26. flexmock(module.logger).answer = lambda message: None
  27. flexmock(module.borgmatic.config.validate).should_receive('repositories_match').and_return(True)
  28. flexmock(module.borgmatic.borg.repo_list).should_receive('resolve_archive_name').and_return(
  29. flexmock()
  30. )
  31. flexmock(module.borgmatic.actions.arguments).should_receive('update_arguments').and_return(
  32. flexmock()
  33. )
  34. flexmock(module.borgmatic.borg.info).should_receive('display_archives_info').and_return(
  35. flexmock()
  36. )
  37. parsed_json = flexmock()
  38. flexmock(module.borgmatic.actions.json).should_receive('parse_json').and_return(parsed_json)
  39. info_arguments = flexmock(repository=flexmock(), archive=flexmock(), json=True)
  40. assert list(
  41. module.run_info(
  42. repository={'path': 'repo'},
  43. config={},
  44. local_borg_version=None,
  45. info_arguments=info_arguments,
  46. global_arguments=flexmock(log_json=False),
  47. local_path=None,
  48. remote_path=None,
  49. )
  50. ) == [parsed_json]