public void CollectionNamespace_get_should_return_expected_result() { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings); var result = subject.CollectionNamespace; result.Should().BeSameAs(_collectionNamespace); }
public void ExecyteAsync_should_throw_when_binding_is_null() { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings); Func <Task> action = () => subject.ExecuteAsync(null); action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("binding"); }
// constructors public Builder(RenameCollectionOperation other) { _collectionName = other.CollectionName; _databaseName = other.DatabaseName; _dropTarget = other.DropTarget; _newCollectionName = other.NewCollectionName; _newDatabaseName = other.NewDatabaseName; }
public void constructor_should_initialize_subject() { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings); subject.CollectionNamespace.Should().BeSameAs(_collectionNamespace); subject.NewCollectionNamespace.Should().BeSameAs(_newCollectionNamespace); subject.MessageEncoderSettings.Should().BeSameAs(_messageEncoderSettings); subject.DropTarget.Should().NotHaveValue(); }
public void Execute_should_send_session_id_when_supported( [Values(false, true)] bool async) { RequireServer.Check(); EnsureCollectionExists(_collectionNamespace, async); EnsureCollectionDoesNotExist(_newCollectionNamespace, async); var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings); VerifySessionIdWasSentWhenSupported(subject, "renameCollection", async); }
public void Execute_should_throw_when_binding_is_null( [Values(false, true)] bool async) { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings); Action action = () => ExecuteOperation(subject, null, async); action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("binding"); }
public void DropTarget_should_work( [Values(false, true)] bool dropTarget) { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings); subject.DropTarget = dropTarget; var result = subject.DropTarget; result.Should().Be(dropTarget); }
public void Execute_should_return_expected_result( [Values(false, true)] bool async) { EnsureCollectionExists(_collectionNamespace, async); EnsureCollectionDoesNotExist(_newCollectionNamespace, async); var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _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 RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _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 RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings); var expectedResult = new BsonDocument { { "renameCollection", _collectionNamespace.FullName }, { "to", _newCollectionNamespace.FullName } }; var result = subject.CreateCommand(null); result.Should().Be(expectedResult); }
public async Task ExecuteAsync_should_return_expected_result() { using (var binding = SuiteConfiguration.GetReadWriteBinding()) { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings); EnsureCollectionExists(binding, _collectionNamespace); EnsureCollectionDoesNotExist(binding, _newCollectionNamespace); var result = await subject.ExecuteAsync(binding); result["ok"].ToBoolean().Should().BeTrue(); } }
public void Execute_should_return_expected_result_when_dropTarget_is_true_and_newCollectionNamespace_exists( [Values(false, true)] bool async) { EnsureCollectionExists(_collectionNamespace, async); EnsureCollectionExists(_newCollectionNamespace, async); var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings) { DropTarget = true }; var result = ExecuteOperation(subject, async); result["ok"].ToBoolean().Should().BeTrue(); }
public async Task ExecuteAsync_should_return_expected_result_when_dropTarget_is_true_and_newCollectionNamespace_exists() { using (var binding = SuiteConfiguration.GetReadWriteBinding()) { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings) { DropTarget = true }; EnsureCollectionExists(binding, _collectionNamespace); EnsureCollectionExists(binding, _newCollectionNamespace); var result = await subject.ExecuteAsync(binding, CancellationToken.None); result["ok"].ToBoolean().Should().BeTrue(); } }
public void ExecuteAsync_should_throw_when_dropTarget_is_false_and_newCollectionNamespace_exists() { using (var binding = SuiteConfiguration.GetReadWriteBinding()) { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings) { DropTarget = false }; EnsureCollectionExists(binding, _collectionNamespace); EnsureCollectionExists(binding, _newCollectionNamespace); Func <Task> action = () => subject.ExecuteAsync(binding); action.ShouldThrow <MongoCommandException>(); } }
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(_collectionNamespace, async); EnsureCollectionDoesNotExist(_newCollectionNamespace, async); var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings) { WriteConcern = new WriteConcern(9) }; var exception = Record.Exception(() => ExecuteOperation(subject, async)); exception.Should().BeOfType <MongoWriteConcernException>(); }
public void Execute_should_throw_when_dropTarget_is_false_and_newCollectionNamespace_exists( [Values(false, true)] bool async) { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings) { DropTarget = false }; EnsureCollectionExists(_collectionNamespace, async); EnsureCollectionExists(_newCollectionNamespace, async); Action action = () => ExecuteOperation(subject, async); action.ShouldThrow <MongoCommandException>(); }
public void CreateCommand_should_return_expected_result_when_dropTarget_is_provided( [Values(false, true)] bool dropTarget) { var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings) { DropTarget = dropTarget }; var expectedResult = new BsonDocument { { "renameCollection", _collectionNamespace.FullName }, { "to", _newCollectionNamespace.FullName }, { "dropTarget", dropTarget } }; var result = subject.CreateCommand(null); result.Should().Be(expectedResult); }
public void CreateCommand_should_return_expected_result_when_WriteConcern_is_set( [Values(null, 1, 2)] int?w) { var writeConcern = w.HasValue ? new WriteConcern(w.Value) : null; var subject = new RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings) { WriteConcern = writeConcern }; var session = OperationTestHelper.CreateSession(); var connectionDescription = OperationTestHelper.CreateConnectionDescription(); var result = subject.CreateCommand(session, connectionDescription); var expectedResult = new BsonDocument { { "renameCollection", _collectionNamespace.FullName }, { "to", _newCollectionNamespace.FullName }, { "writeConcern", () => writeConcern.ToBsonDocument(), writeConcern != null } }; result.Should().Be(expectedResult); }
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 RenameCollectionOperation(_collectionNamespace, _newCollectionNamespace, _messageEncoderSettings) { WriteConcern = writeConcern }; var serverVersion = Feature.CommandsThatWriteAcceptWriteConcern.SupportedOrNotSupportedVersion(isWriteConcernSupported); var result = subject.CreateCommand(serverVersion); var expectedResult = new BsonDocument { { "renameCollection", _collectionNamespace.FullName }, { "to", _newCollectionNamespace.FullName }, { "writeConcern", () => writeConcern.ToBsonDocument(), writeConcern != null && isWriteConcernSupported } }; result.Should().Be(expectedResult); }