diff --git a/src/borg/testsuite/archiver/rdelete_cmd.py b/src/borg/testsuite/archiver/rdelete_cmd.py index f6d8932da..ec2aff651 100644 --- a/src/borg/testsuite/archiver/rdelete_cmd.py +++ b/src/borg/testsuite/archiver/rdelete_cmd.py @@ -1,30 +1,25 @@ import os -import unittest + +import pytest from ...constants import * # NOQA -from . import ArchiverTestCaseBase, RemoteArchiverTestCaseBase, ArchiverTestCaseBinaryBase, RK_ENCRYPTION, BORG_EXES +from . import create_regular_file, cmd, RK_ENCRYPTION -class ArchiverTestCase(ArchiverTestCaseBase): - def test_delete_repo(self): - self.create_regular_file("file1", size=1024 * 80) - self.create_regular_file("dir2/file2", size=1024 * 80) - self.cmd(f"--repo={self.repository_location}", "rcreate", RK_ENCRYPTION) - self.cmd(f"--repo={self.repository_location}", "create", "test", "input") - self.cmd(f"--repo={self.repository_location}", "create", "test.2", "input") - os.environ["BORG_DELETE_I_KNOW_WHAT_I_AM_DOING"] = "no" - self.cmd(f"--repo={self.repository_location}", "rdelete", exit_code=2) - assert os.path.exists(self.repository_path) - os.environ["BORG_DELETE_I_KNOW_WHAT_I_AM_DOING"] = "YES" - self.cmd(f"--repo={self.repository_location}", "rdelete") - # Make sure the repo is gone - self.assertFalse(os.path.exists(self.repository_path)) +@pytest.mark.parametrize("archivers", ["archiver", "remote_archiver", "binary_archiver"]) +def test_delete_repo(archivers, request): + archiver = request.getfixturevalue(archivers) + repo_location, repo_path, input_path = archiver.repository_location, archiver.repository_path, archiver.input_path + create_regular_file(input_path, "file1", size=1024 * 80) + create_regular_file(input_path, "dir2/file2", size=1024 * 80) - -class RemoteArchiverTestCase(RemoteArchiverTestCaseBase, ArchiverTestCase): - """run the same tests, but with a remote repository""" - - -@unittest.skipUnless("binary" in BORG_EXES, "no borg.exe available") -class ArchiverTestCaseBinary(ArchiverTestCaseBinaryBase, ArchiverTestCase): - """runs the same tests, but via the borg binary""" + cmd(archiver, f"--repo={repo_location}", "rcreate", RK_ENCRYPTION) + cmd(archiver, f"--repo={repo_location}", "create", "test", "input") + cmd(archiver, f"--repo={repo_location}", "create", "test.2", "input") + os.environ["BORG_DELETE_I_KNOW_WHAT_I_AM_DOING"] = "no" + cmd(archiver, f"--repo={repo_location}", "rdelete", exit_code=2) + assert os.path.exists(repo_path) + os.environ["BORG_DELETE_I_KNOW_WHAT_I_AM_DOING"] = "YES" + cmd(archiver, f"--repo={repo_location}", "rdelete") + # Make sure the repo is gone + assert not os.path.exists(repo_path)