From 02038aa5338f2d0c10919ed4e1017e357470b413 Mon Sep 17 00:00:00 2001 From: Anastasia Kuznetsova Date: Thu, 23 Mar 2017 17:15:59 +0400 Subject: [PATCH] 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 --- .../tests/api/v2/test_action_executions.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/mistral_tempest_tests/tests/api/v2/test_action_executions.py b/mistral_tempest_tests/tests/api/v2/test_action_executions.py index 143461d..7a4467e 100644 --- a/mistral_tempest_tests/tests/api/v2/test_action_executions.py +++ b/mistral_tempest_tests/tests/api/v2/test_action_executions.py @@ -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):