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]
Esempio n. 2
0
    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)
Esempio n. 3
0
 def _FakeLoadAddRulesSchema(self):
     events = self._LoadJSON('add_rules_def_test.json')
     return Future(value=GetEventByNameFromEvents(events))