public void TestDeleteMissing()
        {
            var repository = new RedisTokenCacheRepository(connectionString, "UnitTests");

            repository.Remove("doesnt.exists");

            Assert.IsNull(repository.Get("doesnt.exists"));
        }
        public void TestExpiration()
        {
            var repository = new RedisTokenCacheRepository(connectionString, "UnitTests");

            repository.AddOrUpdate(new TokenCacheItem()
            {
                Key = "42", Expires = DateTime.UtcNow.AddMilliseconds(200), Token = new byte[] { 0, 1, 2 }
            });
            Assert.IsNotNull(repository.Get("42"));

            Thread.Sleep(400);

            Assert.IsNull(repository.Get("42"));
        }
        public void TestDeleteExisting()
        {
            var repository = new RedisTokenCacheRepository(connectionString, "UnitTests");

            repository.AddOrUpdate(new TokenCacheItem()
            {
                Key = "42", Expires = DateTime.UtcNow.AddMinutes(1), Token = new byte[] { 0, 1, 2 }
            });
            Assert.IsNotNull(repository.Get("42"));

            repository.Remove("42");

            Assert.IsNull(repository.Get("42"));
        }
        public void TestAddOrUpdateThenGet()
        {
            var repository = new RedisTokenCacheRepository(connectionString, "UnitTests");

            repository.AddOrUpdate(new TokenCacheItem()
            {
                Key = "42", Expires = DateTime.UtcNow.AddMinutes(1), Token = new byte[] { 0, 1, 2 }
            });
            var item = repository.Get("42");

            Assert.IsNotNull(item);
            CollectionAssert.AreEqual(new byte[] { 0, 1, 2 }, item.Token);
            Assert.AreEqual("42", item.Key);
        }