| # Copyright 2015 Deutsche Telekom AG. All rights reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may |
| # not use this file except in compliance with the License. You may obtain |
| # a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| # License for the specific language governing permissions and limitations |
| # under the License. |
| |
| from oslo_serialization import jsonutils as json |
| from oslotest import mockpatch |
| |
| from tempest.tests import base |
| from tempest.tests.lib import fake_http |
| |
| |
| class BaseServiceTest(base.TestCase): |
| def create_response(self, body, to_utf=False, status=200, headers=None): |
| json_body = {} |
| if body: |
| json_body = json.dumps(body) |
| if to_utf: |
| json_body = json_body.encode('utf-8') |
| resp = fake_http.fake_http_response(headers, status=status), json_body |
| return resp |
| |
| def check_service_client_function(self, function, function2mock, |
| body, to_utf=False, status=200, |
| headers=None, **kwargs): |
| mocked_response = self.create_response(body, to_utf, status, headers) |
| self.useFixture(mockpatch.Patch( |
| function2mock, return_value=mocked_response)) |
| if kwargs: |
| resp = function(**kwargs) |
| else: |
| resp = function() |
| self.assertEqual(body, resp) |