diff options
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())) |