public void TestMinimal() { var info = new SystemProfileInfo { Timestamp = new DateTime(2011, 10, 7, 0, 0, 0, DateTimeKind.Utc), Duration = TimeSpan.FromMilliseconds(123) }; var expected = "{ 'ts' : ISODate('2011-10-07T00:00:00Z'), 'millis' : 123.0 }".Replace("'", "\""); Assert.AreEqual(expected, info.ToJson()); }
private string GetCommand(SystemProfileInfo info) { if (info.Command != null) { return(info.Command.ToString()); } if (info.Query != null) { return(info.Query.ToString()); } if (info.UpdateObject != null) { return(info.UpdateObject.ToString()); } return(string.Empty); }
public void TestAll() { var info = new SystemProfileInfo { Abbreviated = "abbreviated", Client = "client", Command = new BsonDocument("command", 1), CursorId = 1, Duration = TimeSpan.FromMilliseconds(2), Error = "err", Exception = "exception", ExceptionCode = 3, Exhaust = true, FastMod = true, FastModInsert = true, IdHack = true, Info = "info", KeyUpdates = 4, LockStatistics = new SystemProfileLockStatistics { TimeAcquiring = new SystemProfileReadWriteLockStatistics { Read = TimeSpan.FromMilliseconds(10), Write = TimeSpan.FromMilliseconds(20) }, TimeLocked = new SystemProfileReadWriteLockStatistics { Read = TimeSpan.FromMilliseconds(5), Write = TimeSpan.FromMilliseconds(30) } }, Moved = true, Namespace = "ns", NumberReturned = 5, NumberScanned = 6, NumberToReturn = 7, NumberToSkip = 8, NumberOfYields = 10, Op = "op", Query = new BsonDocument("query", 1), ResponseLength = 9, ScanAndOrder = true, Timestamp = new DateTime(2011, 10, 7, 1, 2, 3, DateTimeKind.Utc), UpdateObject = new BsonDocument("updateObject", 1), Upsert = true, User = "******" }; var json = info.ToJson(new JsonWriterSettings { Indent = true }); var rehydrated = BsonSerializer.Deserialize <SystemProfileInfo>(json); Assert.AreEqual(info.Abbreviated, rehydrated.Abbreviated); Assert.AreEqual(info.Client, rehydrated.Client); Assert.AreEqual(info.Command, rehydrated.Command); Assert.AreEqual(info.CursorId, rehydrated.CursorId); Assert.AreEqual(info.Duration, rehydrated.Duration); Assert.AreEqual(info.Error, rehydrated.Error); Assert.AreEqual(info.Exception, rehydrated.Exception); Assert.AreEqual(info.ExceptionCode, rehydrated.ExceptionCode); Assert.AreEqual(info.Exhaust, rehydrated.Exhaust); Assert.AreEqual(info.FastMod, rehydrated.FastMod); Assert.AreEqual(info.FastModInsert, rehydrated.FastModInsert); Assert.AreEqual(info.IdHack, rehydrated.IdHack); Assert.AreEqual(info.Info, rehydrated.Info); Assert.AreEqual(info.KeyUpdates, rehydrated.KeyUpdates); Assert.AreEqual(info.LockStatistics.RawDocument, rehydrated.LockStatistics.RawDocument); Assert.AreEqual(info.Moved, rehydrated.Moved); Assert.AreEqual(info.Namespace, rehydrated.Namespace); Assert.AreEqual(info.NumberReturned, rehydrated.NumberReturned); Assert.AreEqual(info.NumberScanned, rehydrated.NumberScanned); Assert.AreEqual(info.NumberToReturn, rehydrated.NumberToReturn); Assert.AreEqual(info.NumberToSkip, rehydrated.NumberToSkip); Assert.AreEqual(info.NumberOfYields, rehydrated.NumberOfYields); Assert.AreEqual(info.Op, rehydrated.Op); Assert.AreEqual(info.Query, rehydrated.Query); Assert.AreEqual(info.ResponseLength, rehydrated.ResponseLength); Assert.AreEqual(info.ScanAndOrder, rehydrated.ScanAndOrder); Assert.AreEqual(info.Timestamp, rehydrated.Timestamp); Assert.AreEqual(info.UpdateObject, rehydrated.UpdateObject); Assert.AreEqual(info.Upsert, rehydrated.Upsert); Assert.AreEqual(info.User, rehydrated.User); }