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); }
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); }
/// <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); }
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); }