public async Task WhenReceiveShouldValidateMaxNumberOfMessages() { //Arrange const int maxNumberOfMessages = 0; var modelMock = new Mock <IModel>(); var connectionMock = new Mock <IConnection>(); var configurationMock = new Mock <IConfiguration>(); var messageQueueOptions = new MessageQueueOptions(); var msg = new TestMessage() { Id = Guid.NewGuid().ToString() }; modelMock.Setup(x => x.BasicGet(It.IsAny <string>(), It.IsAny <bool>())) .Returns(new BasicGetResult(0, false, "", "", 1, null, Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(msg)))) .Verifiable(); configurationMock.SetupGet(x => x[It.IsAny <string>()]).Returns(string.Empty); var queue = new MessageQueueRabbitMq(connectionMock.Object, messageQueueOptions, new MessageQueueInfo(messageQueueOptions, configurationMock.Object)); //Act async Task act() => await queue.Receive <TestMessage>(maxNumberOfMessages) .GetAsyncEnumerator() .MoveNextAsync(); //Assert await Assert.ThrowsAsync <ArgumentException>(act); }
public async Task ShouldReceive() { //Arrange var modelMock = new Mock <IModel>(); var connectionMock = new Mock <IConnection>(); var configurationMock = new Mock <IConfiguration>(); var messageQueueOptions = new MessageQueueOptions(); var msg = new TestMessage() { Id = Guid.NewGuid().ToString() }; modelMock.Setup(x => x.BasicGet(It.IsAny <string>(), It.IsAny <bool>())) .Returns(new BasicGetResult(0, false, "", "", 1, null, Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(msg)))) .Verifiable(); configurationMock.SetupGet(x => x[It.IsAny <string>()]).Returns(string.Empty); connectionMock.Setup(x => x.CreateModel()).Returns(modelMock.Object); var queue = new MessageQueueRabbitMq(connectionMock.Object, messageQueueOptions, new MessageQueueInfo(messageQueueOptions, configurationMock.Object)); //Act var qtd = 0; await foreach (var message in queue.Receive <TestMessage>(1)) { qtd++; } //Assert modelMock.VerifyAll(); }