Beispiel #1
0
 def test_echo_tcp_ssl(self):
     server = StreamServer(echo_handler)
     server.listen(('127.0.0.1', 0), **self.ssl_s_args)
     client = StreamClient()
     client.connect(server.addresses[0], **self.ssl_c_args)
     client.write(b'foo\n')
     self.assertEqual(client.readline(), b'foo\n')
     server.close()
     client.close()
Beispiel #2
0
 def test_echo_tcp(self):
     server = StreamServer(echo_handler)
     server.listen(('127.0.0.1', 0))
     client = StreamClient()
     client.connect(server.addresses[0])
     client.write(b'foo\n')
     client.write_eof()
     self.assertEqual(client.readline(), b'foo\n')
     server.close()
     client.close()
Beispiel #3
0
 def test_echo_tcp(self):
     server = StreamServer(echo_handler)
     server.listen(('127.0.0.1', 0))
     client = StreamClient()
     client.connect(server.addresses[0])
     client.write(b'foo\n')
     client.write_eof()
     self.assertEqual(client.readline(), b'foo\n')
     server.close()
     client.close()
Beispiel #4
0
 def test_echo_tcp_ssl(self):
     server = StreamServer(echo_handler)
     context = self.get_ssl_context()
     server.listen(('127.0.0.1', 0), ssl=context)
     client = StreamClient()
     client.connect(server.addresses[0], ssl=context)
     client.write(b'foo\n')
     self.assertEqual(client.readline(), b'foo\n')
     server.close()
     client.close()
Beispiel #5
0
 def test_echo_tcp_ssl(self):
     server = StreamServer(echo_handler)
     context = self.get_ssl_context()
     server.listen(('127.0.0.1', 0), ssl=context)
     client = StreamClient()
     client.connect(server.addresses[0], ssl=context)
     client.write(b'foo\n')
     self.assertEqual(client.readline(), b'foo\n')
     server.close()
     client.close()
Beispiel #6
0
 def test_tcp(self):
     server = StreamServer(echo_handler)
     server.listen(('localhost', 0))
     addr = server.transport.getsockname()
     client = StreamClient()
     client.connect(addr)
     buf = b'x' * 1024
     client.write(buf)
     result = client.read(1024)
     assert result == buf
     client.close()
Beispiel #7
0
 def test_echo_pipe(self):
     server = StreamServer(echo_handler)
     server.listen(self.pipename())
     client = StreamClient()
     client.connect(server.addresses[0])
     client.write(b'foo\n')
     client.write_eof()
     self.assertEqual(client.readline(), b'foo\n')
     self.assertEqual(client.readline(), b'')
     server.close()
     client.close()
Beispiel #8
0
 def test_pipe(self):
     server = StreamServer(echo_handler)
     path = self.pipename('temp.sock')
     server.listen(path)
     client = StreamClient()
     client.connect(path)
     buf = b'x' * 1024
     client.write(buf)
     result = client.read(1024)
     assert result == buf
     client.close()
Beispiel #9
0
 def test_tcp(self):
     server = StreamServer(echo_handler)
     server.listen(('localhost', 0))
     addr = server.transport.getsockname()
     client = StreamClient()
     client.connect(addr)
     buf = b'x' * 1024
     client.write(buf)
     result = client.read(1024)
     assert result == buf
     client.close()
Beispiel #10
0
 def test_pipe(self):
     server = StreamServer(echo_handler)
     path = self.pipename('temp.sock')
     server.listen(path)
     client = StreamClient()
     client.connect(path)
     buf = b'x' * 1024
     client.write(buf)
     result = client.read(1024)
     assert result == buf
     client.close()
Beispiel #11
0
 def test_echo_pipe(self):
     server = StreamServer(echo_handler)
     server.listen(self.pipename())
     client = StreamClient()
     client.connect(server.addresses[0])
     client.write(b'foo\n')
     client.write_eof()
     self.assertEqual(client.readline(), b'foo\n')
     self.assertEqual(client.readline(), b'')
     server.close()
     client.close()
Beispiel #12
0
 def test_illegal_request(self):
     server = HttpServer(hello_app)
     server.listen(('localhost', 0))
     addr = server.addresses[0]
     client = StreamClient()
     client.connect(addr)
     client.write(b'foo\r\n')
     client.write_eof()
     buf = client.read()
     self.assertEqual(buf, b'')
     server.close()
     client.close()
Beispiel #13
0
 def test_illegal_request(self):
     server = HttpServer(hello_app)
     server.listen(('localhost', 0))
     addr = server.addresses[0]
     client = StreamClient()
     client.connect(addr)
     client.write(b'foo\r\n')
     client.write_eof()
     buf = client.read()
     self.assertEqual(buf, b'')
     server.close()
     client.close()
