Audit API supports new force option

Depends-on:Ia08694d2fb76907ea14e64116af2e722fe930063

Change-Id: Ib2d221ea9c994dea396c54cc8d2d32237025a1d4
Implements: blueprint add-force-field-to-audit
This commit is contained in:
licanwei
2019-05-09 14:48:25 +08:00
parent 3b9364d4c7
commit 2afd0dfcf5
7 changed files with 67 additions and 3 deletions

View File

@@ -950,6 +950,39 @@ class TestPost(api_base.FunctionalTest):
self.assertIn(expected_error_msg, response.json['error_message'])
assert not mock_trigger_audit.called
@mock.patch.object(deapi.DecisionEngineAPI, 'trigger_audit')
def test_create_audit_with_force_false(self, mock_trigger_audit):
mock_trigger_audit.return_value = mock.ANY
audit_dict = post_get_test_audit(
params_to_exclude=['uuid', 'state', 'interval', 'scope',
'next_run_time', 'hostname', 'goal'])
response = self.post_json(
'/audits',
audit_dict,
headers={'OpenStack-API-Version': 'infra-optim 1.2'})
self.assertEqual('application/json', response.content_type)
self.assertEqual(201, response.status_int)
self.assertFalse(response.json['force'])
@mock.patch.object(deapi.DecisionEngineAPI, 'trigger_audit')
def test_create_audit_with_force_true(self, mock_trigger_audit):
mock_trigger_audit.return_value = mock.ANY
audit_dict = post_get_test_audit(
params_to_exclude=['uuid', 'state', 'interval', 'scope',
'next_run_time', 'hostname', 'goal'])
audit_dict['force'] = True
response = self.post_json(
'/audits',
audit_dict,
headers={'OpenStack-API-Version': 'infra-optim 1.2'})
self.assertEqual('application/json', response.content_type)
self.assertEqual(201, response.status_int)
self.assertTrue(response.json['force'])
class TestDelete(api_base.FunctionalTest):

View File

@@ -227,6 +227,13 @@ class TestAutoTriggerActionPlan(base.DbTestCase):
mock_applier.assert_called_once_with(self.context,
self.recommended_action_plan.uuid)
@mock.patch.object(oneshot.OneShotAuditHandler, 'do_execute')
def test_trigger_audit_with_force(self, mock_do_execute):
audit_handler = oneshot.OneShotAuditHandler()
self.audit.force = True
audit_handler.execute(self.audit, self.context)
self.assertTrue(mock_do_execute.called)
class TestContinuousAuditHandler(base.DbTestCase):