public void TestWithListenerRegisteredAfterOpen() { var mockConnectionFactory = new Mock <R.IConnectionFactory>(); var mockConnection = new Mock <R.IConnection>(); var listener = new IncrementConnectionListener(); mockConnectionFactory.Setup((f) => f.CreateConnection(It.IsAny <string>())).Returns(mockConnection.Object); var connectionFactory = CreateConnectionFactory(mockConnectionFactory.Object, null); var con = connectionFactory.CreateConnection(); Assert.Equal(0, listener.Called); connectionFactory.SetConnectionListeners(new List <IConnectionListener>() { listener }); Assert.Equal(1, listener.Called); con.Close(); Assert.Equal(1, listener.Called); mockConnection.Verify((c) => c.Close(It.IsAny <int>()), Times.Never); _ = connectionFactory.CreateConnection(); Assert.Equal(1, listener.Called); connectionFactory.Destroy(); Assert.Equal(0, listener.Called); mockConnection.Verify((c) => c.Close(It.IsAny <int>()), Times.AtLeastOnce); mockConnectionFactory.Verify((f) => f.CreateConnection(It.IsAny <string>()), Times.Once); }
public void TestWithListener() { var mockConnectionFactory = new Mock <RC.IConnectionFactory>(); var mockConnection = new Mock <RC.IConnection>(); mockConnectionFactory.Setup((f) => f.CreateConnection(It.IsAny <string>())).Returns(mockConnection.Object); // var mockLogger = new Mock<ILoggerFactory>(); var connectionFactory = CreateConnectionFactory(mockConnectionFactory.Object, null); var listener = new IncrementConnectionListener(); connectionFactory.SetConnectionListeners(new List <IConnectionListener>() { listener }); var con = connectionFactory.CreateConnection(); Assert.Equal(1, listener.Called); // mockLogger.Verify((l) => l.Log(LogLevel.Information, 0, It.IsAny<It.IsAnyType>(), null, (Func<It.IsAnyType, Exception, string>)It.IsAny<object>()), Times.AtLeast(2)); con.Close(); Assert.Equal(1, listener.Called); mockConnection.Verify((c) => c.Close(It.IsAny <int>()), Times.Never); connectionFactory.CreateConnection(); Assert.Equal(1, listener.Called); connectionFactory.Destroy(); Assert.Equal(0, listener.Called); mockConnection.Verify((c) => c.Close(It.IsAny <int>()), Times.AtLeastOnce); mockConnectionFactory.Verify((f) => f.CreateConnection(It.IsAny <string>()), Times.Once); connectionFactory.SetAddresses("foo:5672,bar:5672"); con = connectionFactory.CreateConnection(); Assert.Equal(1, listener.Called); // mockLogger.Verify((l) => l.Log(LogLevel.Information, 0, It.IsAny<It.IsAnyType>(), null, (Func<It.IsAnyType, Exception, string>)It.IsAny<object>()), Times.AtLeast(4)); con.Close(); connectionFactory.Destroy(); Assert.Equal(0, listener.Called); }