From e83c1a419a64a1d0abd63674cfc1d27f66b31830 Mon Sep 17 00:00:00 2001 From: rabi Date: Thu, 12 Jan 2017 18:43:39 +0530 Subject: [PATCH] Don't use MagicMock for stacks in tests Conflict resolution was required because the test_needs_replace_failed test doesn't exist on this branch Change-Id: I1ac42a3057dea4d6a19b7e6d73cf1152a0b6ba7d Closes-Bug: #1656190 (cherry picked from commit 3227b1d90727855e760dd901af06076ad3f3dab2) --- heat/tests/openstack/neutron/test_neutron.py | 33 +++++++++++--------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/heat/tests/openstack/neutron/test_neutron.py b/heat/tests/openstack/neutron/test_neutron.py index f018f613e..2a88e980a 100644 --- a/heat/tests/openstack/neutron/test_neutron.py +++ b/heat/tests/openstack/neutron/test_neutron.py @@ -16,12 +16,14 @@ from neutronclient.common import exceptions as qe import six from heat.common import exception -from heat.engine.clients.os import neutron from heat.engine import properties from heat.engine.resources.openstack.neutron import net from heat.engine.resources.openstack.neutron import neutron as nr from heat.engine import rsrc_defn +from heat.engine import stack +from heat.engine import template from heat.tests import common +from heat.tests import utils class NeutronTest(common.HeatTestCase): @@ -73,7 +75,7 @@ class NeutronTest(common.HeatTestCase): 'FROBULATING due to "Unknown"', six.text_type(e)) - def test_resolve_attribute(self): + def _get_some_neutron_resource(self): class SomeNeutronResource(nr.NeutronResource): properties_schema = {} @@ -81,20 +83,23 @@ class NeutronTest(common.HeatTestCase): def is_service_available(cls, context): return (True, None) + empty_tmpl = {'heat_template_version': '2016-10-14'} + tmpl = template.Template(empty_tmpl) + stack_name = 'dummystack' + self.dummy_stack = stack.Stack(utils.dummy_context(), stack_name, tmpl) + tmpl = rsrc_defn.ResourceDefinition('test_res', 'Foo') - stack = mock.MagicMock() - stack.has_cache_data = mock.Mock(return_value=False) - res = SomeNeutronResource('aresource', tmpl, stack) - - mock_show_resource = mock.MagicMock() - mock_show_resource.side_effect = [{'attr1': 'val1', 'attr2': 'val2'}, - {'attr1': 'val1', 'attr2': 'val2'}, - {'attr1': 'val1', 'attr2': 'val2'}, - qe.NotFound] - res._show_resource = mock_show_resource - nclientplugin = neutron.NeutronClientPlugin(mock.MagicMock()) - res.client_plugin = mock.Mock(return_value=nclientplugin) + self.dummy_stack.has_cache_data = mock.Mock(return_value=False) + return SomeNeutronResource('aresource', tmpl, self.dummy_stack) + def test_resolve_attribute(self): + res = self._get_some_neutron_resource() + side_effect = [{'attr1': 'val1', 'attr2': 'val2'}, + {'attr1': 'val1', 'attr2': 'val2'}, + {'attr1': 'val1', 'attr2': 'val2'}, + qe.NotFound] + self.patchobject(res, '_show_resource', side_effect=side_effect) + res.resource_id = 'resource_id' self.assertEqual({'attr1': 'val1', 'attr2': 'val2'}, res.FnGetAtt('show')) self.assertEqual('val2', res._resolve_all_attributes('attr2'))