From 171654c0eae1e4ba508461980aa10303dd6f0d5c Mon Sep 17 00:00:00 2001 From: licanwei Date: Mon, 9 Apr 2018 00:41:12 -0700 Subject: [PATCH] add unittest for execute_audit in audit/continuous.py Change-Id: I20b9cb9b4b175a1befdbe23f7c187bec6a195dac --- .../audit/test_audit_handlers.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/watcher/tests/decision_engine/audit/test_audit_handlers.py b/watcher/tests/decision_engine/audit/test_audit_handlers.py index 1923f585b..93834f719 100644 --- a/watcher/tests/decision_engine/audit/test_audit_handlers.py +++ b/watcher/tests/decision_engine/audit/test_audit_handlers.py @@ -224,6 +224,11 @@ class TestContinuousAuditHandler(base.DbTestCase): def setUp(self): super(TestContinuousAuditHandler, self).setUp() + p_audit_notifications = mock.patch.object( + notifications, 'audit', autospec=True) + self.m_audit_notifications = p_audit_notifications.start() + self.addCleanup(p_audit_notifications.stop) + self.goal = obj_utils.create_test_goal( self.context, id=1, name=dummy_strategy.DummyStrategy.get_name()) audit_template = obj_utils.create_test_audit_template( @@ -417,3 +422,27 @@ class TestContinuousAuditHandler(base.DbTestCase): audit_handler.launch_audits_periodically() m_remove_job.assert_called() + + @mock.patch.object(continuous.ContinuousAuditHandler, 'planner') + def test_execute_audit(self, m_planner): + audit_handler = continuous.ContinuousAuditHandler() + audit = self.audits[0] + audit_handler.execute_audit(audit, self.context) + + expected_calls = [ + mock.call(self.context, audit, + action=objects.fields.NotificationAction.STRATEGY, + phase=objects.fields.NotificationPhase.START), + mock.call(self.context, audit, + action=objects.fields.NotificationAction.STRATEGY, + phase=objects.fields.NotificationPhase.END), + mock.call(self.context, audit, + action=objects.fields.NotificationAction.PLANNER, + phase=objects.fields.NotificationPhase.START), + mock.call(self.context, audit, + action=objects.fields.NotificationAction.PLANNER, + phase=objects.fields.NotificationPhase.END)] + + self.assertEqual( + expected_calls, + self.m_audit_notifications.send_action_notification.call_args_list)