public void WhenQueueNameNotWhitespace_ShouldPublishMessage() { // arrange var queueName = "test-queue"; var message = new EmailMessage { To = "*****@*****.**", From = "*****@*****.**", Subject = "Test", Message = "Hello!" }; var channel = Substitute.For <IModel>(); var connection = Substitute.For <IConnection>(); connection.CreateModel().Returns(channel); var connectionFactory = Substitute.For <IConnectionFactory>(); connectionFactory.CreateConnection().Returns(connection); var rabbitMqContext = new RabbitMqContext(connectionFactory); // act rabbitMqContext.PublishMessage(queueName, message); // assert channel.Received(1).BasicPublish(Arg.Is <string>(s => s == string.Empty), Arg.Is <string>(s => s == queueName), Arg.Is <bool>(b => !b), Arg.Any <IBasicProperties>(), Arg.Any <byte[]>()); }
public IRabbitMqTestContext Build() { var rabbitServer = new RabbitServer(); var connectionFactory = new FakeConnectionFactory(rabbitServer); var rabbitMqContext = new RabbitMqContext(connectionFactory); Configure_Queue_Binding(rabbitServer, _exchangeName, _queueName); return(new RabbitMqTestContext(rabbitMqContext, connectionFactory, _queueName)); }
public void WhenPassedWhitespaceQueueName_ShouldNotCreateQueue(string queueName) { // arrange var channel = Substitute.For <IModel>(); var connection = Substitute.For <IConnection>(); connection.CreateModel().Returns(channel); var connectionFactory = Substitute.For <IConnectionFactory>(); connectionFactory.CreateConnection().Returns(connection); var rabbitMqContext = new RabbitMqContext(connectionFactory); // act rabbitMqContext.DeclareQueue(queueName); // assert channel.DidNotReceive().QueueDeclare(Arg.Any <string>(), Arg.Any <bool>(), Arg.Any <bool>(), Arg.Any <bool>(), Arg.Any <IDictionary <string, object> >()); }
public void WhenPassedValidQueueName_ShouldCreateQueue() { // arrange var queueName = "test-queue"; var channel = Substitute.For <IModel>(); var connection = Substitute.For <IConnection>(); connection.CreateModel().Returns(channel); var connectionFactory = Substitute.For <IConnectionFactory>(); connectionFactory.CreateConnection().Returns(connection); var rabbitMqContext = new RabbitMqContext(connectionFactory); // act rabbitMqContext.DeclareQueue(queueName); // assert channel.Received(1).QueueDeclare(Arg.Is <string>(s => s == queueName), Arg.Is <bool>(b => b), Arg.Is <bool>(b => !b), Arg.Is <bool>(b => !b), Arg.Is <IDictionary <string, object> >(d => d == null)); }