Ejemplo n.º 1
0
        public async Task WhenMessageIsLockedByAnotherHandler_MessageWillBeLeftInTheQueue()
        {
            // Arrange
            var messageLock = Substitute.For <IMessageLockAsync>();

            messageLock
            .TryAquireLockAsync(Arg.Any <string>(), Arg.Any <TimeSpan>())
            .Returns(new MessageLockResponse {
                DoIHaveExclusiveLock = false
            });

            var logger = NullLoggerFactory.Instance.CreateLogger <ExactlyOnceHandler <OrderAccepted> >();

            var sut = new ExactlyOnceHandler <OrderAccepted>(
                Substitute.For <IHandlerAsync <OrderAccepted> >(),
                messageLock,
                TimeSpan.FromSeconds(1),
                "handlerName",
                logger);

            // Act
            var result = await sut.Handle(new OrderAccepted());

            // Assert
            result.ShouldBeFalse();
        }
        public void WhenMessageIsLockedByAnotherHandler_MessageWillBeLeftInTheQueue()
        {
            var messageLock = Substitute.For<IMessageLock>();
            messageLock.TryAquireLock(Arg.Any<string>(), Arg.Any<TimeSpan>()).Returns(new MessageLockResponse(){DoIHaveExclusiveLock = false});
            var sut = new ExactlyOnceHandler<OrderAccepted>(Substitute.For<IHandler<OrderAccepted>>(), messageLock, 1, "handlerName");

            var result = sut.Handle(new OrderAccepted());

            Assert.IsFalse(result);
        }
Ejemplo n.º 3
0
        public async Task WhenMessageIsLockedByAnotherHandler_MessageWillBeLeftInTheQueue()
        {
            var messageLock = Substitute.For <IMessageLock>();

            messageLock.TryAquireLock(Arg.Any <string>(), Arg.Any <TimeSpan>()).Returns(new MessageLockResponse {
                DoIHaveExclusiveLock = false
            });
            var sut = new ExactlyOnceHandler <OrderAccepted>(Substitute.For <IHandlerAsync <OrderAccepted> >(), messageLock, 1, "handlerName");

            var result = await sut.Handle(new OrderAccepted());

            result.ShouldBeFalse();
        }