From d6cde55c63ed4c16b9932e488b300b2b4f7f5d0e Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Mon, 10 Mar 2008 15:42:56 -0700 Subject: [PATCH] mutable: minor refactoring of _do_read, to make other tests easier --- src/allmydata/mutable.py | 13 +++++++++---- src/allmydata/test/test_mutable.py | 4 +++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/allmydata/mutable.py b/src/allmydata/mutable.py index 8d861ea6..c57e5d69 100644 --- a/src/allmydata/mutable.py +++ b/src/allmydata/mutable.py @@ -1098,10 +1098,15 @@ class Publish: # the permuted peerlist. return d + def _do_read(self, ss, peerid, storage_index, shnums, readv): + # isolate the callRemote to a separate method, so tests can subclass + # Publish and override it + d = ss.callRemote("slot_readv", storage_index, shnums, readv) + return d + def _do_query(self, ss, peerid, storage_index): self.log("querying %s" % idlib.shortnodeid_b2a(peerid)) - d = ss.callRemote("slot_readv", - storage_index, [], [(0, self._read_size)]) + d = self._do_read(ss, peerid, storage_index, [], [(0, self._read_size)]) return d def _got_query_results(self, datavs, peerid, permutedid, @@ -1302,8 +1307,8 @@ class Publish: def _do_privkey_query(self, rref, peerid, shnum, offset, length): started = time.time() - d = rref.callRemote("slot_readv", self._storage_index, - [shnum], [(offset, length)] ) + d = self._do_read(rref, peerid, self._storage_index, + [shnum], [(offset, length)]) d.addCallback(self._privkey_query_response, peerid, shnum, started) return d diff --git a/src/allmydata/test/test_mutable.py b/src/allmydata/test/test_mutable.py index bc640366..18469836 100644 --- a/src/allmydata/test/test_mutable.py +++ b/src/allmydata/test/test_mutable.py @@ -47,8 +47,9 @@ class FakeFilenode(mutable.MutableFileNode): return defer.succeed(None) class FakePublish(mutable.Publish): - def _do_query(self, ss, peerid, storage_index): + def _do_read(self, ss, peerid, storage_index, shnums, readv): assert ss[0] == peerid + assert shnums == [] shares = self._peers[peerid] return defer.succeed(shares) @@ -275,6 +276,7 @@ class Publish(unittest.TestCase): p = FakePublish(fn) p._storage_index = "\x00"*32 p._new_seqnum = 3 + p._read_size = 1000 #r = mutable.Retrieve(fn) p._peers = {} for peerid in c._peerids: -- 2.45.2