Ejemplo n.º 1
0
        public void HandleWithNoInterceptor()
        {
            var proxy   = new MessageHandlerProxy <MessageA>(new MessageHandler1(), null);
            var message = new MessageA {
                Id = Guid.NewGuid().ToString(), BusinessKey = "Key1"
            };
            var ctx = new MockupMessageContext();

            proxy.HandleAsync(message, ctx).Wait();
            Assert.Equal($"MessageA_{message.Id}", ctx.GetResult());
        }
Ejemplo n.º 2
0
        public void HandleWithAutoIdempotentInterceptor()
        {
            var proxy = new MessageHandlerProxy <MessageA>(new MessageHandler1(),
                                                           new IInterceptor[] {
                new AutoIdempotentInterceptor(new InMemoryAutoIdempotentStore())
            });
            var message = new MessageA {
                Id = Guid.NewGuid().ToString(), BusinessKey = "Key1"
            };
            var ctx = new MockupMessageContext();

            proxy.HandleAsync(message, ctx).Wait();
            Assert.Equal($"MessageA_{message.Id}", ctx.GetResult());
            Assert.Throws <DuplicateMessageHandlingException>(() =>
            {
                proxy.HandleAsync(message, ctx).Wait();
            });
        }