From 1d3c404d7305d0e5dc61c85476fdebb6df8e88f7 Mon Sep 17 00:00:00 2001 From: Kevin Benton Date: Wed, 30 Aug 2017 20:14:57 -0700 Subject: [PATCH] Pecan: add missing body to delete notify payload The legacy API controller included the original object in the delete notification body payload. This adjusts pecan to do the same. Closes-Bug: #1714386 Change-Id: I5b2f87e7b1eccceedb821506bb2de43b764fde8d --- neutron/pecan_wsgi/hooks/notifier.py | 3 ++- neutron/tests/functional/pecan_wsgi/test_hooks.py | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/neutron/pecan_wsgi/hooks/notifier.py b/neutron/pecan_wsgi/hooks/notifier.py index 7e52fe608df..dfff55b43ef 100644 --- a/neutron/pecan_wsgi/hooks/notifier.py +++ b/neutron/pecan_wsgi/hooks/notifier.py @@ -100,5 +100,6 @@ class NotifierHook(hooks.PecanHook): if action == 'delete': resource_id = state.request.context.get('resource_id') - result = {resource_name + '_id': resource_id} + result[resource_name + '_id'] = resource_id + self._notifier.info(neutron_context, notifier_method, result) diff --git a/neutron/tests/functional/pecan_wsgi/test_hooks.py b/neutron/tests/functional/pecan_wsgi/test_hooks.py index 0b4a35df3a3..9c9d9785f92 100644 --- a/neutron/tests/functional/pecan_wsgi/test_hooks.py +++ b/neutron/tests/functional/pecan_wsgi/test_hooks.py @@ -316,13 +316,16 @@ class TestMetricsNotifierHook(test_functional.PecanFunctionalTest): self.mock_notifier.mock_calls) self.mock_notifier.reset_mock() + before_payload = {'network_id': network_id} + after_payload = before_payload.copy() + after_payload['network'] = directory.get_plugin().get_network( + context.get_admin_context(), network_id) response = self.app.delete( '/v2.0/networks/%s.json' % network_id, headers=req_headers) self.assertEqual(204, response.status_int) - payload = {'network_id': network_id} self.assertEqual( - [mock.call(mock.ANY, 'network.delete.start', payload), - mock.call(mock.ANY, 'network.delete.end', payload)], + [mock.call(mock.ANY, 'network.delete.start', before_payload), + mock.call(mock.ANY, 'network.delete.end', after_payload)], self.mock_notifier.mock_calls) def test_bulk_create_triggers_notification(self):