Пример #1
0
 def test_remove_node(self):
     hash = HashRing()
     hash.add_node('redis1')
     self.assertTrue(hash.check_node_in_ring('redis1'))
     hash.remove_node('redis1')
     self.assertFalse(hash.check_node_in_ring('redis1'))
     hash.free()
Пример #2
0
 def test_remove_node(self):
     hash = HashRing()
     hash.add_node('redis1')
     self.assertTrue(hash.check_node_in_ring('redis1'))
     hash.remove_node('redis1')
     self.assertFalse(hash.check_node_in_ring('redis1'))
     hash.free()
Пример #3
0
 def test_find_nodes(self):
     """ Based on hash_ring_test's test """
     new_hash = HashRing(["slotA", "slotB"],
                         num_replicas=8,
                         hash_fn=HashFunction.SHA1)
     keyA = 'keyA'
     keyB = 'keyB*_*_*_'
     servers = new_hash.find_nodes(keyA, 3)
     self.assertEquals(servers, ['slotA', 'slotB'])
     servers = new_hash.find_nodes(keyB, 3)
     self.assertEquals(servers, ['slotB', 'slotA'])
     new_hash.add_node('slotC')
     servers = new_hash.find_nodes(keyA, 3)
     self.assertEquals(servers, ['slotC', 'slotA', 'slotB'])
     servers = new_hash.find_nodes(keyB, 3)
     self.assertEquals(servers, ['slotC', 'slotB', 'slotA'])
     servers = new_hash.find_nodes(keyA, 2)
     self.assertEquals(servers, ['slotC', 'slotA'])
     servers = new_hash.find_nodes(keyB, 2)
     self.assertEquals(servers, ['slotC', 'slotB'])
     new_hash.free()
Пример #4
0
 def test_find_nodes(self):
     """ Based on hash_ring_test's test """
     new_hash = HashRing(
         ["slotA", "slotB"],
         num_replicas = 8,
         hash_fn = HashFunction.SHA1)
     keyA = 'keyA'
     keyB = 'keyB*_*_*_'
     servers = new_hash.find_nodes(keyA, 3)
     self.assertEquals(servers, ['slotA', 'slotB'])
     servers = new_hash.find_nodes(keyB, 3)
     self.assertEquals(servers, ['slotB', 'slotA'])
     new_hash.add_node('slotC')
     servers = new_hash.find_nodes(keyA, 3)
     self.assertEquals(servers, ['slotC', 'slotA', 'slotB'])
     servers = new_hash.find_nodes(keyB, 3)
     self.assertEquals(servers, ['slotC', 'slotB', 'slotA'])
     servers = new_hash.find_nodes(keyA, 2)
     self.assertEquals(servers, ['slotC', 'slotA'])
     servers = new_hash.find_nodes(keyB, 2)
     self.assertEquals(servers, ['slotC', 'slotB'])
     new_hash.free()