public void DeleteRefreshToken_Test() { var accessor = new InMemoryPartitionedUserTokenCacheAccessor(new NullLogger(), null); var rt1 = TokenCacheHelper.CreateRefreshTokenItem("userAssertion", "homeAccountId"); var rt2 = TokenCacheHelper.CreateRefreshTokenItem("userAssertion", "homeAccountId2"); var rt3 = TokenCacheHelper.CreateRefreshTokenItem("userAssertion2", "homeAccountId"); // Assert: Delete on empty collection doesn't throw accessor.DeleteRefreshToken(rt1); accessor.SaveRefreshToken(rt1); accessor.SaveRefreshToken(rt2); accessor.SaveRefreshToken(rt3); Assert.AreEqual(3, accessor.GetAllRefreshTokens().Count); // Assert: Delete on existing item accessor.DeleteRefreshToken(rt1); Assert.AreEqual(2, accessor.GetAllRefreshTokens().Count); }
public void GetAllRefreshTokens_Test() { var accessor = new InMemoryPartitionedUserTokenCacheAccessor(new NullLogger(), null); var rt1 = TokenCacheHelper.CreateRefreshTokenItem("userAssertion", "homeAccountId"); var rt2 = TokenCacheHelper.CreateRefreshTokenItem("userAssertion", "homeAccountId2"); var rt3 = TokenCacheHelper.CreateRefreshTokenItem("userAssertion2", "homeAccountId"); string partitionKey1 = CacheKeyFactory.GetKeyFromCachedItem(rt1); string partitionKey2 = CacheKeyFactory.GetKeyFromCachedItem(rt3); // Assert: Returns empty collection Assert.AreEqual(0, accessor.GetAllRefreshTokens().Count); Assert.AreEqual(0, accessor.GetAllRefreshTokens(partitionKey1).Count); accessor.SaveRefreshToken(rt1); accessor.SaveRefreshToken(rt2); accessor.SaveRefreshToken(rt3); // Assert: Get all tokens and get all tokens by partition key Assert.AreEqual(3, accessor.GetAllRefreshTokens().Count); Assert.AreEqual(2, accessor.GetAllRefreshTokens(partitionKey1).Count); Assert.AreEqual(1, accessor.GetAllRefreshTokens(partitionKey2).Count); }
public void SaveRefreshToken_Test() { var accessor = new InMemoryPartitionedUserTokenCacheAccessor(new NullLogger(), null); var rt1 = TokenCacheHelper.CreateRefreshTokenItem("userAssertion", "homeAccountId"); // Assert: Saves with new item accessor.SaveRefreshToken(rt1); Assert.AreEqual(1, accessor.GetAllRefreshTokens().Count); Assert.AreEqual(1, accessor.RefreshTokenCacheDictionary.Count); string partitionKey1 = CacheKeyFactory.GetKeyFromCachedItem(rt1); Assert.IsNotNull(accessor.RefreshTokenCacheDictionary[partitionKey1][rt1.GetKey().ToString()]); var rt2 = TokenCacheHelper.CreateRefreshTokenItem("userAssertion", "homeAccountId2"); // Assert: Save under the existing partition accessor.SaveRefreshToken(rt2); Assert.AreEqual(2, accessor.GetAllRefreshTokens().Count); Assert.AreEqual(1, accessor.RefreshTokenCacheDictionary.Count); Assert.IsNotNull(accessor.RefreshTokenCacheDictionary[partitionKey1][rt2.GetKey().ToString()]); var rt3 = TokenCacheHelper.CreateRefreshTokenItem("userAssertion2", "homeAccountId"); // Assert: Save under a new partition accessor.SaveRefreshToken(rt3); // Assert: Save overwrites the existing token accessor.SaveRefreshToken(rt3); Assert.AreEqual(3, accessor.GetAllRefreshTokens().Count); Assert.AreEqual(2, accessor.RefreshTokenCacheDictionary.Count); string partitionKey2 = CacheKeyFactory.GetKeyFromCachedItem(rt3); Assert.IsNotNull(accessor.RefreshTokenCacheDictionary[partitionKey2][rt3.GetKey().ToString()]); }