def test_async_stream_upload(self): request = TeaRequest() request.method = 'POST' request.protocol = 'http' request.headers['host'] = "127.0.0.1:8888" loop = asyncio.get_event_loop() task = asyncio.ensure_future(TeaCore.async_do_action(request)) f = TeaStream() request.body = f loop.run_until_complete(task) self.assertEqual(b'{"result": "tea test"}', task.result().body)
def test_async_do_action(self): request = TeaRequest() request.headers['host'] = "www.alibabacloud.com" request.protocol = 'https' request.pathname = "/s/zh" request.query["k"] = "ecs" option = { "readTimeout": 20000, "connectTimeout": 10000, "httpProxy": None, "httpsProxy": None, "noProxy": None, "maxIdleConns": None, "retry": { "retryable": None, "maxAttempts": None }, "backoff": { "policy": None, "period": None }, "ignoreSSL": None } loop = asyncio.get_event_loop() task = asyncio.ensure_future(TeaCore.async_do_action(request, option)) loop.run_until_complete(task) response = task.result() self.assertTrue(response.headers.get('server')) self.assertIsNotNone(bytes.decode(response.body)) request.protocol = 'http' option['httpProxy'] = 'http://127.0.0.1' try: loop.run_until_complete(TeaCore.async_do_action(request, option)) assert False except Exception as e: self.assertIsInstance(e, RetryError)