Fixes unit test config override

Some of the tests were failing due to improper configuration overrides
in the test cases.  This patch fixes those tests to use the current
recommended method with oslo test fixtures that will cleanup after the
test.

Change-Id: I5f1ea16bbc16056aa756415a618a8f4192436dfd
Closes-Bug: #1630060
This commit is contained in:
Michael Johnson 2016-10-03 23:49:04 +00:00
parent a97dbf34dd
commit 81846df1dd
16 changed files with 120 additions and 110 deletions

View File

@ -21,6 +21,8 @@ import subprocess
import mock
import netifaces
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
import six
from octavia.amphorae.backends.agent import api_server
@ -41,9 +43,13 @@ class TestServerTestCase(base.TestCase):
app = None
def setUp(self):
super(TestServerTestCase, self).setUp()
self.test_server = server.Server()
self.app = self.test_server.app.test_client()
super(TestServerTestCase, self).setUp()
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="haproxy_amphora", base_path='/var/lib/octavia')
@mock.patch('os.path.exists')
@mock.patch('os.makedirs')

View File

@ -22,6 +22,7 @@ import subprocess
import mock
import netifaces
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
import six
from octavia.amphorae.backends.agent import api_server
@ -41,10 +42,13 @@ class ServerTestCase(base.TestCase):
app = None
def setUp(self):
cfg.CONF.set_override('use_upstart', False, group='haproxy_amphora')
super(ServerTestCase, self).setUp()
self.test_server = server.Server()
self.app = self.test_server.app.test_client()
super(ServerTestCase, self).setUp()
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="haproxy_amphora", use_upstart=False)
@mock.patch('os.path.exists')
@mock.patch('os.makedirs')

View File

@ -14,6 +14,7 @@
import mock
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
from oslo_utils import uuidutils
import pecan
import pecan.testing
@ -50,9 +51,10 @@ class BaseAPITest(base_db_test.OctaviaDBTestBase):
def setUp(self):
super(BaseAPITest, self).setUp()
cfg.CONF.set_override('api_handler', 'simulated_handler')
cfg.CONF.set_override('network_driver', 'network_noop_driver',
group='controller_worker')
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(api_handler='simulated_handler')
conf.config(group="controller_worker",
network_driver='network_noop_driver')
self.lb_repo = repositories.LoadBalancerRepository()
self.listener_repo = repositories.ListenerRepository()
self.listener_stats_repo = repositories.ListenerStatisticsRepository()

View File

@ -13,7 +13,7 @@
# under the License.
from oslo_config import cfg
from oslo_db import options as db_options
from oslo_config import fixture as oslo_fixture
from oslo_db.sqlalchemy import test_base
from octavia.common import constants
@ -30,8 +30,9 @@ class OctaviaDBTestBase(test_base.DbTestCase):
# session set up in the fixture for test_base.DbTestCase does not work
# with the API functional tests. Need to investigate more if this
# becomes a problem
cfg.CONF.register_opts(db_options.database_opts, 'database')
cfg.CONF.set_override('connection', 'sqlite://', group='database')
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="database", connection='sqlite://')
# needed for closure
engine = db_api.get_engine()
session = db_api.get_session()

View File

@ -15,25 +15,33 @@
import os
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
from octavia.amphorae.backends.agent.api_server import util
from octavia.tests.unit import base
class TestUtils(base.TestCase):
def setUp(self):
self.dir = '/etc/network/interfaces.d'
self.file = '/etc/network/interfaces'
self.conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
self.conf.config(group="amphora_agent",
agent_server_network_dir=self.dir)
super(TestUtils, self).setUp()
def test_get_network_interface_file(self):
dir = '/etc/network/interfaces.d'
file = '/etc/network/interfaces'
interface = 'eth0'
cfg.CONF.set_override('agent_server_network_dir', dir,
group='amphora_agent')
cfg.CONF.set_override('agent_server_network_file', None,
group='amphora_agent')
self.conf.config(group="amphora_agent",
agent_server_network_file=None)
path = util.get_network_interface_file(interface)
expected_path = os.path.join(dir, interface + '.cfg')
expected_path = os.path.join(self.dir, interface + '.cfg')
self.assertEqual(expected_path, path)
cfg.CONF.set_override('agent_server_network_file', file,
group='amphora_agent')
self.conf.config(group="amphora_agent",
agent_server_network_file=self.file)
path = util.get_network_interface_file(interface)
self.assertEqual(file, path)
self.assertEqual(self.file, path)

