public void constructor_should_initialize_instance() { var subject = new ReIndexOperation(_collectionNamespace, _messageEncoderSettings); subject.CollectionNamespace.Should().BeSameAs(_collectionNamespace); subject.MessageEncoderSettings.Should().BeSameAs(_messageEncoderSettings); subject.WriteConcern.Should().BeNull(); }
public void Execute_should_send_session_id_when_supported( [Values(false, true)] bool async) { RequireServer.Check().ClusterTypes(ClusterType.Standalone, ClusterType.ReplicaSet); EnsureCollectionExists(); var subject = new ReIndexOperation(_collectionNamespace, _messageEncoderSettings); VerifySessionIdWasSentWhenSupported(subject, "reIndex", async); }
public void Execute_should_return_expected_result( [Values(false, true)] bool async) { RequireServer.Check().ClusterTypes(ClusterType.Standalone, ClusterType.ReplicaSet); EnsureCollectionExists(); var subject = new ReIndexOperation(_collectionNamespace, _messageEncoderSettings); var result = ExecuteOperation(subject, async); result["ok"].ToBoolean().Should().BeTrue(); }
public void WriteConcern_get_and_set_should_work( [Values(null, 1, 2)] int?w) { var subject = new ReIndexOperation(_collectionNamespace, _messageEncoderSettings); var value = w.HasValue ? new WriteConcern(w.Value) : null; subject.WriteConcern = value; var result = subject.WriteConcern; result.Should().BeSameAs(value); }
public void CreateCommand_should_return_expected_result() { var subject = new ReIndexOperation(_collectionNamespace, _messageEncoderSettings); var result = subject.CreateCommand(null); var expectedResult = new BsonDocument { { "reIndex", _collectionNamespace.CollectionName } }; result.Should().Be(expectedResult); }
public void Execute_should_throw_when_a_write_concern_error_occurs( [Values(false, true)] bool async) { RequireServer.Check().Supports(Feature.CommandsThatWriteAcceptWriteConcern).ClusterType(ClusterType.ReplicaSet); EnsureCollectionExists(); var subject = new ReIndexOperation(_collectionNamespace, _messageEncoderSettings) { WriteConcern = new WriteConcern(9) }; async = false; var exception = Record.Exception(() => ExecuteOperation(subject, async)); exception.Should().BeOfType <MongoWriteConcernException>(); }
public void Execute_should_throw_when_binding_is_null( [Values(false, true)] bool async) { var subject = new ReIndexOperation(_collectionNamespace, _messageEncoderSettings); var exception = Record.Exception(() => { if (async) { subject.ExecuteAsync(null, CancellationToken.None).GetAwaiter().GetResult();; } else { subject.Execute(null, CancellationToken.None); } }); }
public void Execute_should_throw_when_a_write_concern_error_occurs( [Values(false, true)] bool async) { RequireServer.Check().Supports(Feature.CommandsThatWriteAcceptWriteConcern).ClusterType(ClusterType.ReplicaSet); var actualVersion = CoreTestConfiguration.ServerVersion; if (actualVersion.Major == 3 && actualVersion.Minor == 5 && actualVersion.Patch == 2) { // skip test on any version of 3.5.2 return; // TODO: remove later } EnsureCollectionExists(); var subject = new ReIndexOperation(_collectionNamespace, _messageEncoderSettings) { WriteConcern = new WriteConcern(9) }; var exception = Record.Exception(() => ExecuteOperation(subject, async)); exception.Should().BeOfType <MongoWriteConcernException>(); }
public void CreateCommand_should_return_expected_result_when_WriteConcern_is_set( [Values(null, 1, 2)] int?w, [Values(false, true)] bool isWriteConcernSupported) { var writeConcern = w.HasValue ? new WriteConcern(w.Value) : null; var subject = new ReIndexOperation(_collectionNamespace, _messageEncoderSettings) { WriteConcern = writeConcern }; var serverVersion = Feature.CommandsThatWriteAcceptWriteConcern.SupportedOrNotSupportedVersion(isWriteConcernSupported); var result = subject.CreateCommand(serverVersion); var expectedResult = new BsonDocument { { "reIndex", _collectionNamespace.CollectionName }, { "writeConcern", () => writeConcern.ToBsonDocument(), writeConcern != null && isWriteConcernSupported } }; result.Should().Be(expectedResult); }