Example #1
0
        public void VerifyBasic(int client, int keyCount, int eventCount, int durableValue, int nonDurableValue)
        {//1 4 8 1 1
            DurableListener <object, object> checker = null;

            if (client == 1)
            {
                checker = ThinClientDurableTests.m_checker1;
            }
            else // client == 2
            {
                checker = ThinClientDurableTests.m_checker2;
            }

            if (checker != null)
            {
                try
                {
                    checker.validateBasic(keyCount, eventCount, durableValue, nonDurableValue);//4 8 1 1
                }
                catch (AssertionException e)
                {
                    Util.Log("VERIFICATION FAILED for client {0}: {1} ", client, e);
                    throw e;
                }
            }
            else
            {
                Assert.Fail("Checker is NULL!");
            }
        }
Example #2
0
        public void InitDurableClientNoInterest(int client, string locators,
                                                int redundancyLevel, string durableClientId, int durableTimeout)
        {
            // we use "client" to either create a DurableListener or use the existing ones
            // if the clients are initialized for the second time
            DurableListener <object, object> checker = null;

            if (client == 1)
            {
                if (ThinClientDurableTests.m_checker1 == null)
                {
                    ThinClientDurableTests.m_checker1 = DurableListener <object, object> .Create();
                }
                checker = ThinClientDurableTests.m_checker1;
            }
            else // client == 2
            {
                if (ThinClientDurableTests.m_checker2 == null)
                {
                    ThinClientDurableTests.m_checker2 = DurableListener <object, object> .Create();
                }
                checker = ThinClientDurableTests.m_checker2;
            }
            CacheHelper.InitConfigForDurable_Pool(locators, redundancyLevel,
                                                  durableClientId, durableTimeout);
            CacheHelper.CreateTCRegion_Pool(RegionNames[0], false, true, checker,
                                            CacheHelper.Locators, "__TESTPOOL1_", true);
            CacheHelper.DCache.ReadyForEvents();
        }
Example #3
0
 public void ClearChecker(int client)
 {
     if (client == 1)
     {
         ThinClientDurableTests.m_checker1 = null;
     }
     else // client == 2
     {
         ThinClientDurableTests.m_checker2 = null;
     }
 }
Example #4
0
        public void InitDurableClientWithTwoPools(string locators,
                                                  int redundancyLevel, string durableClientId, int durableTimeout, int expectedQ0, int expectedQ1)
        {
            DurableListener <object, object> checker = null;

            CacheHelper.InitConfigForDurable_Pool2(locators, redundancyLevel,
                                                   durableClientId, durableTimeout, 35000, "__TESTPOOL1_");
            CacheHelper.CreateTCRegion_Pool(RegionNames[0], false, true, checker,
                                            CacheHelper.Locators, "__TESTPOOL1_", true);

            CacheHelper.InitConfigForDurable_Pool2(locators, redundancyLevel,
                                                   durableClientId, durableTimeout, 35000, "__TESTPOOL2_");
            CacheHelper.CreateTCRegion_Pool(RegionNames[1], false, true, checker,
                                            CacheHelper.Locators, "__TESTPOOL2_", true);

            IRegion <object, object> region0 = CacheHelper.GetVerifyRegion <object, object>(RegionNames[0]);
            IRegion <object, object> region1 = CacheHelper.GetVerifyRegion <object, object>(RegionNames[1]);

            try
            {
                region0.GetSubscriptionService().RegisterAllKeys(true);
                region1.GetSubscriptionService().RegisterAllKeys(true);
            }
            catch (Exception other)
            {
                Assert.Fail("RegisterAllKeys threw unexpected exception: {0}", other.Message);
            }

            Pool pool0 = PoolManager.Find(region0.Attributes.PoolName);
            int  pendingEventCount0 = pool0.PendingEventCount;

            Util.Log("pendingEventCount0 for pool = {0} {1} ", pendingEventCount0, region0.Attributes.PoolName);
            string msg = string.Format("Expected Value ={0}, Actual = {1}", expectedQ0, pendingEventCount0);

            Assert.AreEqual(expectedQ0, pendingEventCount0, msg);

            Pool pool1 = PoolManager.Find(region1.Attributes.PoolName);
            int  pendingEventCount1 = pool1.PendingEventCount;

            Util.Log("pendingEventCount1 for pool = {0} {1} ", pendingEventCount1, region1.Attributes.PoolName);
            string msg1 = string.Format("Expected Value ={0}, Actual = {1}", expectedQ1, pendingEventCount1);

            Assert.AreEqual(expectedQ1, pendingEventCount1, msg1);

            CacheHelper.DCache.ReadyForEvents();
            Thread.Sleep(10000);

            CacheHelper.DCache.Close(true);
        }
