コード例 #1
0
ファイル: events_test.py プロジェクト: johnnoone/pyzmqtulip
    def test_create_connection_sock(self):
        with test_utils.run_test_server(self.loop) as httpd:
            sock = None
            infos = self.loop.run_until_complete(
                self.loop.getaddrinfo(
                    *httpd.address, type=socket.SOCK_STREAM))
            for family, type, proto, cname, address in infos:
                try:
                    sock = socket.socket(family=family, type=type, proto=proto)
                    sock.setblocking(False)
                    self.loop.run_until_complete(
                        self.loop.sock_connect(sock, address))
                except:
                    pass
                else:
                    break
            else:
                assert False, 'Can not create socket.'

            f = self.loop.create_connection(
                lambda: MyProto(loop=self.loop), sock=sock)
            tr, pr = self.loop.run_until_complete(f)
            self.assertTrue(isinstance(tr, transports.Transport))
            self.assertTrue(isinstance(pr, protocols.Protocol))
            self.loop.run_until_complete(pr.done)
            self.assertGreater(pr.nbytes, 0)
            tr.close()
コード例 #2
0
 def test_open_connection_no_loop_ssl(self):
     with test_utils.run_test_server(use_ssl=True) as httpd:
         conn_fut = asyncio.open_connection(
             *httpd.address,
             ssl=test_utils.dummy_ssl_context(),
             loop=self.loop)
         self._basetest_open_connection_no_loop_ssl(conn_fut)
コード例 #3
0
ファイル: test_streams.py プロジェクト: prologic/asyncio
    def test_open_connection_no_loop_ssl(self):
        with test_utils.run_test_server(use_ssl=True) as httpd:
            conn_fut = asyncio.open_connection(
                *httpd.address,
                ssl=test_utils.dummy_ssl_context(),
                loop=self.loop)

            self._basetest_open_connection_no_loop_ssl(conn_fut)
コード例 #4
0
ファイル: events_test.py プロジェクト: johnnoone/pyzmqtulip
 def test_create_connection_local_addr_in_use(self):
     with test_utils.run_test_server(self.loop) as httpd:
         f = self.loop.create_connection(
             lambda: MyProto(loop=self.loop),
             *httpd.address, local_addr=httpd.address)
         with self.assertRaises(OSError) as cm:
             self.loop.run_until_complete(f)
         self.assertEqual(cm.exception.errno, errno.EADDRINUSE)
         self.assertIn(str(httpd.address), cm.exception.strerror)
コード例 #5
0
def test_clean_and_join_metric_parts(metric_parts, expected_metric_name):
    with test_utils.run_test_server() as httpd:
        loop = asyncio.get_event_loop()
        plaintext_protocol = PlaintextProtocol()
        aiographite = AIOGraphite(*httpd.address,
                                  plaintext_protocol,
                                  loop=loop)
        metric_name = aiographite.clean_and_join_metric_parts(metric_parts)
        assert metric_name == expected_metric_name
コード例 #6
0
ファイル: events_test.py プロジェクト: johnnoone/pyzmqtulip
 def test_create_connection(self):
     with test_utils.run_test_server(self.loop) as httpd:
         f = self.loop.create_connection(
             lambda: MyProto(loop=self.loop), *httpd.address)
         tr, pr = self.loop.run_until_complete(f)
         self.assertTrue(isinstance(tr, transports.Transport))
         self.assertTrue(isinstance(pr, protocols.Protocol))
         self.loop.run_until_complete(pr.done)
         self.assertGreater(pr.nbytes, 0)
         tr.close()
コード例 #7
0
ファイル: events_test.py プロジェクト: johnnoone/pyzmqtulip
 def test_create_connection_local_addr(self):
     with test_utils.run_test_server(self.loop) as httpd:
         port = find_unused_port()
         f = self.loop.create_connection(
             lambda: MyProto(loop=self.loop),
             *httpd.address, local_addr=(httpd.address[0], port))
         tr, pr = self.loop.run_until_complete(f)
         expected = pr.transport.get_extra_info('socket').getsockname()[1]
         self.assertEqual(port, expected)
         tr.close()
コード例 #8
0
ファイル: test_streams.py プロジェクト: NitikaAgarwal/cpython
    def test_open_connection_error(self):
        with test_utils.run_test_server() as httpd:
            f = asyncio.open_connection(*httpd.address, loop=self.loop)
            reader, writer = self.loop.run_until_complete(f)
            writer._protocol.connection_lost(ZeroDivisionError())
            f = reader.read()
            with self.assertRaises(ZeroDivisionError):
                self.loop.run_until_complete(f)

            writer.close()
            test_utils.run_briefly(self.loop)
コード例 #9
0
ファイル: test_streams.py プロジェクト: varikmp/cpython
    def test_open_connection_error(self):
        with test_utils.run_test_server() as httpd:
            f = streams.open_connection(*httpd.address, loop=self.loop)
            reader, writer = self.loop.run_until_complete(f)
            writer._protocol.connection_lost(ZeroDivisionError())
            f = reader.read()
            with self.assertRaises(ZeroDivisionError):
                self.loop.run_until_complete(f)

            writer.close()
            test_utils.run_briefly(self.loop)
