Ejemplo n.º 1
0
    def test_permute(self):
        sb = StorageFarmBroker(None, True)
        for k in ["%d" % i for i in range(5)]:
            sb.test_add_rref(k, "rref")

        self.failUnlessReallyEqual(self._permute(sb, "one"), ['3','1','0','4','2'])
        self.failUnlessReallyEqual(self._permute(sb, "two"), ['0','4','2','1','3'])
        sb.servers.clear()
        self.failUnlessReallyEqual(self._permute(sb, "one"), [])
Ejemplo n.º 2
0
    def test_permute(self):
        sb = StorageFarmBroker(None, True)
        for k in ["%d" % i for i in range(5)]:
            ann = {"anonymous-storage-FURL": "pb://abcde@nowhere/fake", "permutation-seed-base32": base32.b2a(k)}
            sb.test_add_rref(k, "rref", ann)

        self.failUnlessReallyEqual(self._permute(sb, "one"), ["3", "1", "0", "4", "2"])
        self.failUnlessReallyEqual(self._permute(sb, "two"), ["0", "4", "2", "1", "3"])
        sb.servers.clear()
        self.failUnlessReallyEqual(self._permute(sb, "one"), [])
Ejemplo n.º 3
0
    def test_permute(self):
        sb = StorageFarmBroker(None, True)
        for k in ["%d" % i for i in range(5)]:
            sb.test_add_rref(k, "rref")

        self.failUnlessReallyEqual(self._permute(sb, "one"),
                                   ['3', '1', '0', '4', '2'])
        self.failUnlessReallyEqual(self._permute(sb, "two"),
                                   ['0', '4', '2', '1', '3'])
        sb.servers.clear()
        self.failUnlessReallyEqual(self._permute(sb, "one"), [])
Ejemplo n.º 4
0
    def test_permute_with_preferred(self):
        sb = StorageFarmBroker(True, ['1','4'])
        for k in ["%d" % i for i in range(5)]:
            ann = {"anonymous-storage-FURL": "pb://abcde@nowhere/fake",
                   "permutation-seed-base32": base32.b2a(k) }
            sb.test_add_rref(k, "rref", ann)

        self.failUnlessReallyEqual(self._permute(sb, "one"), ['1','4','3','0','2'])
        self.failUnlessReallyEqual(self._permute(sb, "two"), ['4','1','0','2','3'])
        sb.servers.clear()
        self.failUnlessReallyEqual(self._permute(sb, "one"), [])
Ejemplo n.º 5
0
    def test_permute_with_preferred(self):
        sb = StorageFarmBroker(True, None, preferred_peers=['1','4'])
        for k in ["%d" % i for i in range(5)]:
            ann = {"anonymous-storage-FURL": "pb://abcde@nowhere/fake",
                   "permutation-seed-base32": base32.b2a(k) }
            sb.test_add_rref(k, "rref", ann)

        self.failUnlessReallyEqual(self._permute(sb, "one"), ['1','4','3','0','2'])
        self.failUnlessReallyEqual(self._permute(sb, "two"), ['4','1','0','2','3'])
        sb.servers.clear()
        self.failUnlessReallyEqual(self._permute(sb, "one"), [])
Ejemplo n.º 6
0
def make_storagebroker(s=None, num_peers=10):
    if not s:
        s = FakeStorage()
    peerids = [tagged_hash("peerid", "%d" % i)[:20]
               for i in range(num_peers)]
    storage_broker = StorageFarmBroker(True, None)
    for peerid in peerids:
        fss = FakeStorageServer(peerid, s)
        ann = {"anonymous-storage-FURL": "pb://%s@nowhere/fake" % base32.b2a(peerid),
               "permutation-seed-base32": base32.b2a(peerid) }
        storage_broker.test_add_rref(peerid, fss, ann)
    return storage_broker
Ejemplo n.º 7
0
def make_storagebroker(s=None, num_peers=10):
    if not s:
        s = FakeStorage()
    peerids = [tagged_hash("peerid", "%d" % i)[:20] for i in range(num_peers)]
    storage_broker = StorageFarmBroker(True)
    for peerid in peerids:
        fss = FakeStorageServer(peerid, s)
        ann = {
            "anonymous-storage-FURL":
            "pb://%s@nowhere/fake" % base32.b2a(peerid),
            "permutation-seed-base32": base32.b2a(peerid)
        }
        storage_broker.test_add_rref(peerid, fss, ann)
    return storage_broker
Ejemplo n.º 8
0
def make_storagebroker_with_peers(peers):
    """
    Make a ``StorageFarmBroker`` connected to the given storage servers.

    :param list peers: The storage servers to associate with the storage
        broker.
    """
    storage_broker = StorageFarmBroker(True, None, EMPTY_CLIENT_CONFIG)
    for peer in peers:
        storage_broker.test_add_rref(
            peer.peerid,
            peer.storage_server,
            peer.announcement,
        )
    return storage_broker