From 77e62ce78396457d2dd971a7e160aeaf01a4a317 Mon Sep 17 00:00:00 2001 From: Liam Young Date: Mon, 28 Sep 2015 08:59:49 +0000 Subject: [PATCH] Add units tests to jjos branch --- metadata.yaml | 2 +- unit_tests/test_nova_cc_contexts.py | 41 +++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/metadata.yaml b/metadata.yaml index f973bc3d..79ef4c2a 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -4,7 +4,7 @@ summary: "Openstack nova controller node." description: | Cloud controller node for Openstack nova. Contains nova-schedule, nova-api, nova-network and nova-objectstore. -categories: +tags: - openstack provides: nrpe-external-master: diff --git a/unit_tests/test_nova_cc_contexts.py b/unit_tests/test_nova_cc_contexts.py index e6386b42..5a34a501 100644 --- a/unit_tests/test_nova_cc_contexts.py +++ b/unit_tests/test_nova_cc_contexts.py @@ -19,6 +19,7 @@ from charmhelpers.contrib.openstack import utils from test_utils import CharmTestCase +from charmhelpers.contrib.openstack import neutron TO_PATCH = [ 'apt_install', @@ -30,6 +31,7 @@ TO_PATCH = [ 'log', 'relations_for_id', 'https', + 'is_relation_made', ] @@ -148,3 +150,42 @@ class NovaComputeContextTests(CharmTestCase): self.assertTrue(context.use_local_neutron_api()) self.related_units.return_value = ['unit/0'] self.assertFalse(context.use_local_neutron_api()) + + @mock.patch.object(neutron, 'network_manager') + @mock.patch('charmhelpers.contrib.hahelpers.cluster.https') + @mock.patch('charmhelpers.contrib.openstack.context.' + 'get_address_in_network') + @mock.patch('charmhelpers.contrib.openstack.context.' + 'get_netmask_for_address') + @mock.patch('charmhelpers.contrib.openstack.context.local_unit') + @mock.patch('charmhelpers.contrib.openstack.context.get_ipv6_addr') + @mock.patch('charmhelpers.contrib.openstack.context.relation_ids') + def test_haproxy_context(self, mock_relation_ids, mock_get_ipv6_addr, + mock_local_unit, mock_get_netmask_for_address, + mock_get_address_in_network, mock_https, + mock_network_manager): + mock_network_manager.return_value = 'neutron' + mock_https.return_value = False + self.is_relation_made.return_value = False + ctxt = context.HAProxyContext()() + self.assertEqual(ctxt['service_ports']['neutron-server'], [9696, 9686]) + + @mock.patch.object(neutron, 'network_manager') + @mock.patch('charmhelpers.contrib.hahelpers.cluster.https') + @mock.patch('charmhelpers.contrib.openstack.context.' + 'get_address_in_network') + @mock.patch('charmhelpers.contrib.openstack.context.' + 'get_netmask_for_address') + @mock.patch('charmhelpers.contrib.openstack.context.local_unit') + @mock.patch('charmhelpers.contrib.openstack.context.get_ipv6_addr') + @mock.patch('charmhelpers.contrib.openstack.context.relation_ids') + def test_haproxy_context_api_relation(self, mock_relation_ids, + mock_get_ipv6_addr, mock_local_unit, + mock_get_netmask_for_address, + mock_get_address_in_network, + mock_https, mock_network_manager): + mock_network_manager.return_value = 'neutron' + mock_https.return_value = False + self.is_relation_made.return_value = True + ctxt = context.HAProxyContext()() + self.assertEqual(ctxt['service_ports'].get('neutron-server'), None)