Beispiel #14
0
 def test_send_random(self):
     server = JsonRpcServer(echo_app)
     server.listen(('127.0.0.1', 0))
     addr = server.transport.getsockname()
     hub = gruvi.get_hub()
     client = StreamClient()
     client.connect(addr)
     try:
         while True:
             chunk = os.urandom(1024)
             client.write(chunk)
     except pyuv.error.TCPError as e:
         error = e
     assert error.args[0] in (pyuv.errno.UV_ECONNRESET, pyuv.errno.UV_EPIPE,
                              pyuv.errno.UV_ECANCELED)
Beispiel #15
0
 def test_send_random(self):
     server = JsonRpcServer(echo_app)
     server.listen(('127.0.0.1', 0))
     addr = server.transport.getsockname()
     hub = gruvi.get_hub()
     client = StreamClient()
     client.connect(addr)
     try:
         while True:
             chunk = os.urandom(1024)
             client.write(chunk)
     except pyuv.error.TCPError as e:
         error = e
     assert error.args[0] in (pyuv.errno.UV_ECONNRESET, pyuv.errno.UV_EPIPE,
                              pyuv.errno.UV_ECANCELED)
Beispiel #16
0
 def test_inherit_handle(self):
     # Ensure that it's possible to pass a handle to the child.
     # Note: The "ipc" flag doubles as a read/write flag.
     hub = get_hub()
     handle = pyuv.Pipe(hub.loop, True)
     proc = Process()
     proc.spawn(python_script(['catn', '3']), extra_handles=[handle])
     stream = StreamClient()
     stream.connect(handle)
     stream.write(b'Foo\n')
     self.assertEqual(stream.readline(), b'Foo\n')
     stream.write_eof()
     self.assertEqual(stream.readline(), b'')
     stream.close()
     proc.wait()
     self.assertEqual(proc.returncode, 0)
     proc.close()
Beispiel #17
0
 def test_inherit_handle(self):
     # Ensure that it's possible to pass a handle to the child.
     # Note: The "ipc" flag doubles as a read/write flag.
     hub = get_hub()
     handle = pyuv.Pipe(hub.loop, True)
     proc = Process()
     proc.spawn(python_script(['catn', '3']), extra_handles=[handle])
     stream = StreamClient()
     stream.connect(handle)
     stream.write(b'Foo\n')
     self.assertEqual(stream.readline(), b'Foo\n')
     stream.write_eof()
     self.assertEqual(stream.readline(), b'')
     stream.close()
     proc.wait()
     self.assertEqual(proc.returncode, 0)
     proc.close()
Beispiel #18
0
 def test_connection_limit(self):
     server = StreamServer(echo_handler)
     server.listen(('127.0.0.1', 0))
     addr = server.addresses[0]
     server.max_connections = 10
     clients = []
     try:
         for i in range(15):
             client = StreamClient()
             client.connect(addr)
             client.write(b'foo\n')
             buf = client.readline()
             if buf == b'':  # conneciton closed: EOF
                 client.close()
             clients.append(client)
     except TransportError:
         pass
     self.assertLessEqual(len(server.connections), server.max_connections)
     for client in clients:
         client.close()
     server.close()
Beispiel #19
0
 def test_connection_limit(self):
     server = StreamServer(echo_handler)
     server.listen(('127.0.0.1', 0))
     addr = server.addresses[0]
     server.max_connections = 10
     clients = []
     try:
         for i in range(15):
             client = StreamClient()
             client.connect(addr)
             client.write(b'foo\n')
             buf = client.readline()
             if buf == b'':  # conneciton closed: EOF
                 client.close()
             clients.append(client)
     except TransportError:
         pass
     self.assertLessEqual(len(server.connections), server.max_connections)
     for client in clients:
         client.close()
     server.close()
Beispiel #20
0
 def test_stream(self):
     def echo_handler(stream, protocol, client):
         while True:
             buf = stream.read(4096)
             if not buf:
                 break
             nbytes = stream.write(buf)
     server = StreamServer(echo_handler)
     server.listen(('localhost', 0), ssl=True,
                   keyfile=self.certname, certfile=self.certname)
     addr = server.transport.getsockname()
     client = StreamClient()
     client.connect(addr, ssl=True)
     buf = b'x' * 1024
     client.write(buf)
     result = b''
     while len(result) != 1024:
         result += client.read(1024)
     assert result == buf
     client.close()
     server.close()
Beispiel #21
0
    def test_stream(self):
        def echo_handler(stream, protocol, client):
            while True:
                buf = stream.read(4096)
                if not buf:
                    break
                nbytes = stream.write(buf)

        server = StreamServer(echo_handler)
        server.listen(('localhost', 0),
                      ssl=True,
                      keyfile=self.certname,
                      certfile=self.certname)
        addr = server.transport.getsockname()
        client = StreamClient()
        client.connect(addr, ssl=True)
        buf = b'x' * 1024
        client.write(buf)
        result = b''
        while len(result) != 1024:
            result += client.read(1024)
        assert result == buf
        client.close()
        server.close()