View File

@ -15,6 +15,7 @@
import mock
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
from octavia.amphorae.drivers.keepalived.jinja import jinja_cfg
from octavia.common import constants
@ -25,6 +26,14 @@ class TestVRRPRestDriver(base.TestCase):
def setUp(self):
super(TestVRRPRestDriver, self).setUp()
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="haproxy_amphora", base_path='/tmp/test')
conf.config(group="keepalived_vrrp", vrrp_garp_refresh_interval=5)
conf.config(group="keepalived_vrrp", vrrp_garp_refresh_count=2)
conf.config(group="keepalived_vrrp", vrrp_check_interval=5)
conf.config(group="keepalived_vrrp", vrrp_fail_count=2)
conf.config(group="keepalived_vrrp", vrrp_success_count=2)
self.templater = jinja_cfg.KeepalivedJinjaTemplater()
self.amphora1 = mock.MagicMock()
@ -89,17 +98,5 @@ class TestVRRPRestDriver(base.TestCase):
"}\n")
def test_build_keepalived_config(self):
cfg.CONF.set_override('vrrp_garp_refresh_interval', 5,
group='keepalived_vrrp')
cfg.CONF.set_override('vrrp_garp_refresh_count', 2,
group='keepalived_vrrp')
cfg.CONF.set_override('vrrp_check_interval', 5,
group='keepalived_vrrp')
cfg.CONF.set_override('vrrp_fail_count', 2,
group='keepalived_vrrp')
cfg.CONF.set_override('vrrp_success_count', 2,
group='keepalived_vrrp')
cfg.CONF.set_override('base_path', '/tmp/test/',
group='haproxy_amphora')
config = self.templater.build_keepalived_config(self.lb, self.amphora1)
self.assertEqual(self.ref_conf, config)

View File

@ -25,7 +25,8 @@
# under the License.
import mock
from oslo_config import fixture
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
import oslo_messaging as messaging
from octavia.api.v1.handlers.queue import producer
@ -36,7 +37,6 @@ from octavia.api.v1.types import listener
from octavia.api.v1.types import load_balancer
from octavia.api.v1.types import member
from octavia.api.v1.types import pool
from octavia.common import config
from octavia.common import data_models
from octavia.tests.unit import base
@ -44,11 +44,10 @@ from octavia.tests.unit import base
class TestProducer(base.TestCase):
def setUp(self):
super(TestProducer, self).setUp()
self.config = fixture.Config()
self.mck_model = mock.Mock()
self.mck_model.id = '10'
config.cfg.CONF.set_override('topic', 'OCTAVIA_PROV',
group='oslo_messaging')
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="oslo_messaging", topic='OCTAVIA_PROV')
mck_target = mock.patch(
'octavia.api.v1.handlers.queue.producer.messaging.Target')
mck_transport = mock.patch(

View File

@ -15,6 +15,7 @@
from barbicanclient import client as barbican_client
import mock
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
import octavia.certificates.common.auth.barbican_acl as barbican_acl
import octavia.certificates.manager.barbican as barbican_cert_mgr
@ -30,10 +31,9 @@ class TestBarbicanACLAuth(base.TestCase):
def setUp(self):
# Reset the client
keystone._SESSION = None
CONF.set_override(name='region_name', override=None,
group='certificates')
CONF.set_override(name='endpoint_type', override='publicURL',
group='certificates')
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="certificates", region_name=None)
conf.config(group="certificates", endpoint_type='publicURL')
super(TestBarbicanACLAuth, self).setUp()
def test_get_barbican_client(self):

View File

@ -15,6 +15,7 @@ import mock
import neutronclient.v2_0
import novaclient.v2
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
from octavia.common import clients
from octavia.common import keystone
@ -26,8 +27,9 @@ CONF = cfg.CONF
class TestNovaAuth(base.TestCase):
def setUp(self):
CONF.set_override(group='keystone_authtoken', name='auth_version',
override='2', enforce_type=True)
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="keystone_authtoken", auth_version='2')
# Reset the session and client
clients.NovaAuth.nova_client = None
keystone._SESSION = None
@ -65,8 +67,9 @@ class TestNovaAuth(base.TestCase):
class TestNeutronAuth(base.TestCase):
def setUp(self):
CONF.set_override(group='keystone_authtoken', name='auth_version',
override='2', enforce_type=True)
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="keystone_authtoken", auth_version='2')
# Reset the session and client
clients.NeutronAuth.neutron_client = None
keystone._SESSION = None
@ -104,8 +107,9 @@ class TestNeutronAuth(base.TestCase):
class TestGlanceAuth(base.TestCase):
def setUp(self):
CONF.set_override(group='keystone_authtoken', name='auth_version',
override='2', enforce_type=True)
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="keystone_authtoken", auth_version='2')
# Reset the session and client
clients.GlanceAuth.glance_client = None
keystone._SESSION = None

