diff options
author | Yaron Yogev <yaronyogev@gmail.com> | 2017-08-28 07:06:52 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-08-28 07:06:52 +0000 |
commit | 834c0f5899a7823ce77453aae4add76245b794c6 (patch) | |
tree | 993acfaa6f2010e74ea6a3f73495714e1c8b917f /app/test/event_based_scan/test_interface_delete.py | |
parent | 23f0c36a014295988d5fcbf9f0bda0ae2cb54057 (diff) | |
parent | 2f9d5cf583b4b5dd635f386cb9ac07435bd44cc8 (diff) |
Merge "Heavily refactored all event based scans"
Diffstat (limited to 'app/test/event_based_scan/test_interface_delete.py')
-rw-r--r-- | app/test/event_based_scan/test_interface_delete.py | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/app/test/event_based_scan/test_interface_delete.py b/app/test/event_based_scan/test_interface_delete.py index b156758..e416be4 100644 --- a/app/test/event_based_scan/test_interface_delete.py +++ b/app/test/event_based_scan/test_interface_delete.py @@ -7,38 +7,44 @@ # which accompanies this distribution, and is available at # # http://www.apache.org/licenses/LICENSE-2.0 # ############################################################################### +from unittest.mock import patch + +from discover.events.event_base import EventResult from discover.events.event_interface_delete import EventInterfaceDelete -from discover.fetchers.api.api_access import ApiAccess -from test.event_based_scan.test_data.event_payload_interface_delete import EVENT_PAYLOAD_INTERFACE_DELETE, NETWORK_DOC, \ - EVENT_PAYLOAD_REGION, PORT_DOC, ROUTER_DOCUMENT, HOST, VNIC_DOCS +from test.event_based_scan.test_data.event_payload_interface_delete \ + import EVENT_PAYLOAD_INTERFACE_DELETE, PORT_DOC, ROUTER_DOCUMENT from test.event_based_scan.test_event import TestEvent from utils.util import encode_router_id class TestInterfaceDelete(TestEvent): - def test_handle_interface_delete(self): + + def get_by_id(self, env, object_id): + if object_id == self.port_id: + return PORT_DOC + elif object_id == self.router_id: + return ROUTER_DOCUMENT + else: + return None + + @patch("discover.events.event_interface_delete.EventPortDelete") + def test_handle_interface_delete(self, + port_delete_class_mock): self.values = EVENT_PAYLOAD_INTERFACE_DELETE self.payload = self.values['payload'] self.interface = self.payload['router_interface'] - self.port_id = self.interface['port_id'] self.host_id = self.values["publisher_id"].replace("network.", "", 1) self.router_id = encode_router_id(self.host_id, self.interface['id']) - # set document for instance deleting. - self.set_item(NETWORK_DOC) - self.set_item(PORT_DOC) - self.set_item(ROUTER_DOCUMENT) - self.set_item(HOST) - self.set_item(VNIC_DOCS[0]) - ApiAccess.regions = EVENT_PAYLOAD_REGION + port_delete_mock = port_delete_class_mock.return_value + port_delete_mock.delete_port.return_value = EventResult(result=True) + + self.inv.get_by_id.side_effect = self.get_by_id - # delete interface - EventInterfaceDelete().handle(self.env, self.values) + res = EventInterfaceDelete().handle(self.env, self.values) - # assert data - router_doc = self.inv.get_by_id(self.env, ROUTER_DOCUMENT['id']) - self.assertNotIn(NETWORK_DOC['id'], router_doc['network']) + self.assertTrue(res.result) + self.assertTrue(port_delete_mock.delete_port.called) + self.inv.set.assert_called_with(ROUTER_DOCUMENT) - self.assert_empty_by_id(PORT_DOC['id']) - self.assert_empty_by_id(VNIC_DOCS[0]['id']) |