public void Constructor_should_throw_if_readPreference_is_null() { Action act = () => new ReadPreferenceBinding(_mockCluster.Object, null, NoCoreSession.NewHandle()); act.ShouldThrow <ArgumentNullException>(); }
public void GetReadChannelSource_should_throw_if_disposed( [Values(false, true)] bool async) { var subject = new ReadPreferenceBinding(_mockCluster.Object, ReadPreference.Primary, NoCoreSession.NewHandle()); subject.Dispose(); Action act; if (async) { act = () => subject.GetReadChannelSourceAsync(CancellationToken.None).GetAwaiter().GetResult(); } else { act = () => subject.GetReadChannelSource(CancellationToken.None); } act.ShouldThrow <ObjectDisposedException>(); }
public void Constructor_should_throw_if_cluster_is_null() { Action act = () => new ReadPreferenceBinding(null, ReadPreference.Primary, NoCoreSession.NewHandle()); act.ShouldThrow <ArgumentNullException>(); }
public void Dispose_should_not_call_dispose_on_the_cluster() { var subject = new ReadPreferenceBinding(_mockCluster.Object, ReadPreference.Primary, NoCoreSession.NewHandle()); subject.Dispose(); _mockCluster.Verify(c => c.Dispose(), Times.Never); }
public void GetReadChannelSource_should_use_a_read_preference_server_selector_to_select_the_server_from_the_cluster( [Values(false, true)] bool async) { var subject = new ReadPreferenceBinding(_mockCluster.Object, ReadPreference.Primary, NoCoreSession.NewHandle()); var selectedServer = new Mock <IServer>().Object; var clusterId = new ClusterId(); var endPoint = new DnsEndPoint("localhost", 27017); #pragma warning disable CS0618 // Type or member is obsolete var initialClusterDescription = new ClusterDescription( clusterId, ClusterConnectionMode.Automatic, ClusterType.Unknown, new[] { new ServerDescription(new ServerId(clusterId, endPoint), endPoint) }); #pragma warning restore CS0618 // Type or member is obsolete var finalClusterDescription = initialClusterDescription.WithType(ClusterType.Standalone); _mockCluster.SetupSequence(c => c.Description).Returns(initialClusterDescription).Returns(finalClusterDescription); if (async) { _mockCluster.Setup(c => c.SelectServerAsync(It.IsAny <ReadPreferenceServerSelector>(), CancellationToken.None)).Returns(Task.FromResult(selectedServer)); subject.GetReadChannelSourceAsync(CancellationToken.None).GetAwaiter().GetResult(); _mockCluster.Verify(c => c.SelectServerAsync(It.IsAny <ReadPreferenceServerSelector>(), CancellationToken.None), Times.Once); } else { _mockCluster.Setup(c => c.SelectServer(It.IsAny <ReadPreferenceServerSelector>(), CancellationToken.None)).Returns(selectedServer); subject.GetReadChannelSource(CancellationToken.None); _mockCluster.Verify(c => c.SelectServer(It.IsAny <ReadPreferenceServerSelector>(), CancellationToken.None), Times.Once); } }
public void ReadPreference_should_be_primary() { var subject = new WritableServerBinding(_mockCluster.Object, NoCoreSession.NewHandle()); subject.ReadPreference.Should().Be(ReadPreference.Primary); }
public void Constructor_should_throw_if_cluster_is_null() { Action act = () => new WritableServerBinding(null, NoCoreSession.NewHandle()); act.ShouldThrow <ArgumentNullException>(); }