def _LoadEventByName(self, platform): '''All events have some members in common. We source their description from Event in events.json. ''' if platform not in self._event_byname_futures: future = self._GetSchemaView(platform, 'events') self._event_byname_futures[platform] = Future( callback=lambda: GetEventByNameFromEvents(future.Get())) return self._event_byname_futures[platform]
def testGetEventByNameFromEvents(self): events = {} # Missing 'types' completely. self.assertRaises(AssertionError, GetEventByNameFromEvents, events) events['types'] = [] # No type 'Event' defined. self.assertRaises(AssertionError, GetEventByNameFromEvents, events) events['types'].append({'name': 'Event', 'functions': []}) add_rules = {"name": "addRules"} events['types'][0]['functions'].append(add_rules) self.assertEqual(add_rules, GetEventByNameFromEvents(events)['addRules']) events['types'][0]['functions'].append(add_rules) # Duplicates are an error. self.assertRaises(AssertionError, GetEventByNameFromEvents, events)
def _FakeLoadAddRulesSchema(self): events = self._LoadJSON('add_rules_def_test.json') return Future(value=GetEventByNameFromEvents(events))