Change Http action result content encoding
Sometimes action result is present not in "utf-8", it cases to "UnicodeDecodeError: 'utf8' codec can't decode byte" so need to pass proper encoding format in serialiser and deserialiser if it is different from default, but it should be resolved in general as a fix for another bug (#1676411). As a hotfix for linked bug, encoding was changed in the run Http action method directly. Also default encoding value in the FakeHTTPResponse was changed from 'utf8' to 'utf-8' like in official python request lib docs. Change-Id: I0ab9ec84c0973f362b57ab82248f27768a984678 Closes-Bug: #1667415
This commit is contained in:
parent
fd41c0d375
commit
02038aa533
|
@ -155,6 +155,22 @@ class ActionExecutionTestsV2(base.TestCase):
|
|||
output = json.loads(body['output'])
|
||||
self.assertEqual(404, output['result']['status'])
|
||||
|
||||
@test.attr(type='sanity')
|
||||
@test.related_bug('1667415')
|
||||
@decorators.idempotent_id('3c73de7a-4af0-4657-90d6-d7ebd3c7da18')
|
||||
def test_run_action_std_http_non_utf8_response(self):
|
||||
resp, body = self.client.create_action_execution(
|
||||
{
|
||||
'name': 'std.http',
|
||||
'input':
|
||||
'{"url": "https://www.google.co.il/search?q=testTest"}'
|
||||
}
|
||||
)
|
||||
|
||||
self.assertEqual(201, resp.status)
|
||||
output = json.loads(body['output'])
|
||||
self.assertEqual(200, output['result']['status'])
|
||||
|
||||
@test.attr(type='sanity')
|
||||
@decorators.idempotent_id('d98586bf-fdc4-44f6-9837-700d35b5f889')
|
||||
def test_create_action_execution(self):
|
||||
|
|
Loading…
Reference in New Issue