From f3ac12c0056d9db7878bc52c2f3a27171bd5995f Mon Sep 17 00:00:00 2001 From: Bin Yang Date: Fri, 27 Sep 2019 02:17:39 +0000 Subject: [PATCH] Fix restcall bug of decode http response content Issue-ID: MULTICLOUD-835 Signed-off-by: Bin Yang Change-Id: Ib6fa7d2bece2e3160babf1139fd8b73e19a34a9a --- multivimbroker/multivimbroker/pub/utils/restcall.py | 4 +++- multivimbroker/multivimbroker/tests/test_restcall.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/multivimbroker/multivimbroker/pub/utils/restcall.py b/multivimbroker/multivimbroker/pub/utils/restcall.py index 62dd301..7070824 100644 --- a/multivimbroker/multivimbroker/pub/utils/restcall.py +++ b/multivimbroker/multivimbroker/pub/utils/restcall.py @@ -20,6 +20,7 @@ import urllib.error import uuid import httplib2 import base64 +import codecs from multivimbroker.pub.config.config import AAI_SCHEMA_VERSION from multivimbroker.pub.config.config import AAI_SERVICE_URL @@ -98,7 +99,8 @@ def call_req(base_url, user, passwd, auth_type, resource, method, resp, resp_content = http.request( full_url, method=method.upper(), body=content, headers=headers) - resp_status, resp_body = resp['status'], resp_content + resp_status, resp_body = resp['status'], codecs.decode( + resp_content, 'UTF-8') if resp_content else None if resp_status in status_ok_list: ret = [0, resp_body, resp_status, resp] diff --git a/multivimbroker/multivimbroker/tests/test_restcall.py b/multivimbroker/multivimbroker/tests/test_restcall.py index ea70dff..aff2670 100644 --- a/multivimbroker/multivimbroker/tests/test_restcall.py +++ b/multivimbroker/multivimbroker/tests/test_restcall.py @@ -60,7 +60,7 @@ class TestRestCall(unittest.TestCase): "status": "200" } resp_content = "hello" - mock_req.return_value = mock_resp, resp_content + mock_req.return_value = mock_resp, resp_content.encode("utf-8") expect_ret = [0, resp_content, "200", mock_resp] ret = restcall.call_req("http://onap.org/", "user", "pass", restcall.rest_no_auth, "vim", "GET") -- 2.16.6