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());
        }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
        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);
        }