View File

@ -15,6 +15,7 @@
import mock
from novaclient import exceptions as nova_exceptions
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
from oslo_utils import uuidutils
from octavia.common import clients
@ -89,14 +90,11 @@ class Test_ExtractAmpImageIdByTag(base.TestCase):
class TestNovaClient(base.TestCase):
def setUp(self):
CONF.set_override(group='keystone_authtoken', name='auth_version',
override='2', enforce_type=True)
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="keystone_authtoken", auth_version='2')
self.net_name = "lb-mgmt-net"
CONF.set_override(group='networking', name='lb_network_name',
override=self.net_name, enforce_type=True)
CONF.set_override(group='controller_worker',
name='amp_boot_network_list',
override=[1, 2], enforce_type=True)
conf.config(group="networking", lb_network_name=self.net_name)
conf.config(group="controller_worker", amp_boot_network_list=[1, 2])
self.amphora = models.Amphora(
compute_id=uuidutils.generate_uuid(),

View File

@ -16,6 +16,7 @@ import random
import mock
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
from oslo_utils import uuidutils
import six
import sqlalchemy
@ -32,9 +33,9 @@ class TestUpdateHealthDb(base.TestCase):
def setUp(self):
super(TestUpdateHealthDb, self).setUp()
cfg.CONF.set_override(group='health_manager',
name='event_streamer_driver',
override='queue_event_streamer')
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="health_manager",
event_streamer_driver='queue_event_streamer')
session_patch = mock.patch('octavia.db.api.get_session')
self.addCleanup(session_patch.stop)

View File

@ -14,6 +14,7 @@
import mock
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
import oslo_messaging as messaging
from octavia.controller.queue import consumer
@ -29,9 +30,9 @@ class TestConsumer(base.TestCase):
def setUp(self):
super(TestConsumer, self).setUp()
cfg.CONF.import_group('oslo_messaging', 'octavia.common.config')
cfg.CONF.set_override('topic', 'foo_topic', group='oslo_messaging')
cfg.CONF.set_override('host', 'foo_host')
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(group="oslo_messaging", topic='foo_topic')
conf.config(host='foo_host')
def test_consumer_start(self, mock_rpc_server, mock_endpoint, mock_target,
mock_get_transport):

View File

