repo_delete_cmd.py 1.2 KB

123456789101112131415161718192021222324252627282930
  1. import os
  2. import pytest
  3. from ...constants import * # NOQA
  4. from ...helpers import CancelledByUser
  5. from . import create_regular_file, cmd, generate_archiver_tests, RK_ENCRYPTION
  6. pytest_generate_tests = lambda metafunc: generate_archiver_tests(metafunc, kinds="local,remote,binary") # NOQA
  7. def test_delete_repo(archivers, request):
  8. archiver = request.getfixturevalue(archivers)
  9. create_regular_file(archiver.input_path, "file1", size=1024 * 80)
  10. create_regular_file(archiver.input_path, "dir2/file2", size=1024 * 80)
  11. cmd(archiver, "repo-create", RK_ENCRYPTION)
  12. cmd(archiver, "create", "test", "input")
  13. cmd(archiver, "create", "test.2", "input")
  14. os.environ["BORG_DELETE_I_KNOW_WHAT_I_AM_DOING"] = "no"
  15. if archiver.FORK_DEFAULT:
  16. expected_ec = CancelledByUser().exit_code
  17. cmd(archiver, "repo-delete", exit_code=expected_ec)
  18. else:
  19. with pytest.raises(CancelledByUser):
  20. cmd(archiver, "repo-delete")
  21. assert os.path.exists(archiver.repository_path)
  22. os.environ["BORG_DELETE_I_KNOW_WHAT_I_AM_DOING"] = "YES"
  23. cmd(archiver, "repo-delete")
  24. # Make sure the repo is gone
  25. assert not os.path.exists(archiver.repository_path)