def testPutNGetLIFO(self): sp = SocketPool(reactor=CallTrace()) retval(sp.putSocketInPool(host='x', port=1, sock='A')) retval(sp.putSocketInPool(host='x', port=1, sock='B')) retval(sp.putSocketInPool(host='x', port=1, sock='C')) self.assertEquals('C', retval(sp.getPooledSocket(host='x', port=1))) self.assertEquals('B', retval(sp.getPooledSocket(host='x', port=1))) self.assertEquals('A', retval(sp.getPooledSocket(host='x', port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=1)))
def testPutNGetLIFO(self): sp = SocketPool(reactor=CallTrace()) retval(sp.putSocketInPool(host='x', port=1, sock='A')) retval(sp.putSocketInPool(host='x', port=1, sock='B')) retval(sp.putSocketInPool(host='x', port=1, sock='C')) self.assertEquals('C', retval(sp.getPooledSocket(host='x', port=1))) self.assertEquals('B', retval(sp.getPooledSocket(host='x', port=1))) self.assertEquals('A', retval(sp.getPooledSocket(host='x', port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=1)))
def testPutEmptyPut(self): sp = SocketPool(reactor=CallTrace()) retval(sp.putSocketInPool(host='10.0.0.1', port=60000, sock=0)) retval(sp.putSocketInPool(host='10.0.0.1', port=60000, sock=1)) for i in reversed(range(2)): self.assertEquals(i, retval(sp.getPooledSocket(host='10.0.0.1', port=60000))) self.assertEquals(None, retval(sp.getPooledSocket(host='10.0.0.1', port=60000))) retval(sp.putSocketInPool(host='10.0.0.1', port=60000, sock=2)) self.assertEquals(2, retval(sp.getPooledSocket(host='10.0.0.1', port=60000)))
def testPutNGet1Put1StillLIFO(self): sp = SocketPool(reactor=CallTrace()) retval(sp.putSocketInPool(host='example.org', port=80, sock='A')) retval(sp.putSocketInPool(host='example.org', port=80, sock='B')) self.assertEquals('B', retval(sp.getPooledSocket(host='example.org', port=80))) retval(sp.putSocketInPool(host='example.org', port=80, sock='C')) self.assertEquals('C', retval(sp.getPooledSocket(host='example.org', port=80))) self.assertEquals('A', retval(sp.getPooledSocket(host='example.org', port=80))) self.assertEquals(None, retval(sp.getPooledSocket(host='example.org', port=80)))
def testPutEmptyPut(self): sp = SocketPool(reactor=CallTrace()) retval(sp.putSocketInPool(host='10.0.0.1', port=60000, sock=0)) retval(sp.putSocketInPool(host='10.0.0.1', port=60000, sock=1)) for i in reversed(range(2)): self.assertEquals( i, retval(sp.getPooledSocket(host='10.0.0.1', port=60000))) self.assertEquals( None, retval(sp.getPooledSocket(host='10.0.0.1', port=60000))) retval(sp.putSocketInPool(host='10.0.0.1', port=60000, sock=2)) self.assertEquals( 2, retval(sp.getPooledSocket(host='10.0.0.1', port=60000)))
def testPut3GetOnlyYours(self): sp = SocketPool(reactor=CallTrace()) retval(sp.putSocketInPool(host='x', port=1, sock='A')) retval(sp.putSocketInPool(host='x', port=2, sock='B')) retval(sp.putSocketInPool(host='y', port=1, sock='C')) # Unknown host + port self.assertEquals(None, retval(sp.getPooledSocket(host='xx', port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host='', port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host=None, port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=0))) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=3))) # Retrieved once self.assertEquals('A', retval(sp.getPooledSocket(host='x', port=1)))
def testPut3GetOnlyYours(self): sp = SocketPool(reactor=CallTrace()) retval(sp.putSocketInPool(host='x', port=1, sock='A')) retval(sp.putSocketInPool(host='x', port=2, sock='B')) retval(sp.putSocketInPool(host='y', port=1, sock='C')) # Unknown host + port self.assertEquals(None, retval(sp.getPooledSocket(host='xx', port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host='', port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host=None, port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=0))) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=3))) # Retrieved once self.assertEquals('A', retval(sp.getPooledSocket(host='x', port=1)))
def testPutNGet1Put1StillLIFO(self): sp = SocketPool(reactor=CallTrace()) retval(sp.putSocketInPool(host='example.org', port=80, sock='A')) retval(sp.putSocketInPool(host='example.org', port=80, sock='B')) self.assertEquals( 'B', retval(sp.getPooledSocket(host='example.org', port=80))) retval(sp.putSocketInPool(host='example.org', port=80, sock='C')) self.assertEquals( 'C', retval(sp.getPooledSocket(host='example.org', port=80))) self.assertEquals( 'A', retval(sp.getPooledSocket(host='example.org', port=80))) self.assertEquals( None, retval(sp.getPooledSocket(host='example.org', port=80)))
def testPutThenGetThenEmpty(self): sp = SocketPool(reactor=CallTrace()) result = retval(sp.putSocketInPool(host='x', port=1, sock='mock')) self.assertEquals(None, result) self.assertEquals('mock', retval(sp.getPooledSocket(host='x', port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=1)))
def testGetOnEmptyPool(self): trace = CallTrace() sp = SocketPool(reactor=trace) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=1025))) self.assertEquals([], trace.calledMethodNames())
def testPutThenGetThenEmpty(self): sp = SocketPool(reactor=CallTrace()) result = retval(sp.putSocketInPool(host='x', port=1, sock='mock')) self.assertEquals(None, result) self.assertEquals('mock', retval(sp.getPooledSocket(host='x', port=1))) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=1)))
def testGetOnEmptyPool(self): trace = CallTrace() sp = SocketPool(reactor=trace) self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=1025))) self.assertEquals([], trace.calledMethodNames())