public void Should_translate_category_correctly(int code, ServerErrorCategory expectedCategory) { var coreError = new Core.Operations.BulkWriteOperationError(0, code, "blah", new BsonDocument()); var subject = BulkWriteError.FromCore(coreError); subject.Category.Should().Be(expectedCategory); }
/// <summary>Handles the parsing of a BulkWriteError.</summary> /// <param name="writeError">The error object.</param> /// <returns>An instance of <see cref="CosmosError"/>.</returns> public static CosmosError ParseBulkWriteError(BulkWriteError writeError) { var result = ParseCosmosErrorMessage(writeError.Message); result.Index = writeError.Index; return(result); }
public void Constructor_should_work() { var processedRequests = new WriteRequest[0]; var upserts = new BulkWriteUpsert[0]; var result = new AcknowledgedBulkWriteResult(1, 2, 3, 4, 5, processedRequests, upserts); var writeErrors = new BulkWriteError[0]; var writeConcernError = new WriteConcernError(1, "message", new BsonDocument("x", 1)); var unprocessedRequests = new WriteRequest[0]; var subject = new BulkWriteException(result, writeErrors, writeConcernError, unprocessedRequests); subject.Result.Should().BeSameAs(result); subject.UnprocessedRequests.Should().BeSameAs(unprocessedRequests); subject.WriteConcernError.Should().BeSameAs(writeConcernError); subject.WriteErrors.Should().BeSameAs(writeErrors); }
private static IList <BulkWriteError> CreateWriteErrors(BsonDocument writeCommandResponse) { var writeErrors = new List <BulkWriteError>(); if (writeCommandResponse.Contains("writeErrors")) { foreach (BsonDocument value in writeCommandResponse["writeErrors"].AsBsonArray) { var index = value["index"].ToInt32(); var code = value["code"].ToInt32(); var message = value["errmsg"].AsString; var details = (BsonDocument)value.GetValue("errInfo", null); var writeError = new BulkWriteError(index, code, message, details); writeErrors.Add(writeError); } } return(writeErrors); }
public void Serialization_should_drop_custom_fields() { var processedRequests = new WriteRequest[0]; var upserts = new BulkWriteUpsert[0]; var result = new AcknowledgedBulkWriteResult(1, 2, 3, 4, 5, processedRequests, upserts); var writeErrors = new BulkWriteError[0]; var writeConcernError = new WriteConcernError(1, "message", new BsonDocument("x", 1)); var unprocessedRequests = new WriteRequest[0]; var subject = new BulkWriteException(result, writeErrors, writeConcernError, unprocessedRequests); var formatter = new BinaryFormatter(); using (var stream = new MemoryStream()) { formatter.Serialize(stream, subject); stream.Position = 0; var rehydrated = (BulkWriteException)formatter.Deserialize(stream); rehydrated.Result.Should().BeNull(); rehydrated.UnprocessedRequests.Should().BeNull(); rehydrated.WriteConcernError.Should().BeNull(); rehydrated.WriteErrors.Should().BeNull(); } }