clicache/integration-test/RegionRemoveTests.cs (157 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Threading; namespace Apache.Geode.Client.UnitTests { using NUnit.Framework; using DUnitFramework; using Client; [TestFixture] [Category("group4")] [Category("unicast_only")] [Category("generics")] public class RegionRemoveTests : ThinClientRegionSteps { #region Private members private UnitProcess _mClient1, _mClient2; #endregion protected override ClientBase[] GetClients() { _mClient1 = new UnitProcess(); _mClient2 = new UnitProcess(); return new ClientBase[] { _mClient1, _mClient2 }; } [TestFixtureTearDown] public override void EndTests() { CacheHelper.StopJavaServers(); base.EndTests(); } [TearDown] public override void EndTest() { try { _mClient1.Call(DestroyRegions); _mClient2.Call(DestroyRegions); CacheHelper.ClearEndpoints(); CacheHelper.ClearLocators(); } finally { CacheHelper.StopJavaServers(); CacheHelper.StopJavaLocators(); } base.EndTest(); } protected virtual void RemoveAllStep1() { CreateEntry(m_regionNames[0], m_keys[0], m_vals[0]); CreateEntry(m_regionNames[0], m_keys[1], m_vals[1]); CreateEntry(m_regionNames[0], m_keys[2], m_vals[2]); CreateEntry(m_regionNames[1], m_keys[3], m_vals[3]); CreateEntry(m_regionNames[1], m_keys[4], m_vals[4]); CreateEntry(m_regionNames[1], m_keys[5], m_vals[5]); Util.Log("RemoveAllStep1 complete."); } protected virtual void RemoveAllStep2() { IRegion<object, object> reg0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]); IRegion<object, object> reg1 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[1]); ICollection<object> keys0 = new List<object>(); ICollection<object> keys1 = new List<object>(); for (int i = 0; i < 3; i++) { keys0.Add(m_keys[i]); keys1.Add(m_keys[i + 3]); } //try remove all reg0.RemoveAll(keys0); reg1.RemoveAll(keys1); Util.Log("RemoveAllStep2 complete."); } protected virtual void RemoveAllStep3() { VerifyDestroyed(m_regionNames[0], m_keys[0]); VerifyDestroyed(m_regionNames[0], m_keys[1]); VerifyDestroyed(m_regionNames[0], m_keys[2]); VerifyDestroyed(m_regionNames[1], m_keys[3]); VerifyDestroyed(m_regionNames[1], m_keys[4]); VerifyDestroyed(m_regionNames[1], m_keys[5]); IRegion<object, object> region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]); IRegion<object, object> region1 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[1]); Assert.AreEqual(region0.Count, 0, "Remove all should remove the entries specified"); Assert.AreEqual(region1.Count, 0, "Remove all should remove the entries specified"); Util.Log("RemoveAllStep3 complete."); } private void RunRemoveAll() { CacheHelper.SetupJavaServers(true, "cacheserver.xml"); CacheHelper.StartJavaLocator(1, "GFELOC"); Util.Log("Locator 1 started."); CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1); Util.Log("Cacheserver 1 started."); _mClient1.Call(CreateTCRegions_Pool, RegionNames, CacheHelper.Locators, "__TESTPOOL1_", false); Util.Log("StepOne (pool locators) complete."); _mClient2.Call(CreateTCRegions_Pool, RegionNames, CacheHelper.Locators, "__TESTPOOL1_", false); Util.Log("StepTwo (pool locators) complete."); _mClient1.Call(RemoveAllStep1); Util.Log("RemoveAllStep1 complete."); _mClient1.Call(RemoveAllStep2); Util.Log("RemoveAllStep2 complete."); _mClient2.Call(RemoveAllStep3); Util.Log("RemoveAllStep3 complete."); _mClient1.Call(Close); Util.Log("Client 1 closed"); _mClient2.Call(Close); Util.Log("Client 2 closed"); CacheHelper.StopJavaServer(1); Util.Log("Cacheserver 1 stopped."); CacheHelper.StopJavaLocator(1); Util.Log("Locator 1 stopped."); CacheHelper.ClearEndpoints(); CacheHelper.ClearLocators(); } private void RunRemoveOps1() { CacheHelper.SetupJavaServers(true, "cacheserver1_expiry.xml"); CacheHelper.StartJavaLocator(1, "GFELOC"); Util.Log("Locator 1 started."); CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1); Util.Log("Cacheserver 1 started."); _mClient1.Call(CreateTCRegions_Pool, RegionNames2, CacheHelper.Locators, "__TESTPOOL1_", false); Util.Log("StepOne (pool locators) complete."); _mClient2.Call(CreateTCRegions_Pool, RegionNames2, CacheHelper.Locators, "__TESTPOOL1_", false); Util.Log("StepTwo (pool locators) complete."); _mClient2.Call(RemoveStepEight); Util.Log("RemoveStepEight complete."); _mClient1.Call(Close); Util.Log("Client 1 closed"); _mClient2.Call(Close); Util.Log("Client 2 closed"); CacheHelper.StopJavaServer(1); Util.Log("Cacheserver 1 stopped."); CacheHelper.StopJavaLocator(1); Util.Log("Locator 1 stopped."); CacheHelper.ClearEndpoints(); CacheHelper.ClearLocators(); } #region Tests [Test] public void RemoveAll() { RunRemoveAll(); } [Test] public void RemoveOps1() { RunRemoveOps1(); } #endregion } }