Loading bridgedb/bridgerings.py +2 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,8 @@ class BridgeRing(object): pos = self.hmac(bridge.identity) if pos in self.bridges: del self.bridges[pos] if pos in self.sortedKeys: self.sortedKeys.remove(pos) def insert(self, bridge): """Add a **bridge** to this hashring. Loading bridgedb/test/test_bridgerings.py +14 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,20 @@ class BridgeRingTests(unittest.TestCase): self.assertGreaterEqual(len(bridges), 1) def test_remove(self): """Remove should remove the bridge from the map and sortedKeys""" bridges = copy.deepcopy(util.generateFakeBridges()) [self.ring.insert(bridge) for bridge in bridges] pos0 = self.ring.hmac(bridges[0].identity) pos1 = self.ring.hmac(bridges[1].identity) self.ring.remove(bridges[0]) self.assertIn(pos1, self.ring.sortedKeys) self.assertNotIn(pos0, self.ring.sortedKeys) self.assertIn(pos1, self.ring.bridges) self.assertNotIn(pos0, self.ring.bridges) def test_clear(self): """Clear should get rid of all the inserted bridges.""" self.addRandomBridges() Loading Loading
bridgedb/bridgerings.py +2 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,8 @@ class BridgeRing(object): pos = self.hmac(bridge.identity) if pos in self.bridges: del self.bridges[pos] if pos in self.sortedKeys: self.sortedKeys.remove(pos) def insert(self, bridge): """Add a **bridge** to this hashring. Loading
bridgedb/test/test_bridgerings.py +14 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,20 @@ class BridgeRingTests(unittest.TestCase): self.assertGreaterEqual(len(bridges), 1) def test_remove(self): """Remove should remove the bridge from the map and sortedKeys""" bridges = copy.deepcopy(util.generateFakeBridges()) [self.ring.insert(bridge) for bridge in bridges] pos0 = self.ring.hmac(bridges[0].identity) pos1 = self.ring.hmac(bridges[1].identity) self.ring.remove(bridges[0]) self.assertIn(pos1, self.ring.sortedKeys) self.assertNotIn(pos0, self.ring.sortedKeys) self.assertIn(pos1, self.ring.bridges) self.assertNotIn(pos0, self.ring.bridges) def test_clear(self): """Clear should get rid of all the inserted bridges.""" self.addRandomBridges() Loading