Example #5
0
        public void InitDurableClient(int client, string locators, int redundancyLevel,
                                      string durableClientId, int durableTimeout)
        {
            // Create DurableListener for first time and use same afterward.
            DurableListener <object, object> checker = null;

            if (client == 1)
            {
                if (ThinClientDurableTests.m_checker1 == null)
                {
                    ThinClientDurableTests.m_checker1 = DurableListener <object, object> .Create();
                }
                checker = ThinClientDurableTests.m_checker1;
            }
            else // client == 2
            {
                if (ThinClientDurableTests.m_checker2 == null)
                {
                    ThinClientDurableTests.m_checker2 = DurableListener <object, object> .Create();
                }
                checker = ThinClientDurableTests.m_checker2;
            }
            CacheHelper.InitConfigForDurable_Pool(locators, redundancyLevel,
                                                  durableClientId, durableTimeout);
            CacheHelper.CreateTCRegion_Pool <object, object>(RegionNames[0], false, true, checker,
                                                             CacheHelper.Locators, "__TESTPOOL1_", true);

            CacheHelper.DCache.ReadyForEvents();
            IRegion <object, object> region1 = CacheHelper.GetVerifyRegion <object, object>(RegionNames[0]);

            region1.GetSubscriptionService().RegisterRegex(m_regexes[0], true);
            region1.GetSubscriptionService().RegisterRegex(m_regexes[1], false);
            //CacheableKey[] ldkeys = { new CacheableString(m_mixKeys[3]) };
            ICollection <object> lkeys = new List <object>();

            lkeys.Add((object)m_mixKeys[3]);
            region1.GetSubscriptionService().RegisterKeys(lkeys, true, false);

            ICollection <object> ldkeys = new List <object>();;

            ldkeys.Add((object)m_mixKeys[2]);
            region1.GetSubscriptionService().RegisterKeys(ldkeys, false, false);
        }
Example #6
0
    public void VerifyTotal(int client, int keys, int total)
    {
      DurableListener<object, object> checker = null;
      if (client == 1)
      {
        checker = ThinClientDurableTests.m_checker1;
      }
      else // client == 2
      {
        checker = ThinClientDurableTests.m_checker2;
      }

      if (checker != null)
      {
        checker.validate(keys, total);
      }
      else
      {
        Assert.Fail("Checker is NULL!");
      }
    }
Example #7
0
        } // end [Test] DurableInterest

        #endregion

        #region Durable Failover Test


        public void InitDurableClientForFailover(int client, string locators,
                                                 int redundancyLevel, string durableClientId, int durableTimeout)
        {
            // we use "client" to either create a DurableListener or use the existing ones
            // if the clients are initialized for the second time
            DurableListener <object, object> checker = null;

            if (client == 1)
            {
                if (ThinClientDurableTests.m_checker1 == null)
                {
                    ThinClientDurableTests.m_checker1 = DurableListener <object, object> .Create();
                }
                checker = ThinClientDurableTests.m_checker1;
            }
            else // client == 2
            {
                if (ThinClientDurableTests.m_checker2 == null)
                {
                    ThinClientDurableTests.m_checker2 = DurableListener <object, object> .Create();
                }
                checker = ThinClientDurableTests.m_checker2;
            }
            CacheHelper.InitConfigForDurable_Pool(locators, redundancyLevel,
                                                  durableClientId, durableTimeout, 35000);
            CacheHelper.CreateTCRegion_Pool(RegionNames[0], false, true, checker,
                                            CacheHelper.Locators, "__TESTPOOL1_", true);
            CacheHelper.DCache.ReadyForEvents();
            IRegion <object, object> region1 = CacheHelper.GetVerifyRegion <object, object>(RegionNames[0]);

            try
            {
                region1.GetSubscriptionService().RegisterRegex(m_regexes[0], true);
                region1.GetSubscriptionService().RegisterRegex(m_regexes[1], false);
            }
            catch (Exception other)
            {
                Assert.Fail("RegisterKeys threw unexpected exception: {0}", other.Message);
            }
        }
Example #8
0
        } // end [Test] DurableAndNonDurableBasic

        #endregion

        #region Durable Intrest Test

        public void InitDurableClientRemoveInterest(int client, string locators,
                                                    int redundancyLevel, string durableClientId, int durableTimeout)
        {
            // Client Registered Durable Intrest on two keys. We need to unregister them all here.

            DurableListener <object, object> checker = null;

            if (client == 1)
            {
                if (ThinClientDurableTests.m_checker1 == null)
                {
                    ThinClientDurableTests.m_checker1 = DurableListener <object, object> .Create();
                }
                checker = ThinClientDurableTests.m_checker1;
            }
            else // client == 2
            {
                if (ThinClientDurableTests.m_checker2 == null)
                {
                    ThinClientDurableTests.m_checker2 = DurableListener <object, object> .Create();
                }
                checker = ThinClientDurableTests.m_checker2;
            }
            CacheHelper.InitConfigForDurable_Pool(locators, redundancyLevel,
                                                  durableClientId, durableTimeout);
            CacheHelper.CreateTCRegion_Pool(RegionNames[0], false, true, checker,
                                            CacheHelper.Locators, "__TESTPOOL1_", true);

            CacheHelper.DCache.ReadyForEvents();
            IRegion <object, object> region1 = CacheHelper.GetVerifyRegion <object, object>(RegionNames[0]);

            // Unregister Regex only durable
            region1.GetSubscriptionService().RegisterRegex(m_regexes[0], true);
            region1.GetSubscriptionService().UnregisterRegex(m_regexes[0]);

            // Unregister list only durable
            string[] ldkeys = new string[] { m_mixKeys[3] };
            region1.GetSubscriptionService().RegisterKeys(ldkeys, true, false);
            region1.GetSubscriptionService().UnregisterKeys(ldkeys);
        }