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"));
        }
Exemple #2
0
        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);
        }