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)