test_export_tar.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. from flexmock import flexmock
  2. from borgmatic.actions import export_tar as module
  3. def test_run_export_tar_does_not_raise():
  4. flexmock(module.logger).answer = lambda message: None
  5. flexmock(module.borgmatic.borg.export_tar).should_receive('export_tar_archive')
  6. export_tar_arguments = flexmock(
  7. repository=flexmock(),
  8. archive=flexmock(),
  9. paths=flexmock(),
  10. destination=flexmock(),
  11. tar_filter=flexmock(),
  12. list_details=flexmock(),
  13. strip_components=flexmock(),
  14. )
  15. global_arguments = flexmock(monitoring_verbosity=1, dry_run=False)
  16. module.run_export_tar(
  17. repository={'path': 'repo'},
  18. config={},
  19. local_borg_version=None,
  20. export_tar_arguments=export_tar_arguments,
  21. global_arguments=global_arguments,
  22. local_path=None,
  23. remote_path=None,
  24. )
  25. def test_run_export_tar_favors_flags_over_config():
  26. flexmock(module.logger).answer = lambda message: None
  27. flexmock(module.borgmatic.borg.export_tar).should_receive('export_tar_archive').with_args(
  28. object,
  29. object,
  30. object,
  31. object,
  32. object,
  33. object,
  34. object,
  35. object,
  36. local_path=object,
  37. remote_path=object,
  38. tar_filter=object,
  39. strip_components=object,
  40. ).once()
  41. export_tar_arguments = flexmock(
  42. repository=flexmock(),
  43. archive=flexmock(),
  44. paths=flexmock(),
  45. destination=flexmock(),
  46. tar_filter=flexmock(),
  47. list_details=False,
  48. strip_components=flexmock(),
  49. )
  50. global_arguments = flexmock(monitoring_verbosity=1, dry_run=False)
  51. module.run_export_tar(
  52. repository={'path': 'repo'},
  53. config={'list_details': True},
  54. local_borg_version=None,
  55. export_tar_arguments=export_tar_arguments,
  56. global_arguments=global_arguments,
  57. local_path=None,
  58. remote_path=None,
  59. )
  60. def test_run_export_tar_defaults_to_config():
  61. flexmock(module.logger).answer = lambda message: None
  62. flexmock(module.borgmatic.borg.export_tar).should_receive('export_tar_archive').with_args(
  63. object,
  64. object,
  65. object,
  66. object,
  67. object,
  68. object,
  69. object,
  70. object,
  71. local_path=object,
  72. remote_path=object,
  73. tar_filter=object,
  74. strip_components=object,
  75. ).once()
  76. export_tar_arguments = flexmock(
  77. repository=flexmock(),
  78. archive=flexmock(),
  79. paths=flexmock(),
  80. destination=flexmock(),
  81. tar_filter=flexmock(),
  82. list_details=None,
  83. strip_components=flexmock(),
  84. )
  85. global_arguments = flexmock(monitoring_verbosity=1, dry_run=False)
  86. module.run_export_tar(
  87. repository={'path': 'repo'},
  88. config={'list_details': True},
  89. local_borg_version=None,
  90. export_tar_arguments=export_tar_arguments,
  91. global_arguments=global_arguments,
  92. local_path=None,
  93. remote_path=None,
  94. )