public async Task CreateConnectionAsync_NoBucket_DoesNotSelectBucket() { // Arrange var ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9999); var connectionInitializer = new Mock <IConnectionInitializer>(); connectionInitializer .SetupGet(m => m.EndPoint) .Returns(ipEndPoint); var connection = new Mock <IConnection>(); var connectionFactory = new Mock <IConnectionFactory>(); connectionFactory .Setup(m => m.CreateAndConnectAsync(ipEndPoint, It.IsAny <CancellationToken>())) .ReturnsAsync(connection.Object); var pool = new ConnectionPoolMock(connectionInitializer.Object, connectionFactory.Object); // Act var result = await pool.CreateConnectionAsyncPublic(); // Assert connectionInitializer.Verify( m => m.SelectBucketAsync(It.IsAny <IConnection>(), It.IsAny <string>(), It.IsAny <CancellationToken>()), Times.Never); }
public async Task CreateConnectionAsync_ReturnsFromFactory_WithInitializerEndpoint() { // Arrange var ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9999); var connectionInitializer = new Mock <IConnectionInitializer>(); connectionInitializer .SetupGet(m => m.EndPoint) .Returns(ipEndPoint); var connection = new Mock <IConnection>(); var connectionFactory = new Mock <IConnectionFactory>(); connectionFactory .Setup(m => m.CreateAndConnectAsync(ipEndPoint, It.IsAny <CancellationToken>())) .ReturnsAsync(connection.Object); var pool = new ConnectionPoolMock(connectionInitializer.Object, connectionFactory.Object); // Act var result = await pool.CreateConnectionAsyncPublic(); // Assert Assert.Equal(connection.Object, result); }
public async Task SelectBucketAsync_FreezesDuringOperation() { // Arrange ConnectionPoolMock pool = null; var ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9999); var connectionInitializer = new Mock <IConnectionInitializer>(); connectionInitializer .SetupGet(m => m.EndPoint) .Returns(ipEndPoint); connectionInitializer .Setup(m => m.SelectBucketAsync(It.IsAny <IConnection>(), "default", It.IsAny <CancellationToken>())) .Returns((IConnection connection, string bucket, CancellationToken _) => { // ReSharper disable once AccessToModifiedClosure Assert.True(pool?.IsFrozen ?? false); return(Task.CompletedTask); }); var connection1 = new Mock <IConnection>(); var connection2 = new Mock <IConnection>(); var connectionFactory = new Mock <IConnectionFactory>(); pool = new ConnectionPoolMock(connectionInitializer.Object, connectionFactory.Object) { Connections = { connection1.Object, connection2.Object } }; // Act await pool.SelectBucketAsync("default"); // Assert Assert.All(new[] { connection1.Object, connection2.Object }, connection => connectionInitializer.Verify( m => m.SelectBucketAsync(connection, "default", It.IsAny <CancellationToken>()), Times.Once())); Assert.False(pool.IsFrozen); }
public async Task SelectBucketAsync_CallsForEachConnection() { // Arrange var ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9999); var connectionInitializer = new Mock <IConnectionInitializer>(); connectionInitializer .SetupGet(m => m.EndPoint) .Returns(ipEndPoint); var connection1 = new Mock <IConnection>(); var connection2 = new Mock <IConnection>(); var connectionFactory = new Mock <IConnectionFactory>(); var pool = new ConnectionPoolMock(connectionInitializer.Object, connectionFactory.Object) { Connections = { connection1.Object, connection2.Object } }; // Act await pool.SelectBucketAsync("default"); // Assert Assert.All(new[] { connection1.Object, connection2.Object }, connection => connectionInitializer.Verify( m => m.SelectBucketAsync(connection, "default", It.IsAny <CancellationToken>()), Times.Once())); }
public Frozen(ConnectionPoolMock mock) { _mock = mock; }