public void TwoSimpleEventInterceptorsTest() { var simpleEventInterceptorOne = new EventSimpleInterceptor(); var simpleEventInterceptorTwo = new EventSimpleInterceptor(); using (var messagingEngine = new MessagingEngine( _logFactory, new TransportResolver(new Dictionary <string, TransportInfo> { { "InMemory", new TransportInfo("none", "none", "none", null) } }))) { using (var engine = new CqrsEngine( _logFactory, messagingEngine, Register.DefaultEndpointResolver(new InMemoryEndpointResolver()), Register.EventInterceptors(simpleEventInterceptorOne), Register.EventInterceptors(simpleEventInterceptorTwo), Register.Saga <TestSaga>("test2") .ListeningEvents(typeof(string)).From("lykke-wallet").On("lykke-wallet-events"))) { engine.StartSubscribers(); messagingEngine.Send("2", new Endpoint("InMemory", "lykke-wallet-events", serializationFormat: SerializationFormat.Json)); Thread.Sleep(1000); Assert.True(simpleEventInterceptorOne.Intercepted); Assert.True(simpleEventInterceptorTwo.Intercepted); Assert.NotNull(simpleEventInterceptorOne.InterceptionTimestamp); Assert.NotNull(simpleEventInterceptorTwo.InterceptionTimestamp); Assert.True(simpleEventInterceptorOne.InterceptionTimestamp < simpleEventInterceptorTwo.InterceptionTimestamp); Assert.True(TestSaga.Messages.Contains("2")); } } }
public void EventLoggingInterceptorDoesNotBreakProcessingChain() { var eventLoggingInterceptor = new DefaultEventLoggingInterceptor(_logFactory); var simpleEventInterceptor = new EventSimpleInterceptor(); using (var messagingEngine = new MessagingEngine( _logFactory, new TransportResolver(new Dictionary <string, TransportInfo> { { "InMemory", new TransportInfo("none", "none", "none", null) } }))) { using (var engine = new CqrsEngine( _logFactory, messagingEngine, Register.DefaultEndpointResolver(new InMemoryEndpointResolver()), Register.EventInterceptors(eventLoggingInterceptor, simpleEventInterceptor), Register.Saga <TestSaga>("test1") .ListeningEvents(typeof(string)).From("lykke-wallet").On("lykke-wallet-events"))) { engine.StartSubscribers(); messagingEngine.Send("1", new Endpoint("InMemory", "lykke-wallet-events", serializationFormat: SerializationFormat.Json)); Thread.Sleep(1000); Assert.True(simpleEventInterceptor.Intercepted); } } }