コード例 #1
0
 def test_multi(self):
     memcache_client = memcached.MemcacheRing(['1.2.3.4:11211'])
     mock = MockMemcached()
     memcache_client._client_cache['1.2.3.4:11211'] = [(mock, mock)] * 2
     memcache_client.set_multi(
         {
             'some_key1': [1, 2, 3],
             'some_key2': [4, 5, 6]
         }, 'multi_key')
     self.assertEquals(
         memcache_client.get_multi(('some_key2', 'some_key1'), 'multi_key'),
         [[4, 5, 6], [1, 2, 3]])
     esttimeout = time.time() + 10
     memcache_client.set_multi(
         {
             'some_key1': [1, 2, 3],
             'some_key2': [4, 5, 6]
         },
         'multi_key',
         timeout=10)
     self.assert_(-1 <= float(mock.cache.values()[0][1]) - esttimeout <= 1)
     self.assert_(-1 <= float(mock.cache.values()[1][1]) - esttimeout <= 1)
     self.assertEquals(
         memcache_client.get_multi(('some_key2', 'some_key1', 'not_exists'),
                                   'multi_key'),
         [[4, 5, 6], [1, 2, 3], None])
コード例 #2
0
 def test_delete(self):
     memcache_client = memcached.MemcacheRing(['1.2.3.4:11211'])
     mock = MockMemcached()
     memcache_client._client_cache['1.2.3.4:11211'] = [(mock, mock)] * 2
     memcache_client.set('some_key', [1, 2, 3])
     self.assertEquals(memcache_client.get('some_key'), [1, 2, 3])
     memcache_client.delete('some_key')
     self.assertEquals(memcache_client.get('some_key'), None)
コード例 #3
0
 def test_retry(self):
     logging.getLogger().addHandler(NullLoggingHandler())
     memcache_client = memcached.MemcacheRing(
         ['1.2.3.4:11211', '1.2.3.5:11211'])
     mock1 = ExplodingMockMemcached()
     mock2 = MockMemcached()
     memcache_client._client_cache['1.2.3.4:11211'] = [(mock2, mock2)]
     memcache_client._client_cache['1.2.3.5:11211'] = [(mock1, mock1)]
     memcache_client.set('some_key', [1, 2, 3])
     self.assertEquals(memcache_client.get('some_key'), [1, 2, 3])
     self.assertEquals(mock1.exploded, True)
コード例 #4
0
 def test_set_get(self):
     memcache_client = memcached.MemcacheRing(['1.2.3.4:11211'])
     mock = MockMemcached()
     memcache_client._client_cache['1.2.3.4:11211'] = [(mock, mock)] * 2
     memcache_client.set('some_key', [1, 2, 3])
     self.assertEquals(memcache_client.get('some_key'), [1, 2, 3])
     memcache_client.set('some_key', [4, 5, 6])
     self.assertEquals(memcache_client.get('some_key'), [4, 5, 6])
     self.assert_(float(mock.cache.values()[0][1]) == 0)
     esttimeout = time.time() + 10
     memcache_client.set('some_key', [1, 2, 3], timeout=10)
     self.assert_(-1 <= float(mock.cache.values()[0][1]) - esttimeout <= 1)
コード例 #5
0
 def test_get_conns(self):
     sock1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     sock1.bind(('127.0.0.1', 0))
     sock1.listen(1)
     sock1ipport = '%s:%s' % sock1.getsockname()
     sock2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     sock2.bind(('127.0.0.1', 0))
     sock2.listen(1)
     sock2ipport = '%s:%s' % sock2.getsockname()
     memcache_client = memcached.MemcacheRing([sock1ipport, sock2ipport])
     for conn in memcache_client._get_conns(
             '40000000000000000000000000000000'):
         self.assert_('%s:%s' % conn[2].getpeername() in (sock1ipport,
                                                          sock2ipport))
コード例 #6
0
 def test_decr(self):
     memcache_client = memcached.MemcacheRing(['1.2.3.4:11211'])
     mock = MockMemcached()
     memcache_client._client_cache['1.2.3.4:11211'] = [(mock, mock)] * 2
     memcache_client.decr('some_key', delta=5)
     self.assertEquals(memcache_client.get('some_key'), '0')
     memcache_client.incr('some_key', delta=15)
     self.assertEquals(memcache_client.get('some_key'), '15')
     memcache_client.decr('some_key', delta=4)
     self.assertEquals(memcache_client.get('some_key'), '11')
     memcache_client.decr('some_key', delta=15)
     self.assertEquals(memcache_client.get('some_key'), '0')
     mock.read_return_none = True
     self.assertRaises(memcached.MemcacheConnectionError,
                       memcache_client.decr,
                       'some_key',
                       delta=15)