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 ); }
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()); }
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 ); }
public void Dispose() { _callbacks.Clear(); _consumerChannel?.Dispose(); _persistentConnection?.Dispose(); }