Add a test for raising NotEnoughSharesError when a Retrieve object is created with an insufficient servermap. refs #1742
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
This commit is contained in:
parent
7956e22d21
commit
e821c9e23d
|
@ -1330,6 +1330,23 @@ class Roundtrip(unittest.TestCase, testutil.ShouldFailMixin, PublishMixin):
|
||||||
d.addCallback(_remove_shares)
|
d.addCallback(_remove_shares)
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
def test_all_shares_vanished_new_servermap(self):
|
||||||
|
d = self.make_servermap()
|
||||||
|
def _remove_shares(servermap):
|
||||||
|
self._version = servermap.best_recoverable_version()
|
||||||
|
for shares in self._storage._peers.values()[2:]:
|
||||||
|
shares.clear()
|
||||||
|
return self.make_servermap()
|
||||||
|
d.addCallback(_remove_shares)
|
||||||
|
def _check(new_servermap):
|
||||||
|
d1 = self.shouldFail(NotEnoughSharesError,
|
||||||
|
"test_all_shares_vanished",
|
||||||
|
"ran out of servers",
|
||||||
|
self.do_download, new_servermap, version=self._version)
|
||||||
|
return d1
|
||||||
|
d.addCallback(_check)
|
||||||
|
return d
|
||||||
|
|
||||||
def test_no_servers(self):
|
def test_no_servers(self):
|
||||||
sb2 = make_storagebroker(num_peers=0)
|
sb2 = make_storagebroker(num_peers=0)
|
||||||
# if there are no servers, then a MODE_READ servermap should come
|
# if there are no servers, then a MODE_READ servermap should come
|
||||||
|
|
Loading…
Reference in New Issue