Exemplo n.º 1
0
            public void Dispose_ConnectionDisposeThrowsIOException_LogCritical(
                [Frozen] Mock <ILogger <DefaultRabbitMQPersistentConnection> > mockLogger,
                [Frozen] Mock <IConnectionFactory> mockConnectionFactory,
                [Frozen] Mock <IConnection> mockConnection,
                DefaultRabbitMQPersistentConnection sut
                )
            {
                //Arrange
                mockConnection.Setup(_ => _.IsOpen)
                .Returns(true);
                mockConnection.Setup(_ => _.Dispose())
                .Throws <IOException>();

                mockConnectionFactory.Setup(_ => _.CreateConnection())
                .Returns(mockConnection.Object);

                //Act
                sut.TryConnect();
                sut.Dispose();

                //Assert
                mockLogger.Verify(
                    _ => _.Log(
                        It.Is <LogLevel>(logLevel => logLevel == LogLevel.Critical),
                        It.Is <EventId>(eventId => eventId.Id == 0),
                        It.IsAny <It.IsAnyType>(),
                        It.IsAny <Exception>(),
                        (Func <It.IsAnyType, Exception, string>)It.IsAny <object>()
                        ),
                    Times.Once
                    );
            }
Exemplo n.º 2
0
            public void IsConnected_ConnectionIsDisposed_ReturnsFalse(
                [Frozen] Mock <IConnectionFactory> mockConnectionFactory,
                [Frozen] Mock <IConnection> mockConnection,
                DefaultRabbitMQPersistentConnection sut
                )
            {
                //Arrange
                mockConnection.Setup(_ => _.IsOpen)
                .Returns(true);

                mockConnectionFactory.Setup(_ => _.CreateConnection())
                .Returns(mockConnection.Object);

                //Act
                sut.TryConnect();
                sut.Dispose();

                //Assert
                mockConnection.Verify(_ => _.Dispose());
            }
Exemplo n.º 3
0
            public void Dispose_ConnectionIsNull_NoLog(
                [Frozen] Mock <ILogger <DefaultRabbitMQPersistentConnection> > mockLogger,
                DefaultRabbitMQPersistentConnection sut
                )
            {
                //Arrange

                //Act
                sut.Dispose();

                //Assert
                mockLogger.Verify(
                    _ => _.Log(
                        It.Is <LogLevel>(logLevel => logLevel == LogLevel.Error),
                        It.Is <EventId>(eventId => eventId.Id == 0),
                        It.IsAny <It.IsAnyType>(),
                        It.IsAny <Exception>(),
                        It.IsAny <Func <It.IsAnyType, Exception, string> >()
                        ),
                    Times.Never
                    );
            }
Exemplo n.º 4
0
 public void Dispose()
 {
     _callbacks.Clear();
     _consumerChannel?.Dispose();
     _persistentConnection?.Dispose();
 }