public async Task Host_can_loopback_events(ServiceCollection services, SecondTestEvent testEvent, [Frozen] EventReceivedAsync <SecondTestEvent> eventReceived, SecondTestEventHandler handler) { services.AddLogging(l => l.AddDebug()); services.AddSingleton(eventReceived); services.AddSingleton(handler); services.AddNybus(nybus => { nybus.UseInMemoryBusEngine(); nybus.SubscribeToEvent <SecondTestEvent, SecondTestEventHandler>(); }); var serviceProvider = services.BuildServiceProvider(); var host = serviceProvider.GetRequiredService <IBusHost>(); var bus = serviceProvider.GetRequiredService <IBus>(); await host.StartAsync(); await bus.RaiseEventAsync(testEvent); await host.StopAsync(); Mock.Get(eventReceived).Verify(p => p(It.IsAny <IDispatcher>(), It.IsAny <IEventContext <SecondTestEvent> >())); }
public async Task Host_can_loopback_events(FakeServer server, SecondTestEvent testEvent, [Frozen] EventReceivedAsync <SecondTestEvent> eventReceived, SecondTestEventHandler handler) { var settings = new Dictionary <string, string> { ["Nybus:ErrorPolicy:ProviderName"] = "retry", ["Nybus:ErrorPolicy:MaxRetries"] = "5", }; var configurationBuilder = new ConfigurationBuilder().AddInMemoryCollection(settings); var configuration = configurationBuilder.Build(); var host = CreateNybusHost(nybus => { nybus.UseRabbitMqBusEngine(rabbitMq => { rabbitMq.Configure(c => c.ConnectionFactory = server.CreateConnectionFactory()); }); nybus.UseConfiguration(configuration); nybus.SubscribeToEvent <SecondTestEvent, SecondTestEventHandler>(); }, services => { services.AddSingleton(eventReceived); services.AddSingleton(handler); }); await host.StartAsync(); await host.Bus.RaiseEventAsync(testEvent); await host.StopAsync(); Mock.Get(eventReceived).Verify(p => p(It.IsAny <IDispatcher>(), It.IsAny <IEventContext <SecondTestEvent> >())); }
public async Task Host_can_loopback_events(FakeServer server, SecondTestEvent testEvent, [Frozen] EventReceivedAsync <SecondTestEvent> eventReceived, SecondTestEventHandler handler) { var host = CreateNybusHost(nybus => { nybus.SubscribeToEvent(eventReceived); nybus.UseRabbitMqBusEngine(rabbitMq => { rabbitMq.Configure(c => c.ConnectionFactory = server.CreateConnectionFactory()); }); nybus.SubscribeToEvent <SecondTestEvent, SecondTestEventHandler>(); }, services => { services.AddSingleton(eventReceived); services.AddSingleton(handler); }); await host.StartAsync(); await host.Bus.RaiseEventAsync(testEvent); await host.StopAsync(); Mock.Get(eventReceived).Verify(p => p(It.IsAny <IDispatcher>(), It.IsAny <IEventContext <SecondTestEvent> >())); }
public async Task Host_can_loopback_events(ServiceCollection services, SecondTestEvent testEvent, [Frozen] EventReceivedAsync <SecondTestEvent> eventReceived, SecondTestEventHandler handler) { var settings = new Dictionary <string, string> { ["Nybus:ErrorPolicy:ProviderName"] = "retry", ["Nybus:ErrorPolicy:MaxRetries"] = "5", }; var configurationBuilder = new ConfigurationBuilder().AddInMemoryCollection(settings); var configuration = configurationBuilder.Build(); services.AddLogging(l => l.AddDebug()); services.AddSingleton(eventReceived); services.AddSingleton(handler); services.AddNybus(nybus => { nybus.UseInMemoryBusEngine(); nybus.UseConfiguration(configuration); nybus.SubscribeToEvent <SecondTestEvent, SecondTestEventHandler>(); }); var serviceProvider = services.BuildServiceProvider(); var host = serviceProvider.GetRequiredService <IBusHost>(); var bus = serviceProvider.GetRequiredService <IBus>(); await host.StartAsync(); await bus.RaiseEventAsync(testEvent); await host.StopAsync(); Mock.Get(eventReceived).Verify(p => p(It.IsAny <IDispatcher>(), It.IsAny <IEventContext <SecondTestEvent> >())); }