public async Task EventDispatchServiceTest() { var sc = new ServiceCollection(); sc.AddSingleton <TestHandler>(); sc.AddSingleton <Test2Handler>(); var serviceProvider = sc.BuildServiceProvider(); var builder = new EventDispatchConfigBuilder(sc) .Add <TestHandler>("invoke_test") .Add <Test2Handler>("test2"); var dispatcher = new EventDispatchService(serviceProvider, builder); var result1 = new WebhookResult(); await dispatcher.Process("invoke_test", string.Empty, result1); var result2 = new WebhookResult(); await dispatcher.Process("test2", "test request body", result2); Assert.IsTrue(result1.Messages.First().Contains("Test")); Assert.IsTrue(result2.Messages.First().Contains("test request body")); }
public async Task DispatcherCallsAllEventHandlers() { var services = new ServiceCollection(); var config = new EventDispatchConfigBuilder(services) .Add <EventHandler1A>("event1") .Add <EventHandler1B>("event1") .Add <EventHandler2>("event2"); var service = new EventDispatchService(services.BuildServiceProvider(), config); await service.Process("event1", "dummy request", new WebhookResult(), NullLogger.Instance); Assert.IsTrue(EventHandler1A.Invoked); Assert.IsTrue(EventHandler1A.Invoked); Assert.IsFalse(EventHandler2.Invoked); }