public void Constructor_with_2_arguments_should_work() { var query = new BsonDocument("query", 1); var exception = new MongoQueryException("message", query); exception.Message.Should().Be("message"); exception.InnerException.Should().BeNull(); exception.Query.Equals(query).Should().BeTrue(); exception.QueryResult.Should().BeNull(); }
public void Constructor_with_4_arguments_should_work() { var query = new BsonDocument("query", 1); var result = new BsonDocument("result", 2); var innerException = new Exception("inner"); var exception = new MongoQueryException("message", query, result, innerException); exception.Message.Should().Be("message"); exception.InnerException.Message.Should().Be("inner"); exception.Query.Equals(query).Should().BeTrue(); exception.QueryResult.Equals(result).Should().BeTrue(); }
public void Serialization_should_work() { var query = new BsonDocument("query", 1); var result = new BsonDocument("result", 2); var innerException = new Exception("inner"); var exception = new MongoQueryException("message", query, result, innerException); var formatter = new BinaryFormatter(); using (var stream = new MemoryStream()) { formatter.Serialize(stream, exception); stream.Position = 0; var rehydrated = (MongoQueryException)formatter.Deserialize(stream); rehydrated.Message.Should().Be("message"); rehydrated.InnerException.Message.Should().Be("inner"); rehydrated.Query.Equals(query).Should().BeTrue(); rehydrated.QueryResult.Equals(result).Should().BeTrue(); } }
public static MongoError GetError(this MongoQueryException exception) { var result = exception.QueryResult; return(result != null?GetMongoError(result) : MongoError.Unknown); }