示例#1
0
    def setUp(self):
        self.port = 6000
        self.ssock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        while True:
            try:
                self.ssock.bind(("0.0.0.0", self.port))
                break
            except IOError as e:
                self.port += 1
        
        self.ssock.listen(5)
      
        self.factory = MockFactory()
        self.factory.protocol = MockProtocol
        self.client = TcpClient(loop, self.factory, "0.0.0.0", self.port)
        self._connected = False
示例#2
0
 def test_tcp_client(self):
     factory = ProtocolFactory()
     factory.protocol = Protocol
     client = TcpClient(loop, MockFactory(), "0.0.0.0", 2000)
示例#3
0
class TestTcpClient(unittest.TestCase):
    """Functional test for TcpClient."""
    def setUp(self):
        self.port = 6000
        self.ssock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        while True:
            try:
                self.ssock.bind(("0.0.0.0", self.port))
                break
            except IOError as e:
                self.port += 1
        
        self.ssock.listen(5)
      
        self.factory = MockFactory()
        self.factory.protocol = MockProtocol
        self.client = TcpClient(loop, self.factory, "0.0.0.0", self.port)
        self._connected = False

    def tearDown(self):
        self.ssock.close()
        self.client = None
        self.factory = None
        self.ssock = None
        self._connected = False
    
    def connected(self, protocol):
        self.assertTrue(isinstance(protocol, MockProtocol))
        self.protocol = protocol
        self._connected = True

    def test_connect(self):
        d = self.client.connect()
        self.assertTrue(isinstance(d, Deferred))
        d.add_callback(self.connected)
        (csock, addr) = self.ssock.accept()

    def test_lose_connection(self):
        d = self.client.connect()
        self.assertTrue(isinstance(d, Deferred))
        d.add_callback(self.connected)
        (csock, addr) = self.ssock.accept()
        d.result()
        self.protocol.lose_connection()
     
    def test_interrupt(self):
        d = self.client.connect()
        self.assertTrue(isinstance(d, Deferred))
        d.add_callback(self.connected)
        (csock, addr) = self.ssock.accept()
        d.result()
        self.client._interrupt(None, None)
        self.assertTrue(self.client.connection is None)

    def test_disconnect(self):
        d = self.client.connect()
        self.assertTrue(isinstance(d, Deferred))
        d.add_callback(self.connected)
        (csock, addr) = self.ssock.accept()
        d.result()
        self.client.disconnect()
        self.assertTrue(self.client.connection is None)