removed neutron api version, added more unit tests

This commit is contained in:
Edward Hope-Morley
2015-01-20 09:32:55 +00:00
parent adfbf78c08
commit d696949d7c
2 changed files with 34 additions and 3 deletions

View File

@@ -261,7 +261,7 @@ class NeutronCCContext(context.NeutronContext):
ctxt['nova_url'] = "{}:8774/v2".format(canonical_url())
if use_local_neutron_api():
ctxt['neutron_url'] = "{}:9696/v2".format(canonical_url())
ctxt['neutron_url'] = "{}:9696".format(canonical_url())
return ctxt

View File

@@ -84,9 +84,12 @@ class NovaComputeContextTests(CharmTestCase):
self.assertEqual({'memcached_servers': "%s:11211" % (formated_ip, )},
instance_console())
@mock.patch.object(context, 'use_local_neutron_api')
@mock.patch('charmhelpers.contrib.openstack.ip.config')
@mock.patch('charmhelpers.contrib.openstack.ip.is_clustered')
def test_neutron_context_single_vip(self, mock_is_clustered, mock_config):
def test_neutron_context_single_vip(self, mock_is_clustered, mock_config,
mock_use_local_neutron_api):
mock_use_local_neutron_api.return_value = True
self.https.return_value = False
mock_is_clustered.return_value = True
config = {'vip': '10.0.0.1',
@@ -94,12 +97,22 @@ class NovaComputeContextTests(CharmTestCase):
'os-admin-network': '10.0.1.0/24',
'os-public-network': '10.0.2.0/24'}
mock_config.side_effect = lambda key: config[key]
mock_use_local_neutron_api.return_value = False
ctxt = context.NeutronCCContext()()
self.assertEqual(ctxt['nova_url'], 'http://10.0.0.1:8774/v2')
self.assertFalse('neutron_url' in ctxt)
mock_use_local_neutron_api.return_value = True
ctxt = context.NeutronCCContext()()
self.assertEqual(ctxt['nova_url'], 'http://10.0.0.1:8774/v2')
self.assertEqual(ctxt['neutron_url'], 'http://10.0.0.1:9696')
@mock.patch.object(context, 'use_local_neutron_api')
@mock.patch('charmhelpers.contrib.openstack.ip.config')
@mock.patch('charmhelpers.contrib.openstack.ip.is_clustered')
def test_neutron_context_multi_vip(self, mock_is_clustered, mock_config):
def test_neutron_context_multi_vip(self, mock_is_clustered, mock_config,
mock_use_local_neutron_api):
self.https.return_value = False
mock_is_clustered.return_value = True
config = {'vip': '10.0.0.1 10.0.1.1 10.0.2.1',
@@ -107,5 +120,23 @@ class NovaComputeContextTests(CharmTestCase):
'os-admin-network': '10.0.0.0/24',
'os-public-network': '10.0.2.0/24'}
mock_config.side_effect = lambda key: config[key]
mock_use_local_neutron_api.return_value = False
ctxt = context.NeutronCCContext()()
self.assertEqual(ctxt['nova_url'], 'http://10.0.1.1:8774/v2')
self.assertFalse('neutron_url' in ctxt)
mock_use_local_neutron_api.return_value = True
ctxt = context.NeutronCCContext()()
self.assertEqual(ctxt['nova_url'], 'http://10.0.1.1:8774/v2')
self.assertEqual(ctxt['neutron_url'], 'http://10.0.1.1:9696')
def test_use_local_neutron_api(self):
self.relation_ids.return_value = []
self.related_units.return_value = []
self.assertTrue(context.use_local_neutron_api())
self.relation_ids.return_value = ['rel:0']
self.related_units.return_value = []
self.assertTrue(context.use_local_neutron_api())
self.related_units.return_value = ['unit/0']
self.assertFalse(context.use_local_neutron_api())