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_return_expected_result( [Values(false, true)] bool async) { RequireServer.Check(); 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 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 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); }
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>(); }