Exemple #1
0
        public void Test_CanClearRules_HasOnlyFallbackClientRule()
        {
            Mock <ICacheClient> fallbackClientMocker =
                new Mock <ICacheClient>(MockBehavior.Strict);

            IRoutedCacheClient routedCacheClient =
                CreateRoutedCacheClient(fallbackClientMocker.Object);

            Assert.AreEqual(1, routedCacheClient.RulesCount);

            routedCacheClient.ClearRules();

            Assert.AreEqual(1, routedCacheClient.RulesCount);
        }
Exemple #2
0
        public void Test_CanClearRules_HasManyClientRules()
        {
            Mock <ICacheClient> sessionClientMocker =
                new Mock <ICacheClient>(MockBehavior.Strict);

            Mock <ICacheClient> fallbackClientMocker =
                new Mock <ICacheClient>(MockBehavior.Strict);

            ICacheClient sessionClient  = sessionClientMocker.Object;
            ICacheClient fallbackClient = fallbackClientMocker.Object;

            IRoutedCacheClient routedCacheClient =
                CreateRoutedCacheClient(fallbackClient,
                                        new KeyStartsWithStringCacheClientRule(sessionClient, StringComparison.InvariantCultureIgnoreCase, "xyz:"),
                                        new KeyStartsWithStringCacheClientRule(sessionClient, StringComparison.InvariantCultureIgnoreCase, "session:"));

            Assert.AreEqual(3, routedCacheClient.RulesCount);

            routedCacheClient.ClearRules();

            Assert.AreEqual(1, routedCacheClient.RulesCount);
        }
Exemple #3
0
        private void Assert_AllMethodsThrowObjectDisposedException(IRoutedCacheClient routedCacheClient)
        {
            Faker faker = new Faker();

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Add(RandomKey, faker.Random.Int()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Add(SessionKey, faker.Random.Int()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Add(RandomKey, faker.Random.Decimal(), faker.Date.Timespan()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Add(SessionKey, faker.Random.Decimal(), faker.Date.Timespan()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Add(RandomKey, faker.Random.String(), faker.Date.Future()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Add(SessionKey, faker.Random.String(), faker.Date.Future()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Decrement(RandomKey, faker.Random.UInt()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Decrement(SessionKey, faker.Random.UInt()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .FlushAll());
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .FlushAll());

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Get <string>(RandomKey));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Get <string>(SessionKey));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .GetAll <string>(faker.Make(faker.Random.Int(0, 100), () => RandomKey)));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .GetAll <string>(faker.Make(faker.Random.Int(0, 100), () => SessionKeyPrefix)));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .GetKeysByPattern(SessionKeyPrefix));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .GetKeysByPattern(RandomKeyPrefix));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .GetTimeToLive(SessionKey));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .GetTimeToLive(RandomKey));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Increment(RandomKey, faker.Random.UInt()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Increment(SessionKey, faker.Random.UInt()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Remove(SessionKey));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Remove(RandomKey));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .RemoveAll(faker.Make(faker.Random.Int(0, 100), () => RandomKey)));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .RemoveAll(faker.Make(faker.Random.Int(0, 100), () => SessionKeyPrefix)));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Replace(RandomKey, faker.Random.Int()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Replace(SessionKey, faker.Random.Int()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Replace(RandomKey, faker.Random.Decimal(), faker.Date.Timespan()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Replace(SessionKey, faker.Random.Decimal(), faker.Date.Timespan()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Replace(RandomKey, faker.Random.String(), faker.Date.Future()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Replace(SessionKey, faker.Random.String(), faker.Date.Future()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Set(RandomKey, faker.Random.Int()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Set(SessionKey, faker.Random.Int()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Set(RandomKey, faker.Random.Decimal(), faker.Date.Timespan()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Set(SessionKey, faker.Random.Decimal(), faker.Date.Timespan()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Set(RandomKey, faker.Random.String(), faker.Date.Future()));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .Set(SessionKey, faker.Random.String(), faker.Date.Future()));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .SetAll(new Dictionary <string, string>(faker.Make(
                                                                                                faker.Random.Int(0, 100),
                                                                                                () => new KeyValuePair <string, string>(RandomKey, faker.Random.String())
                                                                                                ))));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .SetAll(new Dictionary <string, int>(faker.Make(
                                                                                             faker.Random.Int(0, 100),
                                                                                             () => new KeyValuePair <string, int>(SessionKey, faker.Random.Int())
                                                                                             ))));

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .PushClientWithRule(new Mock <IRoutedCacheClientRule>(MockBehavior.Loose).Object));
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .ClearRules());

            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .GetRegisteredClients());
            Assert.Throws <ObjectDisposedException>(() => routedCacheClient
                                                    .GetRegisteredClientRules());
        }