Fixes and context unit tests
This commit is contained in:
parent
592ae155f0
commit
d8ab9cf359
|
@ -0,0 +1,51 @@
|
||||||
|
from test_utils import CharmTestCase
|
||||||
|
from mock import patch
|
||||||
|
import neutron_api_context as context
|
||||||
|
|
||||||
|
TO_PATCH = [
|
||||||
|
'relation_get',
|
||||||
|
'relation_ids',
|
||||||
|
'related_units',
|
||||||
|
'config',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class NeutronAPIContextsTest(CharmTestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(NeutronAPIContextsTest, self).setUp(context, TO_PATCH)
|
||||||
|
self.relation_get.side_effect = self.test_relation.get
|
||||||
|
self.config.side_effect = self.test_config.get
|
||||||
|
self.test_config.set('neutron-plugin', 'ovs')
|
||||||
|
self.test_config.set('neutron-security-groups', True)
|
||||||
|
self.test_config.set('debug', True)
|
||||||
|
self.test_config.set('verbose', True)
|
||||||
|
self.test_config.set('neutron-external-network', 'bob')
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
super(NeutronAPIContextsTest, self).tearDown()
|
||||||
|
|
||||||
|
@patch.object(context.NeutronCCContext, 'network_manager')
|
||||||
|
@patch.object(context.NeutronCCContext, 'plugin')
|
||||||
|
def test_quantum_plugin_context_no_setting(self, plugin, nm):
|
||||||
|
plugin.return_value = None
|
||||||
|
napi_ctxt = context.NeutronCCContext()
|
||||||
|
ctxt_data = {
|
||||||
|
'debug': True,
|
||||||
|
'external_network': 'bob',
|
||||||
|
'verbose': True
|
||||||
|
}
|
||||||
|
with patch.object(napi_ctxt, '_ensure_packages'):
|
||||||
|
self.assertEquals(ctxt_data, napi_ctxt())
|
||||||
|
|
||||||
|
def test_quantum_plugin_context_manager(self):
|
||||||
|
napi_ctxt = context.NeutronCCContext()
|
||||||
|
self.assertEquals(napi_ctxt.network_manager, 'neutron')
|
||||||
|
self.assertEquals(napi_ctxt.plugin, 'ovs')
|
||||||
|
self.assertEquals(napi_ctxt.neutron_security_groups, True)
|
||||||
|
|
||||||
|
def test_quantum_plugin_context_manager_pkgs(self):
|
||||||
|
napi_ctxt = context.NeutronCCContext()
|
||||||
|
with patch.object(napi_ctxt, '_ensure_packages') as ep:
|
||||||
|
napi_ctxt._ensure_packages()
|
||||||
|
ep.assert_has_calls([])
|
|
@ -34,6 +34,7 @@ TO_PATCH = [
|
||||||
'is_relation_made',
|
'is_relation_made',
|
||||||
'log',
|
'log',
|
||||||
'network_manager',
|
'network_manager',
|
||||||
|
'neutron_plugin_attribute',
|
||||||
'open_port',
|
'open_port',
|
||||||
'relation_get',
|
'relation_get',
|
||||||
'relation_ids',
|
'relation_ids',
|
||||||
|
|
|
@ -18,16 +18,32 @@ import charmhelpers.core.hookenv as hookenv
|
||||||
TO_PATCH = [
|
TO_PATCH = [
|
||||||
'b64encode',
|
'b64encode',
|
||||||
'config',
|
'config',
|
||||||
# 'neutron_plugin_attribute',
|
'neutron_plugin_attribute',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def _mock_npa(plugin, attr, net_manager=None):
|
||||||
|
plugins = {
|
||||||
|
'ovs': {
|
||||||
|
'config': '/etc/neutron/plugins/ml2/ml2_conf.ini',
|
||||||
|
'driver': 'neutron.plugins.ml2.plugin.Ml2Plugin',
|
||||||
|
'contexts': [],
|
||||||
|
'services': ['neutron-plugin-openvswitch-agent'],
|
||||||
|
'packages': [['neutron-plugin-openvswitch-agent']],
|
||||||
|
'server_packages': ['neutron-server',
|
||||||
|
'neutron-plugin-ml2'],
|
||||||
|
'server_services': ['neutron-server']
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return plugins[plugin][attr]
|
||||||
|
|
||||||
class TestNeutronAPIUtils(CharmTestCase):
|
class TestNeutronAPIUtils(CharmTestCase):
|
||||||
|
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestNeutronAPIUtils, self).setUp(nutils, TO_PATCH)
|
super(TestNeutronAPIUtils, self).setUp(nutils, TO_PATCH)
|
||||||
self.config.side_effect = self.test_config.get
|
self.config.side_effect = self.test_config.get
|
||||||
self.test_config.set('region', 'region101')
|
self.test_config.set('region', 'region101')
|
||||||
|
self.neutron_plugin_attribute.side_effect = _mock_npa
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
# Reset cached cache
|
# Reset cached cache
|
||||||
|
|
Loading…
Reference in New Issue