Пример #1
0
    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)))
Пример #3
0
    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)))
Пример #4
0
    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)))
Пример #7
0
    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)))
Пример #10
0
 def testGetOnEmptyPool(self):
     trace = CallTrace()
     sp = SocketPool(reactor=trace)
     self.assertEquals(None, retval(sp.getPooledSocket(host='x',
                                                       port=1025)))
     self.assertEquals([], trace.calledMethodNames())
Пример #11
0
 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)))
Пример #12
0
 def testGetOnEmptyPool(self):
     trace = CallTrace()
     sp = SocketPool(reactor=trace)
     self.assertEquals(None, retval(sp.getPooledSocket(host='x', port=1025)))
     self.assertEquals([], trace.calledMethodNames())