public async Task Host_can_loopback_events(ServiceCollection services, NoNamespaceEvent testEvent, EventReceivedAsync <NoNamespaceEvent> eventReceived) { services.AddLogging(l => l.AddDebug()); services.AddNybus(nybus => { nybus.UseInMemoryBusEngine(); nybus.SubscribeToEvent(eventReceived); }); 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 <NoNamespaceEvent> >()), Times.Once); }
public async Task Hosts_can_exchange_events(FakeServer server, NoNamespaceEvent testEvent, EventReceivedAsync <NoNamespaceEvent> eventReceived) { var sender = CreateNybusHost(nybus => { nybus.UseRabbitMqBusEngine(rabbitMq => { rabbitMq.Configure(configuration => configuration.ConnectionFactory = server.CreateConnectionFactory()); }); }); var receiver = CreateNybusHost(nybus => { nybus.UseRabbitMqBusEngine(rabbitMq => { rabbitMq.Configure(configuration => configuration.ConnectionFactory = server.CreateConnectionFactory()); }); nybus.SubscribeToEvent(eventReceived); }); await sender.StartAsync(); await receiver.StartAsync(); await sender.Bus.RaiseEventAsync(testEvent); await receiver.StopAsync(); await sender.StopAsync(); Mock.Get(eventReceived).Verify(p => p(It.IsAny <IDispatcher>(), It.IsAny <IEventContext <NoNamespaceEvent> >())); }