def test_get_slot_slaves(self): clustermap = ClusterMap(self.seeds) clustermap._fetch_map = Mock() clustermap._fetch_map.return_value = self.map clustermap.update(clustermap.id) result = clustermap.get_slot('blarg') self.assertEqual(result, '127.0.0.1_7001')
def test_get_slot_slaves(self): clustermap = ClusterMap(self.seeds) clustermap._fetch_map = Mock() clustermap._fetch_map.return_value = self.map clustermap.update(clustermap.id) result = clustermap.get_slot(u'blarg') self.assertEqual(result, u'127.0.0.1_7001')
def test_hosts_slaves(self): clustermap = ClusterMap(self.seeds) clustermap._fetch_map = Mock() clustermap._fetch_map.return_value = self.minimap clustermap.update(clustermap.id) self.assertEqual( (set([u'127.0.0.1_7003', u'127.0.0.1_7004', u'127.0.0.1_7005'])), clustermap.hosts(slave=True))
def test_hosts_master(self): clustermap = ClusterMap(self.seeds) clustermap._fetch_map = Mock() clustermap._fetch_map.return_value = self.minimap clustermap.update(clustermap.id) self.assertEqual( (set([u'127.0.0.1_7000', u'127.0.0.1_7001', u'127.0.0.1_7002'])), clustermap.hosts())
def test_hosts_slaves(self): clustermap = ClusterMap(self.seeds) clustermap._fetch_map = Mock() clustermap._fetch_map.return_value = self.minimap clustermap.update(clustermap.id) self.assertEqual( ({'127.0.0.1_7003', '127.0.0.1_7004', '127.0.0.1_7005'}), clustermap.hosts(slave=True))
def test_hosts_master(self): clustermap = ClusterMap(self.seeds) clustermap._fetch_map = Mock() clustermap._fetch_map.return_value = self.minimap clustermap.update(clustermap.id) self.assertEqual( ({'127.0.0.1_7000', '127.0.0.1_7001', '127.0.0.1_7002'}), clustermap.hosts())
def test__fetch_map_first_try_ok(self): conn1 = Mock() conn1.read.return_value = self.map self.connection_mock.return_value = conn1 clustermap = ClusterMap(self.seeds) result = clustermap._fetch_map() self.assertEqual(result, self.map) conn1.write.assert_called_with(u'CLUSTER', u'SLOTS') self.assertTrue(conn1.close.called)
def test__fetch_map_first_try_ok(self): conn1 = Mock() conn1.read.return_value = self.map self.connection_mock.return_value = conn1 clustermap = ClusterMap(self.seeds) result = clustermap._fetch_map() self.assertEqual(result, self.map) conn1.write.assert_called_with('CLUSTER', 'SLOTS') self.assertTrue(conn1.close.called)
def test__fetch_map_second_try_ok(self): conn1 = Mock() conn1.read.side_effect = PyRedisError conn2 = Mock() conn2.read.return_value = self.map self.connection_mock.side_effect = [conn1, conn2] clustermap = ClusterMap(self.seeds) result = clustermap._fetch_map() self.assertEqual(result, self.map) conn1.write.assert_called_with(u'CLUSTER', u'SLOTS') self.assertTrue(conn1.close.called) conn2.write.assert_called_with(u'CLUSTER', u'SLOTS') self.assertTrue(conn2.close.called)
def test__fetch_map_second_try_ok(self): conn1 = Mock() conn1.read.side_effect = PyRedisError conn2 = Mock() conn2.read.return_value = self.map self.connection_mock.side_effect = [conn1, conn2] clustermap = ClusterMap(self.seeds) result = clustermap._fetch_map() self.assertEqual(result, self.map) conn1.write.assert_called_with('CLUSTER', 'SLOTS') self.assertTrue(conn1.close.called) conn2.write.assert_called_with('CLUSTER', 'SLOTS') self.assertTrue(conn2.close.called)
def test__fetch_map_first_try_ok(self): conn1 = Mock() conn1.read.return_value = self.map self.connection_mock.return_value = conn1 clustermap = ClusterMap(self.seeds, password="******") result = clustermap._fetch_map() self.assertEqual(result, self.map) conn1.write.assert_called_with(b'CLUSTER', b'SLOTS') self.assertTrue(conn1.close.called) self.connection_mock.assert_called_with(host='host1', port=12345, encoding='utf-8', password='******')
def test_update(self): clustermap = ClusterMap(self.seeds) update = Mock() id = clustermap.id clustermap._update_slot = update clustermap._fetch_map = Mock() clustermap._fetch_map.return_value = self.minimap id_new = clustermap.update(clustermap.id) clustermap._update_slot.assert_has_calls([ call(0, [u'127.0.0.1', 7000], [[u'127.0.0.1', 7003]]), call(1, [u'127.0.0.1', 7000], [[u'127.0.0.1', 7003]]), call(2, [u'127.0.0.1', 7000], [[u'127.0.0.1', 7003]]), call(3, [u'127.0.0.1', 7001], [[u'127.0.0.1', 7004]]), call(4, [u'127.0.0.1', 7002], [[u'127.0.0.1', 7005]]), call(5, [u'127.0.0.1', 7002], [[u'127.0.0.1', 7005]]) ]) self.assertNotEqual(clustermap.id, id) self.assertEqual(clustermap.id, id_new)
def test_update(self): clustermap = ClusterMap(self.seeds) update = Mock() id = clustermap.id clustermap._update_slot = update clustermap._fetch_map = Mock() clustermap._fetch_map.return_value = self.minimap id_new = clustermap.update(clustermap.id) clustermap._update_slot.assert_has_calls( [ call(0, ['127.0.0.1', 7000], [['127.0.0.1', 7003]]), call(1, ['127.0.0.1', 7000], [['127.0.0.1', 7003]]), call(2, ['127.0.0.1', 7000], [['127.0.0.1', 7003]]), call(3, ['127.0.0.1', 7001], [['127.0.0.1', 7004]]), call(4, ['127.0.0.1', 7002], [['127.0.0.1', 7005]]), call(5, ['127.0.0.1', 7002], [['127.0.0.1', 7005]]) ] ) self.assertNotEqual(clustermap.id, id) self.assertEqual(clustermap.id, id_new)