test_list.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from flexmock import flexmock
  2. from borgmatic.actions import list as module
  3. def test_run_list_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.list).should_receive('list_archive')
  13. list_arguments = flexmock(
  14. repository=flexmock(),
  15. archive=flexmock(),
  16. json=False,
  17. find_paths=None,
  18. )
  19. list(
  20. module.run_list(
  21. repository={'path': 'repo'},
  22. config={},
  23. local_borg_version=None,
  24. list_arguments=list_arguments,
  25. global_arguments=flexmock(log_json=False),
  26. local_path=None,
  27. remote_path=None,
  28. ),
  29. )
  30. def test_run_list_produces_json():
  31. flexmock(module.logger).answer = lambda message: None
  32. flexmock(module.borgmatic.config.validate).should_receive('repositories_match').and_return(True)
  33. flexmock(module.borgmatic.borg.repo_list).should_receive('resolve_archive_name').and_return(
  34. flexmock(),
  35. )
  36. flexmock(module.borgmatic.actions.arguments).should_receive('update_arguments').and_return(
  37. flexmock(),
  38. )
  39. flexmock(module.borgmatic.borg.list).should_receive('list_archive').and_return(flexmock())
  40. parsed_json = flexmock()
  41. flexmock(module.borgmatic.actions.json).should_receive('parse_json').and_return(parsed_json)
  42. list_arguments = flexmock(repository=flexmock(), archive=flexmock(), json=True)
  43. assert list(
  44. module.run_list(
  45. repository={'path': 'repo'},
  46. config={},
  47. local_borg_version=None,
  48. list_arguments=list_arguments,
  49. global_arguments=flexmock(log_json=False),
  50. local_path=None,
  51. remote_path=None,
  52. ),
  53. ) == [parsed_json]