// methods private BsonDocument CreateGetLastErrorCommand() { var command = _writeConcern.ToBsonDocument(); command.InsertAt(0, new BsonElement("getLastError", 1)); return(command); }
public static QueryMessage BuildGetLastError( WriteConcern writeConcern, int requestId = 0, DatabaseNamespace databaseNamespace = null) { var command = writeConcern.ToBsonDocument(); command.InsertAt(0, new BsonElement("getLastError", 1)); return(BuildCommand(command, requestId, databaseNamespace)); }
private void ValidateWriteConcern(BsonDocument definition) { Exception parseException = null; WriteConcern writeConcern = null; try { writeConcern = WriteConcern.FromBsonDocument(MassageWriteConcernDocument((BsonDocument)definition["writeConcern"])); } catch (Exception ex) { parseException = ex; } if (parseException == null) { if (!(bool)definition["valid"]) { throw new AssertionException($"Should be invalid: {definition["writeConcern"]}."); } var expectedDocument = (BsonDocument)definition["writeConcernDocument"]; var document = writeConcern.ToBsonDocument(); document.Should().Be(expectedDocument); writeConcern.IsServerDefault.Should().Be((bool)definition["isServerDefault"]); writeConcern.IsAcknowledged.Should().Be((bool)definition["isAcknowledged"]); } else { if ((bool)definition["valid"]) { throw new AssertionException($"Should be valid: {definition["writeConcern"]}."); } } }
public void ToBsonDocument_should_return_expected_result(object w, int? wTimeoutSeconds, bool? fsync, bool? journal, string expectedResult) { var wValue = ToWValue(w); var wTimeout = ToWTimeout(wTimeoutSeconds); var subject = new WriteConcern(wValue, wTimeout, fsync, journal); var result = subject.ToBsonDocument(); result.Should().Be(expectedResult); }
public void CreateCommand_should_return_expected_result_when_WriteConcern_is_set( [Values(1, 2)] int w, [Values(false, true)] bool isWriteConcernSupported) { var requests = new[] { new CreateIndexRequest(new BsonDocument("x", 1)) }; var writeConcern = new WriteConcern(w); var subject = new CreateIndexesUsingCommandOperation(_collectionNamespace, requests, _messageEncoderSettings) { WriteConcern = writeConcern }; var serverVersion = Feature.CommandsThatWriteAcceptWriteConcern.SupportedOrNotSupportedVersion(isWriteConcernSupported); var result = subject.CreateCommand(serverVersion); var expectedResult = new BsonDocument { { "createIndexes", _collectionNamespace.CollectionName }, { "indexes", new BsonArray { requests[0].CreateIndexDocument(null) } }, { "writeConcern", () => writeConcern.ToBsonDocument(), isWriteConcernSupported } }; result.Should().Be(expectedResult); }