public void CreateClient_DisposedConnection_ObjectDisposedException() { //Arrange string exchange = nameof(exchange); var connectionMock = new Mock <Rabbit.IConnection>(MockBehavior.Loose); var connection = new RabbitMQConnection(exchange, connectionMock.Object); string routingKey = nameof(routingKey); //Act connection.Dispose(); var action = new Action(() => connection.CreatePublisher(routingKey)); //Assert Assert.Throws <ObjectDisposedException>(action); }
public void SendMessage_InvalidBody_ArgumentNullException(byte[] body) { //Arrange string exchange = nameof(exchange); string routingKey = nameof(routingKey); var connection = new RabbitMQConnection(exchange, _connectionMock.Object); var publisher = connection.CreatePublisher(routingKey); //Act var action = new Action(() => publisher.SendMessage(body)); //Assert Assert.Throws <ArgumentNullException>(nameof(body), action); _connectionMock.Verify(_createModelExpression); _modelMock.Verify(_exchangeDeclareExpression); }
public void SendMessage_PublisherDisposed_ObjectDisposedException() { //Arrange string exchange = nameof(exchange); string routingKey = nameof(routingKey); var connection = new RabbitMQConnection(exchange, _connectionMock.Object); var publisher = connection.CreatePublisher(routingKey); var body = new byte[1] { 0x01 }; //Act publisher.Dispose(); var action = new Action(() => publisher.SendMessage(body)); //Assert Assert.Throws <ObjectDisposedException>(action); _connectionMock.Verify(_createModelExpression); _modelMock.Verify(_exchangeDeclareExpression); _modelMock.Verify(_disposeExpression, Times.Once); }
public void SendMessage_Success() { //Arrange string exchange = nameof(exchange); string routingKey = nameof(routingKey); _modelMock.Setup(_isClosedExpression) .Returns(false) .Verifiable(); var connection = new RabbitMQConnection(exchange, _connectionMock.Object); var publisher = connection.CreatePublisher(routingKey); var body = new byte[1] { 0x01 }; //Act publisher.SendMessage(body); //Assert _connectionMock.Verify(_createModelExpression); _modelMock.Verify(_exchangeDeclareExpression); _modelMock.Verify(_isClosedExpression); _modelMock.Verify(_basicPublishExpression); }
public void SendMessage_ModelClosed_InvalidOperationException() { //Arrange string exchange = nameof(exchange); string routingKey = nameof(routingKey); _modelMock.Setup(_isClosedExpression) .Returns(true) .Verifiable(); var connection = new RabbitMQConnection(exchange, _connectionMock.Object); var publisher = connection.CreatePublisher(routingKey); var body = new byte[1] { 0x01 }; //Act var action = new Action(() => publisher.SendMessage(body)); //Assert Assert.Throws <InvalidOperationException>(action); _connectionMock.Verify(_createModelExpression); _modelMock.Verify(_exchangeDeclareExpression); _modelMock.Verify((model) => model.IsClosed); }