mirror of
https://github.com/borgbackup/borg.git
synced 2025-02-24 07:01:59 +00:00
remote: Test that the legacy free rpc bootstrap works.
This commit is contained in:
parent
bd3a4a2f92
commit
8955d8bb2a
2 changed files with 28 additions and 1 deletions
|
@ -431,6 +431,9 @@ def method(self):
|
|||
def required_version(self):
|
||||
return self.args[1]
|
||||
|
||||
# If compatibility with 1.0.x is not longer needed, replace all checks of this with True and simplify the code
|
||||
dictFormat = False # outside of __init__ for testing of legacy free protocol
|
||||
|
||||
def __init__(self, location, create=False, exclusive=False, lock_wait=None, lock=True, append_only=False, args=None):
|
||||
self.location = self._location = location
|
||||
self.preload_ids = []
|
||||
|
@ -442,7 +445,6 @@ def __init__(self, location, create=False, exclusive=False, lock_wait=None, lock
|
|||
self.ratelimit = SleepingBandwidthLimiter(args.remote_ratelimit * 1024 if args and args.remote_ratelimit else 0)
|
||||
|
||||
self.unpacker = msgpack.Unpacker(use_list=False)
|
||||
self.dictFormat = False
|
||||
self.server_version = parse_version('1.0.8') # fallback version if server is too old to send version information
|
||||
self.p = None
|
||||
testing = location.host == '__testsuite__'
|
||||
|
|
|
@ -723,6 +723,31 @@ class MockArgs:
|
|||
assert self.repository.borg_cmd(args, testing=False) == ['borg-0.28.2', 'serve', '--umask=077', '--info']
|
||||
|
||||
|
||||
class RemoteLegacyFree(RepositoryTestCaseBase):
|
||||
# Keep testing this so we can someday safely remove the legacy tuple format.
|
||||
|
||||
def open(self, create=False):
|
||||
with patch.object(RemoteRepository, 'dictFormat', True):
|
||||
return RemoteRepository(Location('__testsuite__:' + os.path.join(self.tmppath, 'repository')),
|
||||
exclusive=True, create=create)
|
||||
|
||||
def test_legacy_free(self):
|
||||
# put
|
||||
self.repository.put(H(0), b'foo')
|
||||
self.repository.commit()
|
||||
self.repository.close()
|
||||
# replace
|
||||
self.repository = self.open()
|
||||
with self.repository:
|
||||
self.repository.put(H(0), b'bar')
|
||||
self.repository.commit()
|
||||
# delete
|
||||
self.repository = self.open()
|
||||
with self.repository:
|
||||
self.repository.delete(H(0))
|
||||
self.repository.commit()
|
||||
|
||||
|
||||
@pytest.mark.skipif(sys.platform == 'cygwin', reason='remote is broken on cygwin and hangs')
|
||||
class RemoteRepositoryCheckTestCase(RepositoryCheckTestCase):
|
||||
|
||||
|
|
Loading…
Reference in a new issue