Esempio n. 1
0
 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')
Esempio n. 2
0
 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')
Esempio n. 3
0
 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))
Esempio n. 4
0
 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())
Esempio n. 5
0
 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))
Esempio n. 6
0
 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())
Esempio n. 7
0
    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)
Esempio n. 8
0
    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)
Esempio n. 9
0
    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)
Esempio n. 10
0
    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)
Esempio n. 11
0
    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='******')
Esempio n. 12
0
 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)
Esempio n. 13
0
 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)