class TestEventDispatcher(base.TestCase): def setUp(self): super(TestEventDispatcher, self).setUp() self.event_dispatcher = EventDispatcher() def fake_listener(self): return MagicMock() def fake_event(self, event_type): event = Event() event.type = event_type return event def test_add_listener(self): listener = self.fake_listener() self.event_dispatcher.add_event_listener(Events.ALL, listener) self.assertTrue(self.event_dispatcher.has_listener( Events.ALL, listener)) def test_remove_listener(self): listener = self.fake_listener() self.event_dispatcher.add_event_listener(Events.ALL, listener) self.event_dispatcher.remove_event_listener(Events.ALL, listener) self.assertFalse(self.event_dispatcher.has_listener( Events.TRIGGER_AUDIT, listener)) def test_dispatch_event(self): listener = self.fake_listener() event = self.fake_event(Events.TRIGGER_AUDIT) self.event_dispatcher.add_event_listener(Events.TRIGGER_AUDIT, listener) self.event_dispatcher.dispatch_event(event) listener.assert_has_calls(calls=[call(event)]) def test_dispatch_event_to_all_listener(self): event = self.fake_event(Events.ACTION_PLAN) listener_all = self.fake_listener() listener_action_plan = self.fake_listener() listener_trigger_audit = self.fake_listener() self.event_dispatcher.add_event_listener(Events.ALL, listener_all) self.event_dispatcher.add_event_listener(Events.ACTION_PLAN, listener_action_plan) self.event_dispatcher.add_event_listener(Events.TRIGGER_AUDIT, listener_trigger_audit) self.event_dispatcher.dispatch_event(event) listener_all.assert_has_calls(calls=[call(event)]) listener_action_plan.assert_has_calls(calls=[call(event)]) listener_trigger_audit.assert_has_calls([])
class TestEventDispatcher(base.TestCase): def setUp(self): super(TestEventDispatcher, self).setUp() self.event_dispatcher = EventDispatcher() def fake_listener(self): return MagicMock() def fake_event(self, event_type): event = Event() event.type = event_type return event def test_add_listener(self): listener = self.fake_listener() self.event_dispatcher.add_event_listener(Events.ALL, listener) self.assertTrue( self.event_dispatcher.has_listener(Events.ALL, listener)) def test_remove_listener(self): listener = self.fake_listener() self.event_dispatcher.add_event_listener(Events.ALL, listener) self.event_dispatcher.remove_event_listener(Events.ALL, listener) self.assertFalse( self.event_dispatcher.has_listener(Events.TRIGGER_AUDIT, listener)) def test_dispatch_event(self): listener = self.fake_listener() event = self.fake_event(Events.TRIGGER_AUDIT) self.event_dispatcher.add_event_listener(Events.TRIGGER_AUDIT, listener) self.event_dispatcher.dispatch_event(event) listener.assert_has_calls(calls=[call(event)]) def test_dispatch_event_to_all_listener(self): event = self.fake_event(Events.ACTION_PLAN) listener_all = self.fake_listener() listener_action_plan = self.fake_listener() listener_trigger_audit = self.fake_listener() self.event_dispatcher.add_event_listener(Events.ALL, listener_all) self.event_dispatcher.add_event_listener(Events.ACTION_PLAN, listener_action_plan) self.event_dispatcher.add_event_listener(Events.TRIGGER_AUDIT, listener_trigger_audit) self.event_dispatcher.dispatch_event(event) listener_all.assert_has_calls(calls=[call(event)]) listener_action_plan.assert_has_calls(calls=[call(event)]) listener_trigger_audit.assert_has_calls([])