Beispiel #1
0
    def testConsistentHashing(self):
        from chorde.clients.memcached import MemcachedClient
        import threading
        c1 = MemcachedClient(
            ["127.0.0.1:11211", "127.0.0.2:11211", "127.0.0.3:11211"],
            checksum_key="test",
            encoding_cache=threading.local())
        c2 = MemcachedClient(["127.0.0.1:11211", "127.0.0.3:11211"],
                             checksum_key="test",
                             encoding_cache=threading.local())
        c3 = MemcachedClient(["127.0.0.3:11211"],
                             checksum_key="test",
                             encoding_cache=threading.local())

        # mock connects
        for c in (c1, c2, c3):
            for s in c.client.servers:
                s.connect = lambda *p, **kw: True

        s1 = c1.client._get_server("127.0.0.3:11211")[0]
        s2 = c2.client._get_server("127.0.0.3:11211")[0]
        s3 = c3.client._get_server("127.0.0.3:11211")[0]
        self.assertEqual(s1.address, c1.client.servers[-1].address)
        self.assertEqual(s2.address, c2.client.servers[-1].address)
        self.assertEqual(s3.address, c3.client.servers[-1].address)
Beispiel #2
0
 def _setUpClient(self):
     from chorde.clients.memcached import MemcachedClient
     import threading
     self.rclient = self.setUpClient()
     self.rclient.client.flush_all()
     self.bclient = MemcachedClient([DEFAULT_CLIENT_ADDR],
                                    checksum_key="test2",
                                    namespace="testns1",
                                    encoding_cache=threading.local())
     return MemcachedClient([DEFAULT_CLIENT_ADDR],
                            checksum_key="test3",
                            namespace="testns2",
                            encoding_cache=threading.local())
Beispiel #3
0
 def testEmptyServerList(self):
     from chorde.clients.memcached import MemcachedClient
     import threading
     client = MemcachedClient([],
                              checksum_key="test",
                              encoding_cache=threading.local())
     self.assertRaises(CacheMissError, client.get, 4)
Beispiel #4
0
 def testEmptyServerListStrictNoServers(self):
     from chorde.clients.memcached import MemcachedClient
     import threading
     client = MemcachedClient([],
                              checksum_key="test",
                              encoding_cache=threading.local(),
                              strict_no_servers=True)
     self.assertRaises(NoServersError, client.get, 4)
Beispiel #5
0
 def setUpClient(self, **kwargs):
     from chorde.clients.memcached import MemcachedClient
     import threading
     rv = MemcachedClient([DEFAULT_CLIENT_ADDR],
                          checksum_key="test",
                          encoding_cache=threading.local(),
                          **kwargs)
     rv.client.flush_all()
     return rv