public void AccessToken_GetByUser() { var userId = 42; var contentId = 142; var feature = "Feature1"; var timeout = TimeSpan.FromMinutes(10); var shortTimeout = TimeSpan.FromSeconds(1); var savedTokens = new[] { AccessTokenVault.CreateToken(userId, timeout), AccessTokenVault.CreateToken(userId, timeout, contentId), AccessTokenVault.CreateToken(userId, timeout, 0, feature), AccessTokenVault.CreateToken(userId, timeout, contentId, feature), AccessTokenVault.CreateToken(userId, shortTimeout), AccessTokenVault.CreateToken(userId, shortTimeout, contentId), AccessTokenVault.CreateToken(userId, shortTimeout, 0, feature), AccessTokenVault.CreateToken(userId, shortTimeout, contentId, feature), }; // ACTION-1 var tokens = AccessTokenVault.GetAllTokens(userId); // ASSERT-1 Assert.AreEqual( string.Join(",", savedTokens.OrderBy(x => x.Id).Select(x => x.Id.ToString())), string.Join(",", tokens.OrderBy(x => x.Id).Select(x => x.Id.ToString()))); // ACTION-2 Thread.Sleep(1100); tokens = AccessTokenVault.GetAllTokens(userId); // ASSERT-2 // The last 4 tokens are expired Assert.AreEqual( string.Join(",", savedTokens.Take(4).OrderBy(x => x.Id).Select(x => x.Id.ToString())), string.Join(",", tokens.OrderBy(x => x.Id).Select(x => x.Id.ToString()))); }