test/transport_tcp.py
changeset 37 14db3fe42b6c
parent 36 4d5c02fe9c27
child 38 f0fc793a3754
equal deleted inserted replaced
36:4d5c02fe9c27 37:14db3fe42b6c
     4 from qmsk.net.transport import tcp, socket, endpoint
     4 from qmsk.net.transport import tcp, socket, endpoint
     5 
     5 
     6 class TestService (unittest.TestCase) :
     6 class TestService (unittest.TestCase) :
     7     def setUp (self) :
     7     def setUp (self) :
     8         # create service on random port
     8         # create service on random port
     9         self.ss = tcp.Service(None, af=socket.AF_INET)
     9         self.ss = tcp.Service(None, family=socket.AF_INET)
    10 
    10 
    11         self.addr = self.ss.sock.getsockname()
    11         self.addr = self.ss.sock.getsockname()
    12     
    12     
    13     def test_bind_addr (self) :
    13     def test_bind_addr (self) :
    14         # ensure it binds on the right AF
    14         # ensure it binds on the right AF
    33         self.ls.listen(1)
    33         self.ls.listen(1)
    34 
    34 
    35         self.sockaddr = af_inet.sockaddr_in('127.0.0.1', self.ls.getsockname().port)
    35         self.sockaddr = af_inet.sockaddr_in('127.0.0.1', self.ls.getsockname().port)
    36         self.addr = endpoint.SockAddr(self.sockaddr)
    36         self.addr = endpoint.SockAddr(self.sockaddr)
    37    
    37    
    38     def test_connect_unspec (self) :
    38     def test_connect (self) :
    39         cc = tcp.Client(self.addr)
    39         cc = tcp.Client(self.addr)
    40         cs = cc.connect()
       
    41 
       
    42         self.assertEquals(cs.sock.getpeername(), self.sockaddr)
       
    43 
       
    44     def test_connect_inet4 (self) :
       
    45         cc = tcp.Client(self.addr, socket.AF_INET)
       
    46         cs = cc.connect()
    40         cs = cc.connect()
    47 
    41 
    48         self.assertEquals(cs.sock.getpeername(), self.sockaddr)
    42         self.assertEquals(cs.sock.getpeername(), self.sockaddr)
    49 
    43 
    50     def test_connect_bind (self) :
    44     def test_connect_bind (self) :
    65         
    59         
    66         # should fail (IPv6 -> IPv4)
    60         # should fail (IPv6 -> IPv4)
    67         self.assertRaises(socket.SocketConnectEndpointError, cc.connect)
    61         self.assertRaises(socket.SocketConnectEndpointError, cc.connect)
    68     
    62     
    69     def test_connect_inet (self) :
    63     def test_connect_inet (self) :
    70         cc = tcp.Client(endpoint.InetAddr('localhost', self.sockaddr.port), socket.AF_INET)
    64         cc = tcp.Client(endpoint.InetAddr('localhost', self.sockaddr.port))
    71         cs = cc.connect()
    65         cs = cc.connect()
    72 
    66 
    73         self.assertEquals(cs.sock.getpeername(), self.sockaddr)
    67         self.assertEquals(cs.sock.getpeername(), self.sockaddr)
    74 
    68 
    75     
    69