public void InstantToStringParse()
        {
            Instant normalNow  = new Instant(DateTime.Now);
            string  toStringed = normalNow.ToString();

            Message.PrintLine("ToStringed: {0}", toStringed);
            Instant parsed = Instant.FromString(toStringed);

            Expect.AreEqual(0, parsed.DiffInMilliseconds(normalNow));
        }
        public void InstantDiffTest()
        {
            Instant now     = new Instant();
            Instant then    = new Instant(DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(2)));
            Instant fromNow = new Instant(DateTime.UtcNow.AddMinutes(4));

            int thenDiff    = now.DiffInMilliseconds(then);
            int fromNowDiff = now.DiffInMilliseconds(fromNow);

            Expect.IsGreaterThan(thenDiff, 0);
            Expect.IsGreaterThan(fromNowDiff, 0);

            Message.PrintLine("Then Diff: {0}", thenDiff);
            Message.PrintLine("From Now Diff: {0}", fromNowDiff);

            TimeSpan thenSpan    = TimeSpan.FromMilliseconds(thenDiff);
            TimeSpan fromNowSpan = TimeSpan.FromMilliseconds(fromNowDiff);

            Message.PrintLine("Then minutes diff: {0}", thenSpan.Minutes);
            Message.PrintLine("From now minutes diff: {0}", fromNowSpan.Minutes);
        }
Example #3
0
        public void ShouldBeSetDiffInMilliseconds()
        {
            Instant first  = new Instant();
            Instant second = new Instant(first.ToDateTime().AddMilliseconds(30));

            int diff = first.DiffInMilliseconds(second);

            Expect.AreEqual(30, diff);

            diff = second.DiffInMilliseconds(first);
            Expect.AreEqual(30, diff);
        }
Example #4
0
        /// <summary>
        /// Checks that the specified nonce is no more than
        /// 3 minutes in the past or future
        /// </summary>
        /// <param name="nonce"></param>
        /// <param name="offset"></param>
        /// <returns></returns>
        public static EncryptedTokenValidationStatus ValidateNonce(string nonce, int offset)
        {
            EncryptedTokenValidationStatus result = EncryptedTokenValidationStatus.Success;
            Instant requestInstant = Instant.FromString(nonce);
            Instant currentInstant = new Instant();

            int difference = currentInstant.DiffInMilliseconds(requestInstant);

            difference = difference - offset;
            if (TimeSpan.FromMilliseconds(difference).TotalMinutes > 3)
            {
                result = EncryptedTokenValidationStatus.NonceFailed;
            }
            return(result);
        }
Example #5
0
        public void SessionGetShouldUpdateLastActivity()
        {
            IHttpContext context = A.Fake <IHttpContext>();

            context.Request = new TestRequest();
            Database db = new SQLiteDatabase();

            db.TryEnsureSchema <Session>();
            Db.For <Session>(db);
            Session session = Session.Init(context);

            Instant created      = new Instant(session.CreationDate.Value);
            Instant lastActivity = new Instant(session.LastActivity.Value);

            Expect.AreEqual(lastActivity, created, "LastActivity should have been the same as CreationDate");
            Thread.Sleep(30);
            session      = Session.Get(context);
            lastActivity = new Instant(session.LastActivity.Value);
            int diff = lastActivity.DiffInMilliseconds(created);

            Expect.IsGreaterThan(diff, 30);
        }