Ejemplo n.º 1
0
        public async Task AfterMessageReceive_Test()
        {
            //Arrange
            var receiver = Substitute.For <IMessageReceiver>();
            var message  = CreateMessage();

            message.Label         = Constants.DeferredKey;
            message.CorrelationId = long.MaxValue.ToString();

            var deferredMessage = CreateMessage();

            receiver.ReceiveDeferredMessageAsync(long.MaxValue).Returns(deferredMessage);

            var sut = new DeferredMessagePlugin(receiver);

            //Act
            var result = await sut.AfterMessageReceive(message).ConfigureAwait(false);

            //Assert
            result.Should().NotBeNull();
            result.MessageId.Should().NotBeNullOrWhiteSpace()
            .And
            .Be(deferredMessage.MessageId);

            result.SystemProperties.Should().NotBeNull();
            result.SystemProperties.LockToken.Should().NotBeNullOrWhiteSpace()
            .And
            .Be(deferredMessage.SystemProperties.LockToken);

            await receiver.Received().CompleteAsync(Arg.Is(message.SystemProperties.LockToken)).ConfigureAwait(false);

            await receiver.Received().ReceiveDeferredMessageAsync(Arg.Is(long.MaxValue)).ConfigureAwait(false);
        }
Ejemplo n.º 2
0
        public void Name_Test()
        {
            //Arrange
            var receiver = Substitute.For <IMessageReceiver>();
            var sut      = new DeferredMessagePlugin(receiver);

            //Act
            var result = sut.Name;

            //Assert
            result.Should().NotBeNull();
            result.Should().Be(nameof(DeferredMessagePlugin));
        }