def test_performRequestCreatesConnectionsUntilMaxBusy(self): """ Test that L{MemCachePool.performRequest} will create new connections until it reaches the maximum number of busy clients. """ def _checkResult(result): self.assertEquals(result, (0, 'baz')) self.pool.suggestMaxClients(2) p = InMemoryMemcacheProtocol() p.set('foo', 'bar') p1 = InMemoryMemcacheProtocol() p1.set('foo', 'baz') self.pool.clientBusy(p) d = self.pool.performRequest('get', 'foo') args, kwargs = self.reactor.calls.pop() self.assertEquals(args[:2], (MC_ADDRESS.host, MC_ADDRESS.port)) self.failUnless(isinstance(args[2], MemCacheClientFactory)) self.assertEquals(kwargs, {}) args[2].deferred.callback(p1) return d
def test_performRequestMaxBusyQueuesRequest(self): """ Test that L{MemCachePool.performRequest} queues the request if all clients are busy. """ def _checkResult(result): self.assertEquals(result, (0, 'bar')) self.assertEquals(self.reactor.calls, []) p = InMemoryMemcacheProtocol() p.set('foo', 'bar') p1 = InMemoryMemcacheProtocol() p1.set('foo', 'baz') self.pool.suggestMaxClients(2) self.pool.clientBusy(p) self.pool.clientBusy(p1) d = self.pool.performRequest('get', 'foo') d.addCallback(_checkResult) self.pool.clientFree(p) return d
def test_performRequestUsesFreeConnection(self): """ Test that L{MemCachePool.performRequest} doesn't create a new connection to be created if there is a free connection. """ def _checkResult(result): self.assertEquals(result, (0, 'bar')) self.assertEquals(self.reactor.calls, []) p = InMemoryMemcacheProtocol() p.set('foo', 'bar') self.pool.clientFree(p) d = self.pool.performRequest('get', 'foo') d.addCallback(_checkResult) return d
def test_performRequestCreatesConnection(self): """ Test that L{MemCachePool.performRequest} on a fresh instance causes a new connection to be created. """ results = [] p = InMemoryMemcacheProtocol() p.set('foo', 'bar') d = self.pool.performRequest('get', 'foo') d.addCallback(results.append) args, _ignore_kwargs = self.reactor.calls.pop() self.assertEquals(args[:2], (MC_ADDRESS.host, MC_ADDRESS.port)) self.clientFactories[-1].deferred.callback(p) self.assertEquals(results, [(0, 'bar')])
def test_performRequestCreatesConnectionsUntilMaxBusy(self): """ Test that L{MemCachePool.performRequest} will create new connections until it reaches the maximum number of busy clients. """ def _checkResult(result): self.assertEquals(result, (0, 'baz')) self.pool.suggestMaxClients(2) p = InMemoryMemcacheProtocol() p.set('foo', 'bar') p1 = InMemoryMemcacheProtocol() p1.set('foo', 'baz') self.pool.clientBusy(p) self.pool.performRequest('get', 'foo') args, _ignore_kwargs = self.reactor.calls.pop() self.assertEquals(args[:2], (MC_ADDRESS.host, MC_ADDRESS.port))
def test_performRequestCreatesConnection(self): """ Test that L{MemCachePool.performRequest} on a fresh instance causes a new connection to be created. """ def _checkResult(result): self.assertEquals(result, (0, 'bar')) p = InMemoryMemcacheProtocol() p.set('foo', 'bar') d = self.pool.performRequest('get', 'foo') d.addCallback(_checkResult) args, kwargs = self.reactor.calls.pop() self.assertEquals(args[:2], (MC_ADDRESS.host, MC_ADDRESS.port)) self.failUnless(isinstance(args[2], MemCacheClientFactory)) self.assertEquals(kwargs, {}) args[2].deferred.callback(p) return d