
Our tests are only for the compute API (and related compute things). They are not scenario tests as defined in the Tempest scenario README. This patch moves our tests to subclass the Tempest base compute test class. While this isn't guaranteed to be a stable interface, it's convenient enough (we gain helper methods) that the potential maintenance overhead is deemed worth it. Our unit tests are also moved up a directory, with tests/ now being only for unit tests and tempest/api for our test cases. Change-Id: Ie34aa99765c3fa8a136fa4cb1b11edb3d8c76ba3
58 lines
2.2 KiB
Python
58 lines
2.2 KiB
Python
# Copyright 2018 Red Hat
|
|
#
|
|
# 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.
|
|
|
|
import mock
|
|
|
|
from whitebox_tempest_plugin.common import utils
|
|
from whitebox_tempest_plugin.tests import base
|
|
|
|
|
|
class UtilsTestCase(base.WhiteboxPluginTestCase):
|
|
|
|
def setUp(self):
|
|
super(UtilsTestCase, self).setUp()
|
|
self.client = mock.Mock()
|
|
fake_hvs = {
|
|
'hypervisors': [
|
|
{'service': {'host': 'host1'},
|
|
'host_ip': '192.168.0.1',
|
|
'id': 1},
|
|
{'service': {'host': 'host2'},
|
|
'host_ip': '192.168.0.2',
|
|
'id': 2},
|
|
{'service': {'host': 'host3'},
|
|
'host_ip': '192.168.0.3',
|
|
'id': 3}
|
|
]
|
|
}
|
|
self.client.list_hypervisors = mock.Mock(return_value=fake_hvs)
|
|
|
|
@mock.patch.object(utils.LOG, 'info')
|
|
def test_get_hypervisor_ip_hv_in_config(self, mock_log):
|
|
self.flags(hypervisors={'1': '10.0.0.1'}, group='whitebox')
|
|
self.assertEqual('10.0.0.1',
|
|
utils.get_hypervisor_ip(self.client, 'host1'))
|
|
self.assertIn('from config file', mock_log.call_args_list[0][0][0])
|
|
|
|
@mock.patch.object(utils.LOG, 'info')
|
|
def test_get_hypervisor_ip_hv_not_in_config(self, mock_log):
|
|
self.flags(hypervisors={'1': '10.0.0.1'}, group='whitebox')
|
|
self.assertEqual('192.168.0.2',
|
|
utils.get_hypervisor_ip(self.client, 'host2'))
|
|
self.assertIn('not in config file', mock_log.call_args_list[0][0][0])
|
|
|
|
def test_get_hypervisor_ip_no_hvs_in_config(self):
|
|
self.assertEqual('192.168.0.3',
|
|
utils.get_hypervisor_ip(self.client, 'host3'))
|