test_delete_all_calls_delete: fix delete mock 93/37593/2
authorRoss Brattain <ross.b.brattain@intel.com>
Mon, 17 Jul 2017 03:31:38 +0000 (20:31 -0700)
committerRoss Brattain <ross.b.brattain@intel.com>
Mon, 17 Jul 2017 03:35:51 +0000 (03:35 +0000)
we need to mock HeatStack.delete() before
we instantiate otherwise we can't
reach the instantiated objects delete() method

we need to patch the class so we patch all instances

Change-Id: I36f9476dcfb83e2d583c5a9f72dc27fce57258eb
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
tests/unit/orchestrator/test_heat.py

index 19d91c6..c127dd0 100644 (file)
@@ -345,8 +345,10 @@ class HeatStackTestCase(unittest.TestCase):
 
     @mock.patch('yardstick.orchestrator.heat.op_utils')
     def test_delete_all_calls_delete(self, mock_op):
-        stack = heat.HeatStack('test')
-        stack.uuid = 1
-        with mock.patch.object(stack, "delete") as delete_mock:
+        # we must patch the object before we create an instance
+        # so we can override delete() in all the instances
+        with mock.patch.object(heat.HeatStack, "delete") as delete_mock:
+            stack = heat.HeatStack('test')
+            stack.uuid = 1
             stack.delete_all()
-        self.assertGreater(delete_mock.call_count, 0)
+            self.assertGreater(delete_mock.call_count, 0)