public void TestResetItemTimeout()
        {
            var config = new NameValueCollection(_sessionConfig);
            var provider = new MongoSessionStateStore();
            provider.Initialize(DefaultSessionName, config);

            var context = CreateHttpContext();
            var sessionId = GenerateSessionId();
            provider.CreateUninitializedItem(context, sessionId, 0);

            // Give the session a chance to expire.
            Thread.Sleep(100);

            // Now reset the timeout.
            provider.ResetItemTimeout(context, sessionId);

            bool locked;
            TimeSpan lockAge;
            object lockId;
            SessionStateActions actions;
            var storeData = provider.GetItem(context, sessionId, out locked, out lockAge, out lockId, out actions);

            // Give the lock a chance to accumulate age.
            Thread.Sleep(100);

            Assert.IsNotNull(storeData);
            Assert.IsFalse(locked);
            Assert.Greater(lockAge, TimeSpan.Zero);
            Assert.AreNotEqual(ObjectId.Empty, lockId);
        }