From fc0b076870c3a80a7e3e4d69cd91dcdcc102a4f3 Mon Sep 17 00:00:00 2001 From: Mrityunjay Raj Date: Tue, 19 May 2026 03:58:58 +0530 Subject: [PATCH] testsuite: cover get_repository v1_or_v2 lazy-import branches, refs #9556 --- src/borg/testsuite/archiver/_common_test.py | 30 +++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/borg/testsuite/archiver/_common_test.py diff --git a/src/borg/testsuite/archiver/_common_test.py b/src/borg/testsuite/archiver/_common_test.py new file mode 100644 index 000000000..d07fac5db --- /dev/null +++ b/src/borg/testsuite/archiver/_common_test.py @@ -0,0 +1,30 @@ +from unittest.mock import MagicMock, patch + + +def test_get_repository_ssh_v1_uses_legacy_remote(): + """get_repository picks LegacyRemoteRepository when proto=ssh and v1_or_v2=True.""" + from ...archiver._common import get_repository + + location = MagicMock() + location.proto = "ssh" + + with patch("borg.legacy.remote.LegacyRemoteRepository") as mock_cls: + get_repository(location, create=False, exclusive=False, lock_wait=None, lock=True, args=None, v1_or_v2=True) + + mock_cls.assert_called_once_with(location, create=False, exclusive=False, lock_wait=None, lock=True, args=None) + + +def test_get_repository_local_v1_uses_legacy_repository(tmp_path): + """get_repository picks LegacyRepository for a local-style path when v1_or_v2=True.""" + from ...archiver._common import get_repository + + # proto="file" with v1_or_v2=True skips the borgstore elif (which requires not v1_or_v2) + # and falls to the else branch where LegacyRepository is imported. + location = MagicMock() + location.proto = "file" + location.path = str(tmp_path) + + with patch("borg.legacy.repository.LegacyRepository") as mock_cls: + get_repository(location, create=False, exclusive=False, lock_wait=None, lock=True, args=None, v1_or_v2=True) + + mock_cls.assert_called_once_with(str(tmp_path), create=False, exclusive=False, lock_wait=None, lock=True)