コード例 #10
0
ファイル: test_streams.py プロジェクト: NitikaAgarwal/cpython
    def test_open_connection(self):
        with test_utils.run_test_server() as httpd:
            f = asyncio.open_connection(*httpd.address, loop=self.loop)
            reader, writer = self.loop.run_until_complete(f)
            writer.write(b'GET / HTTP/1.0\r\n\r\n')
            f = reader.readline()
            data = self.loop.run_until_complete(f)
            self.assertEqual(data, b'HTTP/1.0 200 OK\r\n')
            f = reader.read()
            data = self.loop.run_until_complete(f)
            self.assertTrue(data.endswith(b'\r\n\r\nTest message'))

            writer.close()
コード例 #11
0
ファイル: test_streams.py プロジェクト: varikmp/cpython
    def test_open_connection(self):
        with test_utils.run_test_server() as httpd:
            f = streams.open_connection(*httpd.address, loop=self.loop)
            reader, writer = self.loop.run_until_complete(f)
            writer.write(b'GET / HTTP/1.0\r\n\r\n')
            f = reader.readline()
            data = self.loop.run_until_complete(f)
            self.assertEqual(data, b'HTTP/1.0 200 OK\r\n')
            f = reader.read()
            data = self.loop.run_until_complete(f)
            self.assertTrue(data.endswith(b'\r\n\r\nTest message'))

            writer.close()
コード例 #12
0
ファイル: events_test.py プロジェクト: johnnoone/pyzmqtulip
 def test_create_ssl_connection(self):
     with test_utils.run_test_server(
             self.loop, use_ssl=True) as httpd:
         f = self.loop.create_connection(
             lambda: MyProto(loop=self.loop), *httpd.address, ssl=True)
         tr, pr = self.loop.run_until_complete(f)
         self.assertTrue(isinstance(tr, transports.Transport))
         self.assertTrue(isinstance(pr, protocols.Protocol))
         self.assertTrue('ssl' in tr.__class__.__name__.lower())
         self.assertTrue(
             hasattr(tr.get_extra_info('socket'), 'getsockname'))
         self.loop.run_until_complete(pr.done)
         self.assertGreater(pr.nbytes, 0)
         tr.close()
コード例 #13
0
ファイル: test_streams.py プロジェクト: NitikaAgarwal/cpython
    def test_open_connection_no_loop_ssl(self):
        with test_utils.run_test_server(use_ssl=True) as httpd:
            try:
                asyncio.set_event_loop(self.loop)
                f = asyncio.open_connection(*httpd.address,
                                            ssl=test_utils.dummy_ssl_context())
                reader, writer = self.loop.run_until_complete(f)
            finally:
                asyncio.set_event_loop(None)
            writer.write(b'GET / HTTP/1.0\r\n\r\n')
            f = reader.read()
            data = self.loop.run_until_complete(f)
            self.assertTrue(data.endswith(b'\r\n\r\nTest message'))

            writer.close()
コード例 #14
0
def test_generate_message_for_metric_value_list(metric_value_tuple_list,
                                                timestamp):
    with test_utils.run_test_server() as httpd:
        loop = asyncio.get_event_loop()
        plaintext_protocol = PlaintextProtocol()
        aiographite = AIOGraphite(*httpd.address,
                                  plaintext_protocol,
                                  loop=loop)
        message = aiographite._generate_message_for_data_list(
            metric_value_tuple_list, timestamp,
            plaintext_protocol.generate_message)
        expected_message = (
            b'zillow 124 1471640923\ntrulia 223 1471640923\n'
            b'hotpad 53534 1471640923\nstreeteasy 13424 1471640923\n')
        assert message == expected_message
コード例 #15
0
ファイル: test_streams.py プロジェクト: varikmp/cpython
    def test_open_connection_no_loop_ssl(self):
        with test_utils.run_test_server(use_ssl=True) as httpd:
            try:
                events.set_event_loop(self.loop)
                f = streams.open_connection(*httpd.address,
                                            ssl=test_utils.dummy_ssl_context())
                reader, writer = self.loop.run_until_complete(f)
            finally:
                events.set_event_loop(None)
            writer.write(b'GET / HTTP/1.0\r\n\r\n')
            f = reader.read()
            data = self.loop.run_until_complete(f)
            self.assertTrue(data.endswith(b'\r\n\r\nTest message'))

            writer.close()
コード例 #16
0
ファイル: events_test.py プロジェクト: johnnoone/pyzmqtulip
    def test_sock_client_ops(self):
        with test_utils.run_test_server(self.loop) as httpd:
            sock = socket.socket()
            sock.setblocking(False)
            self.loop.run_until_complete(
                self.loop.sock_connect(sock, httpd.address))
            self.loop.run_until_complete(
                self.loop.sock_sendall(sock, b'GET / HTTP/1.0\r\n\r\n'))
            data = self.loop.run_until_complete(
                self.loop.sock_recv(sock, 1024))
            # consume data
            self.loop.run_until_complete(
                self.loop.sock_recv(sock, 1024))
            sock.close()

        self.assertTrue(re.match(rb'HTTP/1.0 200 OK', data), data)
コード例 #17
0
ファイル: test_streams.py プロジェクト: pombredanne/trollius
 def test_open_connection_error(self):
     with test_utils.run_test_server() as httpd:
         conn_fut = asyncio.open_connection(*httpd.address, loop=self.loop)
         self._basetest_open_connection_error(conn_fut)
コード例 #18
0
 def test_open_connection(self):
     with test_utils.run_test_server() as httpd:
         conn_fut = asyncio.open_connection(*httpd.address,
                                            loop=self.loop)
         self._basetest_open_connection(conn_fut)