@ -14,6 +14,7 @@
import mock
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
from octavia.controller.queue import endpoint
from octavia.controller.worker import controller_worker
@ -25,8 +26,8 @@ class TestEndpoint(base.TestCase):
def setUp(self):
super(TestEndpoint, self).setUp()
cfg.CONF.import_group('controller_worker', 'octavia.common.config')
cfg.CONF.set_override('octavia_plugins', 'hot_plug_plugin')
conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
conf.config(octavia_plugins='hot_plug_plugin')
mock_class = mock.create_autospec(controller_worker.ControllerWorker)
self.worker_patcher = mock.patch('octavia.controller.queue.endpoint.'

View File

@ -32,17 +32,13 @@ class TestAmphoraFlows(base.TestCase):
def setUp(self):
super(TestAmphoraFlows, self).setUp()
old_amp_driver = cfg.CONF.controller_worker.amphora_driver
cfg.CONF.set_override('amphora_driver', 'amphora_haproxy_rest_driver',
group='controller_worker')
cfg.CONF.set_override('enable_anti_affinity', False,
group='nova')
self.conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
self.conf.config(group="keystone_authtoken", auth_version=AUTH_VERSION)
self.conf.config(
group="controller_worker",
amphora_driver='amphora_haproxy_rest_driver')
self.conf.config(group="nova", enable_anti_affinity=False)
self.AmpFlow = amphora_flows.AmphoraFlows()
conf = oslo_fixture.Config(cfg.CONF)
conf.config(group="keystone_authtoken", auth_version=AUTH_VERSION)
self.addCleanup(cfg.CONF.set_override, 'amphora_driver',
old_amp_driver, group='controller_worker')
def test_get_create_amphora_flow(self, mock_get_net_driver):
@ -91,8 +87,6 @@ class TestAmphoraFlows(base.TestCase):
self.assertEqual(1, len(amp_flow.requires))
def test_get_cert_create_amphora_for_lb_flow(self, mock_get_net_driver):
cfg.CONF.set_override('amphora_driver', 'amphora_haproxy_rest_driver',
group='controller_worker')
self.AmpFlow = amphora_flows.AmphoraFlows()
@ -114,8 +108,6 @@ class TestAmphoraFlows(base.TestCase):
def test_get_cert_master_create_amphora_for_lb_flow(
self, mock_get_net_driver):
cfg.CONF.set_override('amphora_driver', 'amphora_haproxy_rest_driver',
group='controller_worker')
self.AmpFlow = amphora_flows.AmphoraFlows()
@ -137,11 +129,8 @@ class TestAmphoraFlows(base.TestCase):
def test_get_cert_master_rest_anti_affinity_create_amphora_for_lb_flow(
self, mock_get_net_driver):
cfg.CONF.set_override('amphora_driver', 'amphora_haproxy_rest_driver',
group='controller_worker')
cfg.CONF.set_override('enable_anti_affinity', True,
group='nova')
self.conf.config(group="nova", enable_anti_affinity=True)
self.AmpFlow = amphora_flows.AmphoraFlows()
amp_flow = self.AmpFlow._get_create_amp_for_lb_subflow(
@ -156,6 +145,7 @@ class TestAmphoraFlows(base.TestCase):
self.assertEqual(5, len(amp_flow.provides))
self.assertEqual(2, len(amp_flow.requires))
self.conf.config(group="nova", enable_anti_affinity=False)
def test_get_cert_backup_create_amphora_for_lb_flow(
self, mock_get_net_driver):
@ -199,10 +189,7 @@ class TestAmphoraFlows(base.TestCase):
def test_get_cert_backup_rest_anti_affinity_create_amphora_for_lb_flow(
self, mock_get_net_driver):
cfg.CONF.set_override('amphora_driver', 'amphora_haproxy_rest_driver',
group='controller_worker')
cfg.CONF.set_override('enable_anti_affinity', True,
group='nova')
self.conf.config(group="nova", enable_anti_affinity=True)
self.AmpFlow = amphora_flows.AmphoraFlows()
amp_flow = self.AmpFlow._get_create_amp_for_lb_subflow(
@ -217,6 +204,7 @@ class TestAmphoraFlows(base.TestCase):
self.assertEqual(5, len(amp_flow.provides))
self.assertEqual(2, len(amp_flow.requires))
self.conf.config(group="nova", enable_anti_affinity=False)
def test_get_delete_amphora_flow(self, mock_get_net_driver):

View File

@ -31,14 +31,12 @@ class TestLoadBalancerFlows(base.TestCase):
def setUp(self):
super(TestLoadBalancerFlows, self).setUp()
old_amp_driver = cfg.CONF.controller_worker.amphora_driver
cfg.CONF.set_override('amphora_driver', 'amphora_haproxy_rest_driver',
group='controller_worker')
self.conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
self.conf.config(
group="controller_worker",
amphora_driver='amphora_haproxy_rest_driver')
self.conf.config(group="nova", enable_anti_affinity=False)
self.LBFlow = load_balancer_flows.LoadBalancerFlows()
conf = oslo_fixture.Config(cfg.CONF)
conf.config(group="nova", enable_anti_affinity=False)
self.addCleanup(cfg.CONF.set_override, 'amphora_driver',
old_amp_driver, group='controller_worker')
def test_get_create_load_balancer_flow(self, mock_get_net_driver):
amp_flow = self.LBFlow.get_create_load_balancer_flow(
@ -63,8 +61,8 @@ class TestLoadBalancerFlows(base.TestCase):
def test_get_create_anti_affinity_active_standby_load_balancer_flow(
self, mock_get_net_driver):
cfg.CONF.set_override('enable_anti_affinity', True,
group='nova')
self.conf.config(group="nova", enable_anti_affinity=True)
self._LBFlow = load_balancer_flows.LoadBalancerFlows()
amp_flow = self._LBFlow.get_create_load_balancer_flow(
constants.TOPOLOGY_ACTIVE_STANDBY)
@ -75,6 +73,7 @@ class TestLoadBalancerFlows(base.TestCase):
self.assertIn(constants.AMPHORA_ID, amp_flow.provides)
self.assertIn(constants.COMPUTE_ID, amp_flow.provides)
self.assertIn(constants.COMPUTE_OBJ, amp_flow.provides)
self.conf.config(group="nova", enable_anti_affinity=False)
def test_get_create_bogus_topology_load_balancer_flow(
self, mock_get_net_driver):
@ -200,7 +199,6 @@ class TestLoadBalancerFlows(base.TestCase):
self.assertIn(constants.LOADBALANCER_ID, create_flow.requires)
self.assertIn(constants.UPDATE_DICT, create_flow.requires)
self.assertIn(constants.LOADBALANCER, create_flow.provides)
self.assertIn(constants.LISTENERS, create_flow.provides)
self.assertIn(constants.AMPHORA, create_flow.provides)
self.assertIn(constants.AMPHORA_ID, create_flow.provides)
@ -229,7 +227,6 @@ class TestLoadBalancerFlows(base.TestCase):
self.assertIn(constants.LOADBALANCER_ID, create_flow.requires)
self.assertIn(constants.UPDATE_DICT, create_flow.requires)
self.assertIn(constants.LOADBALANCER, create_flow.provides)
self.assertIn(constants.LISTENERS, create_flow.provides)
self.assertIn(constants.AMPHORA, create_flow.provides)
self.assertIn(constants.AMPHORA_ID, create_flow.provides)

View File

@ -15,6 +15,7 @@
import mock
from oslo_config import cfg
from oslo_config import fixture as oslo_fixture
from oslo_utils import uuidutils
from octavia.common import base_taskflow
@ -83,6 +84,8 @@ class TestControllerWorker(base.TestCase):
def setUp(self):
self.conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
_health_mon_mock.pool.load_balancer.amphorae = _amphora_mock
_health_mon_mock.pool.listeners = [_listener_mock]
_health_mon_mock.pool.load_balancer = _load_balancer_mock
@ -389,10 +392,8 @@ class TestControllerWorker(base.TestCase):
mock_amp_repo_get):
# Test the code path with an SINGLE topology
CONF.set_override(group='controller_worker',
name='loadbalancer_topology',
override=constants.TOPOLOGY_SINGLE,
enforce_type=True)
self.conf.config(group="controller_worker",
loadbalancer_topology=constants.TOPOLOGY_SINGLE)
_flow_mock.reset_mock()
mock_taskflow_load.reset_mock()
mock_eng = mock.Mock()
@ -430,10 +431,10 @@ class TestControllerWorker(base.TestCase):
mock_health_mon_repo_get,
mock_amp_repo_get):
CONF.set_override(group='controller_worker',
name='loadbalancer_topology',
override=constants.TOPOLOGY_ACTIVE_STANDBY,
enforce_type=True)
self.conf.config(
group="controller_worker",
loadbalancer_topology=constants.TOPOLOGY_ACTIVE_STANDBY)
_flow_mock.reset_mock()
mock_taskflow_load.reset_mock()
mock_eng = mock.Mock()
@ -469,10 +470,11 @@ class TestControllerWorker(base.TestCase):
mock_lb_repo_get,
mock_health_mon_repo_get,
mock_amp_repo_get):
CONF.set_override(group='controller_worker',
name='loadbalancer_topology',
override=constants.TOPOLOGY_SINGLE,
enforce_type=True)
self.conf.config(
group="controller_worker",
loadbalancer_topology=constants.TOPOLOGY_SINGLE)
listeners = [data_models.Listener(id='listener1'),
data_models.Listener(id='listener2')]
lb = data_models.LoadBalancer(id=LB_ID, listeners=listeners)
@ -517,10 +519,11 @@ class TestControllerWorker(base.TestCase):
mock_lb_repo_get,
mock_health_mon_repo_get,
mock_amp_repo_get):
CONF.set_override(group='controller_worker',
name='loadbalancer_topology',
override=constants.TOPOLOGY_ACTIVE_STANDBY,
enforce_type=True)
self.conf.config(
group="controller_worker",
loadbalancer_topology=constants.TOPOLOGY_ACTIVE_STANDBY)
listeners = [data_models.Listener(id='listener1'),
data_models.Listener(id='listener2')]
lb = data_models.LoadBalancer(id=LB_ID, listeners=listeners)