blob: 11b8170578e24a23cd069553160c2ba7737b5144 [file] [log] [blame]
Ghanshyambbdb33b2016-01-08 11:51:07 +09001# Copyright 2016 NEC Corporation. All rights reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
15import httplib2
16import mock
17from tempest_lib.common import rest_client
18
19from tempest.services import base_microversion_client
20from tempest.tests import fake_auth_provider
21from tempest.tests.services.compute import base
22
23
24class TestClientWithoutMicroversionHeader(base.BaseComputeServiceTest):
25
26 def setUp(self):
27 super(TestClientWithoutMicroversionHeader, self).setUp()
28 fake_auth = fake_auth_provider.FakeAuthProvider()
29 self.client = base_microversion_client.BaseMicroversionClient(
30 fake_auth, 'compute', 'regionOne', 'X-OpenStack-Nova-API-Version')
31
32 def test_no_microverion_header(self):
33 header = self.client.get_headers()
34 self.assertNotIn(self.client.api_microversion_header_name, header)
35
36 def test_no_microverion_header_in_raw_request(self):
37 def raw_request(*args, **kwargs):
38 self.assertNotIn(self.client.api_microversion_header_name,
39 kwargs['headers'])
40 return (httplib2.Response({'status': 200}), {})
41
42 with mock.patch.object(rest_client.RestClient,
43 'raw_request') as mock_get:
44 mock_get.side_effect = raw_request
45 self.client.get('fake_url')
46
47
48class TestClientWithMicroversionHeader(base.BaseComputeServiceTest):
49
50 def setUp(self):
51 super(TestClientWithMicroversionHeader, self).setUp()
52 fake_auth = fake_auth_provider.FakeAuthProvider()
53 self.client = base_microversion_client.BaseMicroversionClient(
54 fake_auth, 'compute', 'regionOne', 'X-OpenStack-Nova-API-Version')
55 self.client.set_api_microversion('2.2')
56
57 def test_microverion_header(self):
58 header = self.client.get_headers()
59 self.assertIn(self.client.api_microversion_header_name, header)
60 self.assertEqual(self.client.api_microversion,
61 header[self.client.api_microversion_header_name])
62
63 def test_microverion_header_in_raw_request(self):
64 def raw_request(*args, **kwargs):
65 self.assertIn(self.client.api_microversion_header_name,
66 kwargs['headers'])
67 self.assertEqual(
68 self.client.api_microversion,
69 kwargs['headers'][self.client.api_microversion_header_name])
70 return (httplib2.Response({'status': 200}), {})
71
72 with mock.patch.object(rest_client.RestClient,
73 'raw_request') as mock_get:
74 mock_get.side_effect = raw_request
75 self.client.get('fake_url')