blob: dc355b428dba304f34745e468c1df3c6d4c6e79b [file] [log] [blame]
Ryan Rossiter9228bf72016-02-25 03:06:12 +00001# Copyright 2016 IBM Corp.
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 mock
16
17from tempest import clients
18from tempest.common import credentials_factory as credentials
19from tempest.common import fixed_network
20from tempest import config
21from tempest import test
22from tempest.tests import base
23from tempest.tests import fake_config
24
25
26class TestBaseTestCase(base.TestCase):
27 def setUp(self):
28 super(TestBaseTestCase, self).setUp()
29 self.useFixture(fake_config.ConfigFixture())
30 self.fixed_network_name = 'fixed-net'
31 config.CONF.compute.fixed_network_name = self.fixed_network_name
32 config.CONF.service_available.neutron = True
33
34 @mock.patch.object(test.BaseTestCase, 'get_client_manager')
35 @mock.patch.object(test.BaseTestCase, '_get_credentials_provider')
36 @mock.patch.object(fixed_network, 'get_tenant_network')
37 def test_get_tenant_network(self, mock_gtn, mock_gprov, mock_gcm):
38 net_client = mock.Mock()
39 mock_prov = mock.Mock()
40 mock_gcm.return_value.compute_networks_client = net_client
41 mock_gprov.return_value = mock_prov
42
43 test.BaseTestCase.get_tenant_network()
44
45 mock_gcm.assert_called_once_with(credential_type='primary')
46 mock_gprov.assert_called_once_with()
47 mock_gtn.assert_called_once_with(mock_prov, net_client,
48 self.fixed_network_name)
49
50 @mock.patch.object(test.BaseTestCase, 'get_client_manager')
51 @mock.patch.object(test.BaseTestCase, '_get_credentials_provider')
52 @mock.patch.object(fixed_network, 'get_tenant_network')
53 @mock.patch.object(test.BaseTestCase, 'get_identity_version')
54 @mock.patch.object(credentials, 'is_admin_available')
55 @mock.patch.object(clients, 'Manager')
56 def test_get_tenant_network_with_nova_net(self, mock_man, mock_iaa,
57 mock_giv, mock_gtn, mock_gcp,
58 mock_gcm):
59 config.CONF.service_available.neutron = False
60 mock_prov = mock.Mock()
61 mock_admin_man = mock.Mock()
62 mock_iaa.return_value = True
63 mock_gcp.return_value = mock_prov
64 mock_man.return_value = mock_admin_man
65
66 test.BaseTestCase.get_tenant_network()
67
68 mock_man.assert_called_once_with(
69 mock_prov.get_admin_creds.return_value)
70 mock_iaa.assert_called_once_with(
71 identity_version=mock_giv.return_value)
72 mock_gcp.assert_called_once_with()
73 mock_gtn.assert_called_once_with(
74 mock_prov, mock_admin_man.compute_networks_client,
75 self.fixed_network_name)
76
77 @mock.patch.object(test.BaseTestCase, 'get_client_manager')
78 @mock.patch.object(test.BaseTestCase, '_get_credentials_provider')
79 @mock.patch.object(fixed_network, 'get_tenant_network')
80 def test_get_tenant_network_with_alt_creds(self, mock_gtn, mock_gprov,
81 mock_gcm):
82 net_client = mock.Mock()
83 mock_prov = mock.Mock()
84 mock_gcm.return_value.compute_networks_client = net_client
85 mock_gprov.return_value = mock_prov
86
87 test.BaseTestCase.get_tenant_network(credentials_type='alt')
88
89 mock_gcm.assert_called_once_with(credential_type='alt')
90 mock_gprov.assert_called_once_with()
91 mock_gtn.assert_called_once_with(mock_prov, net_client,
92 self.fixed_network_name)
93
94 @mock.patch.object(test.BaseTestCase, 'get_client_manager')
95 @mock.patch.object(test.BaseTestCase, '_get_credentials_provider')
96 @mock.patch.object(fixed_network, 'get_tenant_network')
97 def test_get_tenant_network_with_role_creds(self, mock_gtn, mock_gprov,
98 mock_gcm):
99 net_client = mock.Mock()
100 mock_prov = mock.Mock()
101 mock_gcm.return_value.compute_networks_client = net_client
102 mock_gprov.return_value = mock_prov
103 creds = ['foo_type', 'role1']
104
105 test.BaseTestCase.get_tenant_network(credentials_type=creds)
106
107 mock_gcm.assert_called_once_with(roles=['role1'])
108 mock_gprov.assert_called_once_with()
109 mock_gtn.assert_called_once_with(mock_prov, net_client,
110 self.fixed_network_name)