public void GetChannel_should_set_operations_count_correctly( [Values(false, true)] bool async, [Values(0, 1, 2, 10)] int operationsCount) { IClusterableServer server = SetupServer(false, false); var channels = new List <IChannel>(); for (int i = 0; i < operationsCount; i++) { if (async) { channels.Add(server.GetChannelAsync(CancellationToken.None).GetAwaiter().GetResult()); } else { channels.Add(server.GetChannel(CancellationToken.None)); } } server.OutstandingOperationsCount.Should().Be(operationsCount); foreach (var channel in channels) { channel.Dispose(); server.OutstandingOperationsCount.Should().Be(--operationsCount); } }
public void ChannelFork_should_not_affect_operations_count([Values(false, true)] bool async) { IClusterableServer server = SetupServer(false, false); var channel = async ? server.GetChannelAsync(CancellationToken.None).GetAwaiter().GetResult() : server.GetChannel(CancellationToken.None); server.OutstandingOperationsCount.Should().Be(1); var forkedChannel = channel.Fork(); server.OutstandingOperationsCount.Should().Be(1); forkedChannel.Dispose(); server.OutstandingOperationsCount.Should().Be(1); channel.Dispose(); server.OutstandingOperationsCount.Should().Be(0); }
public void GetChannel_should_not_increase_operations_count_on_exception( [Values(false, true)] bool async, [Values(false, true)] bool connectionOpenException) { IClusterableServer server = SetupServer(connectionOpenException, !connectionOpenException); _ = Record.Exception(() => { if (async) { server.GetChannelAsync(CancellationToken.None).GetAwaiter().GetResult(); } else { server.GetChannel(CancellationToken.None); } }); server.OutstandingOperationsCount.Should().Be(0); }