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); }
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(); }