public async Task Host_can_loopback_events(SecondTestEvent testEvent, EventReceivedAsync <SecondTestEvent> eventReceived) { var host = TestUtils.CreateNybusHost(nybus => { nybus.UseRabbitMqBusEngine(rabbitMq => { rabbitMq.Configure(configuration => configuration.ConnectionFactory = new ConnectionFactory()); }); nybus.SubscribeToEvent <SecondTestEvent>(); }, services => { services.AddSingleton(eventReceived); services.AddSingleton <IEventHandler <SecondTestEvent>, SecondTestEventHandler>(); }); await host.StartAsync(); await host.Bus.RaiseEventAsync(testEvent); await Task.Delay(TimeSpan.FromMilliseconds(50)); 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) { 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(SecondTestEvent testEvent, EventReceivedAsync <SecondTestEvent> eventReceived, string headerKey, string headerValue) { var host = TestUtils.CreateNybusHost(nybus => { nybus.SubscribeToEvent(eventReceived); nybus.UseRabbitMqBusEngine(rabbitMq => { rabbitMq.Configure(c => c.ConnectionFactory = new ConnectionFactory()); }); }, services => { services.AddSingleton(eventReceived); services.AddSingleton <IEventHandler <SecondTestEvent>, SecondTestEventHandler>(); }); await host.StartAsync(); var headers = new Dictionary <string, string> { [headerKey] = headerValue }; await host.Bus.RaiseEventAsync(testEvent, headers); await Task.Delay(TimeSpan.FromMilliseconds(50)); await host.StopAsync(); Mock.Get(eventReceived).Verify(p => p(It.IsAny <IDispatcher>(), It.Is <IEventContext <SecondTestEvent> >(c => c.Message.Headers.ContainsKey(headerKey) && c.Message.Headers[headerKey] == headerValue))); }
public async Task Host_can_loopback_events(ServiceCollection services, SecondTestEvent testEvent, EventReceivedAsync <SecondTestEvent> eventReceived, string headerKey, string headerValue) { services.AddLogging(l => l.AddDebug()); services.AddSingleton(eventReceived); services.AddSingleton <IEventHandler <SecondTestEvent>, SecondTestEventHandler>(); services.AddNybus(nybus => { nybus.UseInMemoryBusEngine(); nybus.SubscribeToEvent <SecondTestEvent>(); }); var serviceProvider = services.BuildServiceProvider(); var host = serviceProvider.GetRequiredService <IBusHost>(); var bus = serviceProvider.GetRequiredService <IBus>(); await host.StartAsync(); var headers = new Dictionary <string, string> { [headerKey] = headerValue }; await bus.RaiseEventAsync(testEvent, headers); await host.StopAsync(); Mock.Get(eventReceived).Verify(p => p(It.IsAny <IDispatcher>(), It.Is <IEventContext <SecondTestEvent> >(c => c.Message.Headers.ContainsKey(headerKey) && c.Message.Headers[headerKey] == headerValue))); }
public bool Get(string message = "Default test SecondMicroservice") { _logger.LogInformation("Send '{0}' message from SecondMicroservice.", message); var test = new FirstTestEvent() { Message = message }; var test2 = new SecondTestEvent() { Message = message }; _eventBus.Publish(test); _eventBus.Publish(test2); return(true); }
public async Task Host_can_loopback_events(ServiceCollection services, SecondTestEvent testEvent, EventReceivedAsync <SecondTestEvent> eventReceived) { 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 <IEventHandler <SecondTestEvent>, SecondTestEventHandler>(); services.AddNybus(nybus => { nybus.UseInMemoryBusEngine(); nybus.UseConfiguration(configuration); nybus.SubscribeToEvent <SecondTestEvent>(); }); 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(SecondTestEvent testEvent, EventReceivedAsync <SecondTestEvent> eventReceived) { 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 = TestUtils.CreateNybusHost(nybus => { nybus.UseRabbitMqBusEngine(rabbitMq => { rabbitMq.Configure(c => c.ConnectionFactory = new ConnectionFactory()); }); nybus.UseConfiguration(configuration); nybus.SubscribeToEvent <SecondTestEvent>(); }, services => { services.AddSingleton(eventReceived); services.AddSingleton <IEventHandler <SecondTestEvent>, SecondTestEventHandler>(); }); await host.StartAsync(); await host.Bus.RaiseEventAsync(testEvent); await Task.Delay(TimeSpan.FromMilliseconds(50)); 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> >())); }
private void SomeEventHandler(FirstTestEvent firstTestEvent, SecondTestEvent secondTestEvent) { InvokedForFirstEvent = true; InvokedForSecondEvent = true; }
private void SomeEventHandler(SecondTestEvent @event) { InvokedForFirstEvent = false; InvokedForSecondEvent = true; }