diff options
author | Ilia Abashin <abashinos@gmail.com> | 2017-08-25 14:24:59 +0300 |
---|---|---|
committer | Ilia Abashin <abashinos@gmail.com> | 2017-08-25 14:29:28 +0300 |
commit | 2f9d5cf583b4b5dd635f386cb9ac07435bd44cc8 (patch) | |
tree | 2c025d24aff9bb0192e6d221a4e989e327c72e7c /app/test/event_based_scan/test_instance_update.py | |
parent | de9f324ff628a6d9e870f06e6e216f65382a978b (diff) |
Heavily refactored all event based scans
Restricted real mongo interaction.
Still work to do, but it's a good start.
Fixed a bug with old subnets not being properly deleted.
Change-Id: I5f260e09f0e11a477a47cb031d397a454465123f
Signed-off-by: Ilia Abashin <abashinos@gmail.com>
Diffstat (limited to 'app/test/event_based_scan/test_instance_update.py')
-rw-r--r-- | app/test/event_based_scan/test_instance_update.py | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/app/test/event_based_scan/test_instance_update.py b/app/test/event_based_scan/test_instance_update.py index 6abccb5..b16a5b7 100644 --- a/app/test/event_based_scan/test_instance_update.py +++ b/app/test/event_based_scan/test_instance_update.py @@ -8,7 +8,9 @@ # http://www.apache.org/licenses/LICENSE-2.0 # ############################################################################### from discover.events.event_instance_update import EventInstanceUpdate -from test.event_based_scan.test_data.event_payload_instance_update import EVENT_PAYLOAD_INSTANCE_UPDATE, INSTANCE_DOCUMENT +from test.event_based_scan.test_data.event_payload_instance_update \ + import EVENT_PAYLOAD_INSTANCE_UPDATE, INSTANCE_DOCUMENT, \ + UPDATED_INSTANCE_FIELDS from test.event_based_scan.test_event import TestEvent @@ -18,29 +20,19 @@ class TestInstanceUpdate(TestEvent): self.values = EVENT_PAYLOAD_INSTANCE_UPDATE payload = self.values['payload'] self.instance_id = payload['instance_id'] - self.item_ids.append(self.instance_id) - new_name = payload['display_name'] - # preparing instance to be updated - instance = self.inv.get_by_id(self.env, self.instance_id) - if not instance: - self.log.info("instance document is not found, add document for updating") + instance = INSTANCE_DOCUMENT - # add instance document for updating - self.set_item(INSTANCE_DOCUMENT) - instance = self.inv.get_by_id(self.env, self.instance_id) - self.assertIsNotNone(instance) - self.assertEqual(instance['name'], INSTANCE_DOCUMENT['name']) - - name_path = instance['name_path'] - new_name_path = name_path[:name_path.rindex('/') + 1] + new_name + self.inv.get_by_id.return_value = instance # update instance document - EventInstanceUpdate().handle(self.env, self.values) + res = EventInstanceUpdate().handle(self.env, self.values) - # get new document - instance = self.inv.get_by_id(self.env, self.instance_id) + self.assertTrue(res.result) + self.assertTrue(self.inv.values_replace.called) + self.assertTrue(self.inv.set.called) - # check update result. - self.assertEqual(instance['name'], new_name) - self.assertEqual(instance['name_path'], new_name_path) + # check that all changed fields are updated + call_args, _ = self.inv.set.call_args + self.assertTrue(all(item in call_args[0].items() + for item in UPDATED_INSTANCE_FIELDS.items())) |