aboutsummaryrefslogtreecommitdiffstats
path: root/integrity-monitor/src/test/java/org/openecomp/policy/common/im/test/IntegrityMonitorTest.java
diff options
context:
space:
mode:
authorGuo Ruijing <ruijing.guo@intel.com>2017-07-28 08:21:14 +0000
committerPamela Dragosh <pdragosh@research.att.com>2017-07-31 08:31:07 -0400
commitf8a620d1ff2b0d33b08a22279058f3e0253bdde1 (patch)
tree9092df7a6c57a46d36988245f60db0c29a7b1404 /integrity-monitor/src/test/java/org/openecomp/policy/common/im/test/IntegrityMonitorTest.java
parente7bd0934d383c811b0b7302c42991aa1d61941c4 (diff)
[POLICY-71] replace openecomp for policy-common
Change-Id: I3241f5d1f0234043b4dff718eda1ffdc48052276 Signed-off-by: Guo Ruijing <ruijing.guo@intel.com> Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'integrity-monitor/src/test/java/org/openecomp/policy/common/im/test/IntegrityMonitorTest.java')
-rw-r--r--integrity-monitor/src/test/java/org/openecomp/policy/common/im/test/IntegrityMonitorTest.java1232
1 files changed, 0 insertions, 1232 deletions
diff --git a/integrity-monitor/src/test/java/org/openecomp/policy/common/im/test/IntegrityMonitorTest.java b/integrity-monitor/src/test/java/org/openecomp/policy/common/im/test/IntegrityMonitorTest.java
deleted file mode 100644
index 8e8720da..00000000
--- a/integrity-monitor/src/test/java/org/openecomp/policy/common/im/test/IntegrityMonitorTest.java
+++ /dev/null
@@ -1,1232 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Integrity Monitor
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.policy.common.im.test;
-
-import static org.junit.Assert.*;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.EntityTransaction;
-import javax.persistence.Persistence;
-import javax.persistence.Query;
-import javax.persistence.TemporalType;
-
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-
-
-
-import org.openecomp.policy.common.im.IntegrityMonitor;
-import org.openecomp.policy.common.im.IntegrityMonitorProperties;
-import org.openecomp.policy.common.im.StateManagement;
-import org.openecomp.policy.common.im.jpa.ForwardProgressEntity;
-import org.openecomp.policy.common.im.jpa.ResourceRegistrationEntity;
-import org.openecomp.policy.common.im.jpa.StateManagementEntity;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-/*
- * All JUnits are designed to run in the local development environment
- * where they have write privileges and can execute time-sensitive
- * tasks.
- */
-public class IntegrityMonitorTest {
- private static Logger logger = FlexLogger.getLogger(IntegrityMonitorTest.class);
- private static Properties myProp;
- private static EntityManagerFactory emf;
- private static EntityManager em;
- private static EntityTransaction et;
- private static String resourceName;
- private static Properties systemProps;
-
- @BeforeClass
- public static void setUpClass() throws Exception {
-
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
- @Before
- public void setUp() throws Exception {
- IntegrityMonitor.isUnitTesting = true;
-
- myProp = new Properties();
- myProp.put(IntegrityMonitorProperties.DB_DRIVER, IntegrityMonitorProperties.DEFAULT_DB_DRIVER);
- myProp.put(IntegrityMonitorProperties.DB_URL, IntegrityMonitorProperties.DEFAULT_DB_URL);
- myProp.put(IntegrityMonitorProperties.DB_USER, IntegrityMonitorProperties.DEFAULT_DB_USER);
- myProp.put(IntegrityMonitorProperties.DB_PWD, IntegrityMonitorProperties.DEFAULT_DB_PWD);
- myProp.put(IntegrityMonitorProperties.SITE_NAME, "SiteA");
- myProp.put(IntegrityMonitorProperties.NODE_TYPE, "pap");
-
- // set JMX remote port in system properties
- systemProps = System.getProperties();
- systemProps.put("com.sun.management.jmxremote.port", "9797");
-
- resourceName = "siteA.pap1";
-
- //Create the data schema and entity manager factory
- emf = Persistence.createEntityManagerFactory("schemaPU", myProp);
-
- // Create an entity manager to use the DB
- em = emf.createEntityManager();
-
- }
-
-
- @After
- public void tearDown() throws Exception {
- // clear jmx remote port setting
- systemProps.remove("com.sun.management.jmxremote.port");
- }
-
- /*
- * The following runs all tests and controls the order of execution. If you allow
- * the tests to execute individually, you cannot predict the order and some
- * conflicts occur.
- */
- @Ignore
- @Test
- public void runAllTests() throws Exception{
- //testSanityJmx();
- //testIM();
- //testSanityState();
- testRefreshStateAudit();
- //testStateCheck();
- //testGetAllForwardProgressEntity();
- //testStateAudit();
- }
-
- /*
- * The following test verifies the following test cases:
- * New Install
- * New Install - Bad Dependency data
- * Recovery from bad dependency data
- * Lock
- * Lock restart
- * Unlock
- * Unlock restart
- */
- public void testSanityJmx() throws Exception {
- System.out.println("\nIntegrityMonitorTest: Entering testSanityJmx\n\n");
-
- String dependent = "group1_logparser";
-
- // parameters are passed via a properties file
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, dependent);
- myProp.put(IntegrityMonitorProperties.TEST_VIA_JMX, "true");
- IntegrityMonitor.updateProperties(myProp);
-
- IntegrityMonitor im = IntegrityMonitor.getInstance(resourceName, myProp);
- System.out.println("\n\ntestSanityJmx starting im state"
- + "\nAdminState = " + im.getStateManager().getAdminState()
- + "\nOpState() = " + im.getStateManager().getOpState()
- + "\nAvailStatus = " + im.getStateManager().getAvailStatus()
- + "\nStandbyStatus = " + im.getStateManager().getStandbyStatus()
- + "\n");
- // add an entry to Resource registration table in the DB for the dependent resource
-
-
- et = em.getTransaction();
- et.begin();
- Query rquery = em.createQuery("Select r from ResourceRegistrationEntity r where r.resourceName=:rn");
- rquery.setParameter("rn", dependent);
-
- @SuppressWarnings("rawtypes")
- List rrList = rquery.getResultList();
- ResourceRegistrationEntity rrx = null;
- if(rrList.isEmpty()){
- // register resource by adding entry to table in DB
- System.out.println("Adding resource " + dependent + " to ResourceRegistration table");
- rrx = new ResourceRegistrationEntity();
- // set columns in entry
- rrx.setResourceName(dependent);
- rrx.setResourceUrl("service:jmx:somewhere:9999");
- rrx.setNodeType("logparser");
- rrx.setSite("siteA");
- }
- em.persist(rrx);
- // flush to the DB
- em.flush();
-
- // commit transaction
- et.commit();
-
- Thread.sleep(15000); //sleep 15 sec so the FPManager has time to call evaluateSanty()
-
- boolean sanityPass = true;
- try {
- im.evaluateSanity();
- } catch (Exception e) {
- System.out.println("evaluateSanity exception: " + e);
- sanityPass = false;
- }
- assertFalse(sanityPass); // expect sanity test to fail
-
- // undo dependency groups and jmx test properties settings
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "");
- myProp.put(IntegrityMonitorProperties.TEST_VIA_JMX, "false");
- IntegrityMonitor.updateProperties(myProp);
-
- System.out.println("\ntestSantityJmx ending properties: " + myProp);
-
- //We know at this point that the IM is disable-dependency. We want to be
- //sure it will recover from this condition since the properties were
- //updated.
-
-
- System.out.println("\n\ntestSanityJmx ending im state"
- + "\nAdminState = " + im.getStateManager().getAdminState()
- + "\nOpState() = " + im.getStateManager().getOpState()
- + "\nAvailStatus = " + im.getStateManager().getAvailStatus()
- + "\nStandbyStatus = " + im.getStateManager().getStandbyStatus()
- + "\n");
-
- //Destroy the instance
- System.out.println("\ntestSanityJmx restarting the IntegrityMonitor");
- IntegrityMonitor.deleteInstance();
- //Create a new instance. It should recover from the disabled-dependency condition
- im = IntegrityMonitor.getInstance(resourceName, myProp);
-
- System.out.println("\n\ntestSanityJmx state after creating new im"
- + "\nAdminState = " + im.getStateManager().getAdminState()
- + "\nOpState() = " + im.getStateManager().getOpState()
- + "\nAvailStatus = " + im.getStateManager().getAvailStatus()
- + "\nStandbyStatus = " + im.getStateManager().getStandbyStatus()
- + "\n");
-
- //Verify the state
- assertEquals(im.getStateManager().getAdminState(), StateManagement.UNLOCKED);
- assertEquals(im.getStateManager().getOpState(), StateManagement.ENABLED);
- assertEquals(im.getStateManager().getAvailStatus(), StateManagement.NULL_VALUE);
- assertEquals(im.getStateManager().getStandbyStatus(), StateManagement.NULL_VALUE);
-
- //Test state manager via the IntegrityMonitor
- StateManagement sm = im.getStateManager();
-
- // Verify lock state
- sm.lock();
- System.out.println("\n\nsm.lock()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getAdminState().equals(StateManagement.LOCKED));
-
- //Verify lock persists across a restart
- //Destroy the instance
- System.out.println("\ntestSanityJmx restarting the IntegrityMonitor");
- IntegrityMonitor.deleteInstance();
- //Create a new instance. It should come up with the admin state locked
- im = IntegrityMonitor.getInstance(resourceName, myProp);
- sm = im.getStateManager();
- System.out.println("\n\ntestSanityJmx restart with AdminState=locked"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getAdminState().equals(StateManagement.LOCKED));
-
- // Verify unlock
- sm.unlock();
- System.out.println("\n\ntestSanityJmx sm.unlock"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getAdminState().equals(StateManagement.UNLOCKED));
-
- // Verify unlock restart
- //Destroy the instance
- System.out.println("\ntestSanityJmx restarting the IntegrityMonitor");
- IntegrityMonitor.deleteInstance();
- //Create a new instance. It should come up with the admin state locked
- im = IntegrityMonitor.getInstance(resourceName, myProp);
- sm = im.getStateManager();
- System.out.println("\n\ntestSanityJmx restart with AdminState=unlocked"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getAdminState().equals(StateManagement.UNLOCKED));
-
- System.out.println("\n\ntestSanityJmx: Exit\n\n");
- }
-
-
- public void testIM() throws Exception {
- System.out.println("\nIntegrityMonitorTest: Entering testIM\n\n");
-
- // parameters are passed via a properties file
-
- /*
- * Create an IntegrityMonitor
- * NOTE: This uses the database that was created above. So, this MUST follow the creation
- * of the DB
- */
- IntegrityMonitor im = IntegrityMonitor.getInstance(resourceName, myProp);
-
- System.out.println("\n\nim before sleep"
- + "\nAdminState = " + im.getStateManager().getAdminState()
- + "\nOpState() = " + im.getStateManager().getOpState()
- + "\nAvailStatus = " + im.getStateManager().getAvailStatus()
- + "\nStandbyStatus = " + im.getStateManager().getStandbyStatus()
- + "\n");
-
- // wait for test transactions to fire and increment fpc
- Thread.sleep(20000);
-
- System.out.println("\n\nim after sleep"
- + "\nAdminState = " + im.getStateManager().getAdminState()
- + "\nOpState() = " + im.getStateManager().getOpState()
- + "\nAvailStatus = " + im.getStateManager().getAvailStatus()
- + "\nStandbyStatus = " + im.getStateManager().getStandbyStatus()
- + "\n");
-
- // test evaluate sanity
- boolean sanityPass = true;
- try {
- im.evaluateSanity();
- } catch (Exception e) {
- System.out.println("evaluateSanity exception: " + e);
- sanityPass = false;
- }
- assertTrue(sanityPass); // expect sanity test to pass
-
- //Test startTransaction - should works since it is unlocked
- boolean transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(transPass);
-
- //Test state manager via the IntegrityMonitor
- StateManagement sm = im.getStateManager();
-
- sm.lock();
- System.out.println("\n\nsm.lock()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getAdminState().equals(StateManagement.LOCKED));
-
- //test startTransaction. It should fail since it is locked
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(!transPass); //expect it to fail
-
- sm.unlock();
- System.out.println("\n\nsm.unlock()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getAdminState().equals(StateManagement.UNLOCKED));
-
- //test startTransaction. It should succeed
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(transPass); //expect it to succeed
-
- sm.disableDependency();
- System.out.println("\n\nsm.disableDependency()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getOpState().equals(StateManagement.DISABLED));
- assert(sm.getAvailStatus().equals(StateManagement.DEPENDENCY));
-
- //test startTransaction. It should succeed since standby status is null and unlocked
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(transPass); //expect it to succeed
-
- sm.enableNoDependency();
- System.out.println("\n\nsm.enableNoDependency()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getOpState().equals(StateManagement.ENABLED));
- //test startTransaction. It should succeed since standby status is null and unlocked
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(transPass); //expect it to succeed
-
-
- sm.disableFailed();
- System.out.println("\n\nsm.disableFailed()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getOpState().equals(StateManagement.DISABLED));
- assert(sm.getAvailStatus().equals(StateManagement.FAILED));
- //test startTransaction. It should succeed since standby status is null and unlocked
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(transPass); //expect it to succeed
-
- sm.enableNotFailed();
- System.out.println("\n\nsm.enabledNotFailed()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getOpState().equals(StateManagement.ENABLED));
- //test startTransaction. It should succeed since standby status is null and unlocked
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(transPass); //expect it to succeed
-
- sm.demote();
- System.out.println("\n\nsm.demote()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getStandbyStatus().equals(StateManagement.HOT_STANDBY));
-
- //test startTransaction. It should fail since it is standby
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(!transPass); //expect it to fail
-
- sm.promote();
- System.out.println("\n\nsm.promote()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getStandbyStatus().equals(StateManagement.PROVIDING_SERVICE));
-
- //test startTransaction. It should succeed since it is providing service
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(transPass); //expect it to succeed
-
-
- //Test the multi-valued availability status
- sm.disableDependency();
- sm.disableFailed();
- System.out.println("\n\nsm.disableDependency(), sm.disableFailed"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getAvailStatus().equals(StateManagement.DEPENDENCY_FAILED));
-
- //Test startTransaction. Should fail since standby status is cold standby
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(!transPass); //expect it to fail
-
- sm.enableNoDependency();
- System.out.println("\n\nsm.enableNoDependency()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getAvailStatus().equals(StateManagement.FAILED));
- //Test startTransaction. Should fail since standby status is cold standby
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(!transPass); //expect it to fail
-
- sm.disableDependency();
- sm.enableNotFailed();
- System.out.println("\n\nsm.disableDependency(),sm.enableNotFailed()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getAvailStatus().equals(StateManagement.DEPENDENCY));
- //Test startTransaction. Should fail since standby status is cold standby
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(!transPass); //expect it to fail
-
- sm.enableNoDependency();
- System.out.println("\n\nsm.enableNoDependency()"
- + "\nAdminState = " + sm.getAdminState()
- + "\nOpState() = " + sm.getOpState()
- + "\nAvailStatus = " + sm.getAvailStatus()
- + "\nStandbyStatus = " + sm.getStandbyStatus()
- + "\n");
- assert(sm.getOpState().equals(StateManagement.ENABLED));
- //test startTransaction. It should fail since standby status is hot standby
- transPass = true;
- try{
- im.startTransaction();
- } catch (Exception e){
- System.out.println("startTransaction exception: " + e);
- transPass = false;
- }
- assertTrue(!transPass); //expect it to fail
-
- System.out.println("\n\ntestIM: Exit\n\n");
- }
-
-
- public void testSanityState() throws Exception {
- System.out.println("\nIntegrityMonitorTest: Entering testSanityState\n\n");
-
- // parameters are passed via a properties file
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "group1_dep1,group1_dep2; group2_dep1");
- IntegrityMonitor.updateProperties(myProp);
-
- IntegrityMonitor im = IntegrityMonitor.getInstance(resourceName, myProp);
-
- // Add a group1 dependent resources to put an entry in the forward progress table
- ForwardProgressEntity fpe = new ForwardProgressEntity();
- ForwardProgressEntity fpe2 = new ForwardProgressEntity();
- fpe.setFpcCount(0);
- fpe.setResourceName("group1_dep1");
- fpe2.setFpcCount(0);
- fpe2.setResourceName("group1_dep2");
- et = em.getTransaction();
- et.begin();
- em.persist(fpe);
- em.persist(fpe2);
- em.flush();
- et.commit();
-
-
- // Add a group2 dependent resource to the StateManagementEntity DB table and set its admin state to locked
- // Expect sanity test to fail.
- StateManagement stateManager = new StateManagement(emf, "group2_dep1");
- stateManager.lock();
-
- new StateManagement(emf, "group1_dep1");
- new StateManagement(emf, "group1_dep2");
-
- boolean sanityPass = true;
- Thread.sleep(15000);
- try {
- im.evaluateSanity();
- } catch (Exception e) {
- System.out.println("evaluateSanity exception: " + e);
- sanityPass = false;
- }
- assertFalse(sanityPass); // expect sanity test to fail
-
- // undo dependency groups and jmx test properties settings
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "");
- myProp.put(IntegrityMonitorProperties.TEST_VIA_JMX, "false");
- IntegrityMonitor.updateProperties(myProp);
-
- et = em.getTransaction();
-
- et.begin();
- // Make sure we leave the DB clean
- em.createQuery("DELETE FROM StateManagementEntity").executeUpdate();
- em.createQuery("DELETE FROM ResourceRegistrationEntity").executeUpdate();
- em.createQuery("DELETE FROM ForwardProgressEntity").executeUpdate();
-
- em.flush();
- et.commit();
-
- System.out.println("\n\ntestSanityState: Exit\n\n");
- }
-
- public void testRefreshStateAudit() throws Exception {
- logger.debug("\nIntegrityMonitorTest: testRefreshStateAudit Enter\n\n");
-
- // parameters are passed via a properties file
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "");
- myProp.put(IntegrityMonitorProperties.TEST_VIA_JMX, "false");
- myProp.put(IntegrityMonitorProperties.REFRESH_STATE_AUDIT_INTERVAL_MS, "60000");
- IntegrityMonitor.updateProperties(myProp);
-
- et = em.getTransaction();
- et.begin();
-
- // Make sure we leave the DB clean
- em.createQuery("DELETE FROM StateManagementEntity").executeUpdate();
- em.createQuery("DELETE FROM ResourceRegistrationEntity").executeUpdate();
- em.createQuery("DELETE FROM ForwardProgressEntity").executeUpdate();
-
- em.flush();
- et.commit();
-
- IntegrityMonitor.deleteInstance();
-
- IntegrityMonitor.getInstance(resourceName, myProp);
-
- //the state here is unlocked, enabled, null, null
- StateManagementEntity sme = null;
-
- Query query = em.createQuery("Select p from StateManagementEntity p where p.resourceName=:resource");
-
- query.setParameter("resource", resourceName);
-
- //Just test that we are retrieving the right object
- @SuppressWarnings("rawtypes")
- List resourceList = query.getResultList();
- if (!resourceList.isEmpty()) {
- // exist
- sme = (StateManagementEntity) resourceList.get(0);
- em.refresh(sme);
-
- logger.debug("??? -- Retrieve StateManagementEntity from database --"
- + "\nsme.getResourceName() = " + sme.getResourceName()
- + "\nsme.getAdminState() = " + sme.getAdminState()
- + "\nsme.getOpState() = " + sme.getOpState()
- + "\nsme.getAvailStatus() = " + sme.getAvailStatus()
- + "\nsme.getStandbyStatus() = " + sme.getStandbyStatus());
-
- assertTrue(sme.getAdminState().equals(StateManagement.UNLOCKED));
- assertTrue(sme.getOpState().equals(StateManagement.ENABLED));
- assertTrue(sme.getAvailStatus().equals(StateManagement.NULL_VALUE));
- assertTrue(sme.getStandbyStatus().equals(StateManagement.NULL_VALUE));
- logger.debug("--");
- } else {
- logger.debug("Record not found, resourceName: " + resourceName);
- assertTrue(false);
- }
-
- et = em.getTransaction();
- et.begin();
-
- sme.setStandbyStatus(StateManagement.COLD_STANDBY);
- em.persist(sme);
- em.flush();
- et.commit();
-
- Thread.sleep(65000);
-
- //The refreshStateAudit should run and change the state to unlocked,enabled,null,hotstandby
- StateManagementEntity sme1 = null;
-
- Query query1 = em.createQuery("Select p from StateManagementEntity p where p.resourceName=:resource");
-
- query1.setParameter("resource", resourceName);
-
- //Just test that we are retrieving the right object
- @SuppressWarnings("rawtypes")
- List resourceList1 = query1.getResultList();
- if (!resourceList1.isEmpty()) {
- // exist
- sme1 = (StateManagementEntity) resourceList1.get(0);
- em.refresh(sme1);
- logger.debug("??? -- Retrieve StateManagementEntity from database --"
- + "\nsme1.getResourceName() = " + sme1.getResourceName()
- + "\nsme1.getAdminState() = " + sme1.getAdminState()
- + "\nsme1.getOpState() = " + sme1.getOpState()
- + "\nsme1.getAvailStatus() = " + sme1.getAvailStatus()
- + "\nsme1.getStandbyStatus() = " + sme1.getStandbyStatus());
-
- assertTrue(sme1.getAdminState().equals(StateManagement.UNLOCKED));
- assertTrue(sme1.getOpState().equals(StateManagement.ENABLED));
- assertTrue(sme1.getAvailStatus().equals(StateManagement.NULL_VALUE));
- assertTrue(sme1.getStandbyStatus().equals(StateManagement.HOT_STANDBY));
- logger.debug("--");
- } else {
- logger.debug("Record not found, resourceName: " + resourceName);
- assertTrue(false);
- }
-
- et = em.getTransaction();
- et.begin();
-
- // Make sure we leave the DB clean
- em.createQuery("DELETE FROM StateManagementEntity").executeUpdate();
- em.createQuery("DELETE FROM ResourceRegistrationEntity").executeUpdate();
- em.createQuery("DELETE FROM ForwardProgressEntity").executeUpdate();
-
- em.flush();
- et.commit();
-
- IntegrityMonitor.deleteInstance();
-
- logger.debug("\nIntegrityMonitorTest: testRefreshStateAudit Exit\n\n");
- }
-
- public void testStateCheck() throws Exception {
- System.out.println("\nIntegrityMonitorTest: Entering testStateCheck\n\n");
-
- // parameters are passed via a properties file
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "group1_dep1");
- myProp.put(IntegrityMonitorProperties.TEST_VIA_JMX, "false");
- myProp.put(IntegrityMonitorProperties.FAILED_COUNTER_THRESHOLD, "1");
- myProp.put(IntegrityMonitorProperties.FP_MONITOR_INTERVAL, "10");
- IntegrityMonitor.updateProperties(myProp);
- /*
- * The default monitorInterval is 30 and the default failedCounterThreshold is 3
- * Since stateCheck() uses the faileCounterThreshold * monitorInterval to determine
- * if an entry is stale, it will be stale after 30 seconds.
- */
-
- et = em.getTransaction();
- et.begin();
-
- // Make sure we start with the DB clean
- em.createQuery("DELETE FROM StateManagementEntity").executeUpdate();
- em.createQuery("DELETE FROM ResourceRegistrationEntity").executeUpdate();
- em.createQuery("DELETE FROM ForwardProgressEntity").executeUpdate();
-
- em.flush();
- et.commit();
-
- IntegrityMonitor.deleteInstance();
-
- IntegrityMonitor im = IntegrityMonitor.getInstance(resourceName, myProp);
-
- // Add a group1 dependent resources to put an entry in the forward progress table
- // This sets lastUpdated to the current time
- ForwardProgressEntity fpe = new ForwardProgressEntity();
- fpe.setFpcCount(0);
- fpe.setResourceName("group1_dep1");
- et = em.getTransaction();
- et.begin();
- em.persist(fpe);
- em.flush();
- et.commit();
-
- new StateManagement(emf, "group1_dep1");
-
- boolean sanityPass = true;
- //Thread.sleep(15000);
- Thread.sleep(5000);
- try {
- im.evaluateSanity();
- } catch (Exception e) {
- System.out.println("testStateCheck: After 15 sec sleep - evaluateSanity exception: " + e);
- sanityPass = false;
- }
- assertTrue(sanityPass); // expect sanity test to pass
-
- //now wait 30 seconds. The dependency entry should now be stale and the sanitry check should fail
-
- sanityPass = true;
- //Thread.sleep(30000);
- Thread.sleep(10000);
- try {
- im.evaluateSanity();
- } catch (Exception e) {
- System.out.println("testStateCheck: After 10 sec sleep - evaluateSanity exception: " + e);
- sanityPass = false;
- }
- assertFalse(sanityPass); // expect sanity test to fail
-
- // undo dependency groups, jmx test properties settings and failed counter threshold
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "");
- myProp.put(IntegrityMonitorProperties.TEST_VIA_JMX, "false");
- myProp.put(IntegrityMonitorProperties.FAILED_COUNTER_THRESHOLD, Integer.toString(IntegrityMonitorProperties.DEFAULT_FAILED_COUNTER_THRESHOLD));
- myProp.put(IntegrityMonitorProperties.FP_MONITOR_INTERVAL, Integer.toString(IntegrityMonitorProperties.DEFAULT_MONITOR_INTERVAL));
- IntegrityMonitor.updateProperties(myProp);
-
- et = em.getTransaction();
-
- et.begin();
- // Make sure we leave the DB clean
- em.createQuery("DELETE FROM StateManagementEntity").executeUpdate();
- em.createQuery("DELETE FROM ResourceRegistrationEntity").executeUpdate();
- em.createQuery("DELETE FROM ForwardProgressEntity").executeUpdate();
-
- em.flush();
- et.commit();
-
- System.out.println("\n\ntestStateCheck: Exit\n\n");
- }
-
- public void testGetAllForwardProgressEntity() throws Exception{
- System.out.println("\nIntegrityMonitorTest: Entering testGetAllForwardProgressEntity\n\n");
- logger.debug("\nIntegrityMonitorTest: Entering testGetAllForwardProgressEntity\n\n");
-
- // parameters are passed via a properties file
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "");
- IntegrityMonitor.updateProperties(myProp);
-
- et = em.getTransaction();
- et.begin();
-
- // Make sure we start with the DB clean
- em.createQuery("DELETE FROM StateManagementEntity").executeUpdate();
- em.createQuery("DELETE FROM ResourceRegistrationEntity").executeUpdate();
- em.createQuery("DELETE FROM ForwardProgressEntity").executeUpdate();
-
- em.flush();
- et.commit();
-
-
- IntegrityMonitor.deleteInstance();
- IntegrityMonitor im = IntegrityMonitor.getInstance(resourceName, myProp);
-
- logger.debug("\nIntegrityMonitorTest: Creating ForwardProgressEntity entries\n\n");
- // Add a resources to put an entry in the forward progress table
- ForwardProgressEntity fpe = new ForwardProgressEntity();
- ForwardProgressEntity fpe2 = new ForwardProgressEntity();
- ForwardProgressEntity fpe3 = new ForwardProgressEntity();
- fpe.setFpcCount(0);
- fpe.setResourceName("siteA_pap2");
- fpe2.setFpcCount(0);
- fpe2.setResourceName("siteB_pap1");
- fpe3.setFpcCount(0);
- fpe3.setResourceName("siteB_pap2");
- et = em.getTransaction();
- et.begin();
- em.persist(fpe);
- em.persist(fpe2);
- em.persist(fpe3);
- em.flush();
- et.commit();
-
- logger.debug("\nIntegrityMonitorTest:testGetAllForwardProgressEntity Calling im.getAllForwardProgressEntity()\n\n");
- ArrayList<ForwardProgressEntity> fpeList = im.getAllForwardProgressEntity();
-
- assertTrue(fpeList.size()==4);
-
- et = em.getTransaction();
-
- et.begin();
- // Make sure we leave the DB clean
- em.createQuery("DELETE FROM StateManagementEntity").executeUpdate();
- em.createQuery("DELETE FROM ResourceRegistrationEntity").executeUpdate();
- em.createQuery("DELETE FROM ForwardProgressEntity").executeUpdate();
-
- em.flush();
- et.commit();
-
- logger.debug("\nIntegrityMonitorTest: Exit testGetAllForwardProgressEntity\n\n");
- System.out.println("\n\ntestGetAllForwardProgressEntity: Exit\n\n");
- }
-
- public void testStateAudit() throws Exception{
- System.out.println("\nIntegrityMonitorTest: Entering testStateAudit\n\n");
- logger.debug("\nIntegrityMonitorTest: Entering testStateAudit\n\n");
-
- // parameters are passed via a properties file
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "");
- myProp.put(IntegrityMonitorProperties.STATE_AUDIT_INTERVAL_MS, "100");
- IntegrityMonitor.updateProperties(myProp);
-
- et = em.getTransaction();
- et.begin();
-
- // Make sure we start with the DB clean
- em.createQuery("DELETE FROM StateManagementEntity").executeUpdate();
- em.createQuery("DELETE FROM ResourceRegistrationEntity").executeUpdate();
- em.createQuery("DELETE FROM ForwardProgressEntity").executeUpdate();
-
- em.flush();
- et.commit();
-
-
- IntegrityMonitor.deleteInstance();
- IntegrityMonitor im = IntegrityMonitor.getInstance(resourceName, myProp);
-
- logger.debug("\nIntegrityMonitorTest: Creating ForwardProgressEntity entries\n\n");
- // Add resources to put an entry in the forward progress table
- Date staleDate = new Date(0);
- ForwardProgressEntity fpe1 = new ForwardProgressEntity();
- ForwardProgressEntity fpe2 = new ForwardProgressEntity();
- ForwardProgressEntity fpe3 = new ForwardProgressEntity();
- fpe1.setFpcCount(0);
- fpe1.setResourceName("siteA_pap2");
- fpe2.setFpcCount(0);
- fpe2.setResourceName("siteB_pap1");
- fpe3.setFpcCount(0);
- fpe3.setResourceName("siteB_pap2");
- logger.debug("\nIntegrityMonitorTest: Creating StateManagementEntity entries\n\n");
- StateManagementEntity sme1 = new StateManagementEntity();
- StateManagementEntity sme2 = new StateManagementEntity();
- StateManagementEntity sme3= new StateManagementEntity();
- sme1.setResourceName("siteA_pap2");
- sme1.setAdminState(StateManagement.UNLOCKED);
- sme1.setOpState(StateManagement.ENABLED);
- sme1.setAvailStatus(StateManagement.NULL_VALUE);
- sme1.setStandbyStatus(StateManagement.NULL_VALUE);
- sme2.setResourceName("siteB_pap1");
- sme2.setAdminState(StateManagement.UNLOCKED);
- sme2.setOpState(StateManagement.ENABLED);
- sme2.setAvailStatus(StateManagement.NULL_VALUE);
- sme2.setStandbyStatus(StateManagement.NULL_VALUE);
- sme3.setResourceName("siteB_pap2");
- sme3.setAdminState(StateManagement.UNLOCKED);
- sme3.setOpState(StateManagement.ENABLED);
- sme3.setAvailStatus(StateManagement.NULL_VALUE);
- sme3.setStandbyStatus(StateManagement.NULL_VALUE);
- et = em.getTransaction();
- et.begin();
- em.persist(fpe1);
- em.persist(fpe2);
- em.persist(fpe3);
- em.persist(sme1);
- em.persist(sme2);
- em.persist(sme3);
- em.flush();
- et.commit();
-
- Query updateQuery = em.createQuery("UPDATE ForwardProgressEntity f "
- + "SET f.lastUpdated = :newDate "
- + "WHERE f.resourceName=:resource");
- updateQuery.setParameter("newDate", staleDate, TemporalType.TIMESTAMP);
- updateQuery.setParameter("resource", fpe1.getResourceName());
-
- et = em.getTransaction();
- et.begin();
- updateQuery.executeUpdate();
- et.commit();
-
- logger.debug("\nIntegrityMonitorTest:testStateAudit Calling im.getAllForwardProgressEntity()\n\n");
- ArrayList<ForwardProgressEntity> fpeList = im.getAllForwardProgressEntity();
-
- logger.debug("\n\n");
- logger.debug("IntegrityMonitorTest:testStateAudit:ForwardProgressEntity entries");
- for(ForwardProgressEntity myFpe : fpeList){
- logger.debug("\n ResourceName: " + myFpe.getResourceName()
- + "\n LastUpdated: " + myFpe.getLastUpdated());
- }
- logger.debug("\n\n");
-
- logger.debug("\nIntegrityMonitorTest:testStateAudit getting list of StateManagementEntity entries\n\n");
- Query query = em.createQuery("SELECT s FROM StateManagementEntity s");
- List<?> smeList = query.getResultList();
-
- logger.debug("\n\n");
- logger.debug("IntegrityMonitorTest:testStateAudit:StateManagementEntity entries");
- for(Object mySme : smeList){
- StateManagementEntity tmpSme = (StateManagementEntity) mySme;
- em.refresh(tmpSme);
- logger.debug("\n ResourceName: " + tmpSme.getResourceName()
- + "\n AdminState: " + tmpSme.getAdminState()
- + "\n OpState: " + tmpSme.getOpState()
- + "\n AvailStatus: " + tmpSme.getAvailStatus()
- + "\n StandbyStatus: " + tmpSme.getStandbyStatus()
- );
- }
- logger.debug("\n\n");
-
- logger.debug("IntegrityMonitorTest:testStateAudit: sleeping 2 sec");
- Thread.sleep(3000);
- logger.debug("IntegrityMonitorTest:testStateAudit: Awake!");
-
- logger.debug("\nIntegrityMonitorTest:testStateAudit getting list of StateManagementEntity entries\n\n");
- smeList = query.getResultList();
-
- logger.debug("\n\n");
- logger.debug("IntegrityMonitorTest:testStateAudit:StateManagementEntity entries");
- for(Object mySme : smeList){
- StateManagementEntity tmpSme = (StateManagementEntity) mySme;
- em.refresh(tmpSme);
- logger.debug("\n ResourceName: " + tmpSme.getResourceName()
- + "\n AdminState: " + tmpSme.getAdminState()
- + "\n OpState: " + tmpSme.getOpState()
- + "\n AvailStatus: " + tmpSme.getAvailStatus()
- + "\n StandbyStatus: " + tmpSme.getStandbyStatus()
- );
- }
- logger.debug("\n\n");
-
- em.refresh(sme1);
- assertTrue(sme1.getOpState().equals(StateManagement.DISABLED));
-
-
- //Now lock this IM
- StateManagement sm = im.getStateManager();
- sm.lock();
-
- //Give it time to write the db
- Thread.sleep(2000);
-
- //Put things back to their starting condition
- et = em.getTransaction();
- et.begin();
- sme1.setOpState(StateManagement.ENABLED);
- sme1.setAvailStatus(StateManagement.NULL_VALUE);
- em.persist(sme1);
- et.commit();
-
- //Now it should not update sme1
- logger.debug("IntegrityMonitorTest:testStateAudit: 2nd sleeping 2 sec");
- Thread.sleep(2000);
- logger.debug("IntegrityMonitorTest:testStateAudit: 2nd Awake!");
-
- logger.debug("\nIntegrityMonitorTest:testStateAudit 2nd getting list of StateManagementEntity entries\n\n");
- smeList = query.getResultList();
-
- logger.debug("\n\n");
- logger.debug("IntegrityMonitorTest:testStateAudit:StateManagementEntity 2nd entries");
- for(Object mySme : smeList){
- StateManagementEntity tmpSme = (StateManagementEntity) mySme;
- em.refresh(tmpSme);
- logger.debug("\n 2nd ResourceName: " + tmpSme.getResourceName()
- + "\n AdminState: " + tmpSme.getAdminState()
- + "\n OpState: " + tmpSme.getOpState()
- + "\n AvailStatus: " + tmpSme.getAvailStatus()
- + "\n StandbyStatus: " + tmpSme.getStandbyStatus()
- );
- }
- logger.debug("\n\n");
-
- em.refresh(sme1);
- assertTrue(sme1.getOpState().equals(StateManagement.ENABLED));
-
- //Now create a reason for this IM to be disabled. Add a bogus dependency
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "Bogus_Node");
- IntegrityMonitor.updateProperties(myProp);
-
- //Restart the IM
- IntegrityMonitor.deleteInstance();
- im = IntegrityMonitor.getInstance(resourceName, myProp);
-
- //Give it time to initialize and check dependencies
- logger.debug("IntegrityMonitorTest:testStateAudit: (restart) sleeping 10 sec");
- Thread.sleep(7000);
- logger.debug("IntegrityMonitorTest:testStateAudit: (restart) Awake!");
-
- //Now unlock this IM. Now it should be unlocked, but disabled due to dependency
- sm.unlock();
-
- //Now check its state
- logger.debug("\nIntegrityMonitorTest:testStateAudit (restart) getting list of StateManagementEntity entries\n\n");
- smeList = query.getResultList();
-
- logger.debug("\n\n");
- logger.debug("IntegrityMonitorTest:testStateAudit:StateManagementEntity (restart) entries");
- for(Object mySme : smeList){
- StateManagementEntity tmpSme = (StateManagementEntity) mySme;
- em.refresh(tmpSme);
- logger.debug("\n (restart) ResourceName: " + tmpSme.getResourceName()
- + "\n AdminState: " + tmpSme.getAdminState()
- + "\n OpState: " + tmpSme.getOpState()
- + "\n AvailStatus: " + tmpSme.getAvailStatus()
- + "\n StandbyStatus: " + tmpSme.getStandbyStatus()
- );
- }
- logger.debug("\n\n");
-
- em.refresh(sme1);
- assertTrue(sme1.getOpState().equals(StateManagement.ENABLED));
-
- //Now lock this IM so it will not audit when it comes back up
- sm.lock();
-
- //Remove the bogus dependency and restart it
- myProp.put(IntegrityMonitorProperties.DEPENDENCY_GROUPS, "");
- IntegrityMonitor.updateProperties(myProp);
-
- //Restart the IM
- IntegrityMonitor.deleteInstance();
- im = IntegrityMonitor.getInstance(resourceName, myProp);
-
- //Give it time to initialize and check dependencies
- logger.debug("IntegrityMonitorTest:testStateAudit: (restart2) sleeping 10 sec");
- Thread.sleep(7000);
- logger.debug("IntegrityMonitorTest:testStateAudit: (restart2) Awake!");
-
- //Now check its state
- logger.debug("\nIntegrityMonitorTest:testStateAudit (restart2) getting list of StateManagementEntity entries\n\n");
- smeList = query.getResultList();
-
- logger.debug("\n\n");
- logger.debug("IntegrityMonitorTest:testStateAudit:StateManagementEntity (restart2) entries");
- for(Object mySme : smeList){
- StateManagementEntity tmpSme = (StateManagementEntity) mySme;
- em.refresh(tmpSme);
- logger.debug("\n (restart2) ResourceName: " + tmpSme.getResourceName()
- + "\n AdminState: " + tmpSme.getAdminState()
- + "\n OpState: " + tmpSme.getOpState()
- + "\n AvailStatus: " + tmpSme.getAvailStatus()
- + "\n StandbyStatus: " + tmpSme.getStandbyStatus()
- );
- }
- logger.debug("\n\n");
-
- em.refresh(sme1);
- assertTrue(sme1.getOpState().equals(StateManagement.ENABLED));
-
- //Make this IM coldstandby
- sm.demote();
- //Give it time to write the DB
- Thread.sleep(2000);
- //unlock it
- sm.unlock();
- //Give it time to write the DB
- Thread.sleep(2000);
-
- //Now check its state
- logger.debug("\nIntegrityMonitorTest:testStateAudit (restart3) getting list of StateManagementEntity entries\n\n");
- smeList = query.getResultList();
-
- logger.debug("\n\n");
- logger.debug("IntegrityMonitorTest:testStateAudit:StateManagementEntity (restart3) entries");
- for(Object mySme : smeList){
- StateManagementEntity tmpSme = (StateManagementEntity) mySme;
- em.refresh(tmpSme);
- logger.debug("\n (restart3) ResourceName: " + tmpSme.getResourceName()
- + "\n AdminState: " + tmpSme.getAdminState()
- + "\n OpState: " + tmpSme.getOpState()
- + "\n AvailStatus: " + tmpSme.getAvailStatus()
- + "\n StandbyStatus: " + tmpSme.getStandbyStatus()
- );
- }
- logger.debug("\n\n");
-
- //sme1 should not be changed because this IM is hotstandby and cannot change its state
- em.refresh(sme1);
- assertTrue(sme1.getOpState().equals(StateManagement.ENABLED));
-
- //Now let's add sme2 to the mix
- updateQuery = em.createQuery("UPDATE ForwardProgressEntity f "
- + "SET f.lastUpdated = :newDate "
- + "WHERE f.resourceName=:resource");
- updateQuery.setParameter("newDate", staleDate, TemporalType.TIMESTAMP);
- updateQuery.setParameter("resource", fpe2.getResourceName());
-
- et = em.getTransaction();
- et.begin();
- updateQuery.executeUpdate();
- et.commit();
-
- //Finally, we want to promote this IM so it will disable sme1
- sm.promote();
- //Give it a chance to write the DB and run the audit
- logger.debug("IntegrityMonitorTest:testStateAudit: (restart4) sleeping 2 sec");
- Thread.sleep(3000);
- logger.debug("IntegrityMonitorTest:testStateAudit: (restart4) Awake!");
-
- //Now check its state
- logger.debug("\nIntegrityMonitorTest:testStateAudit (restart4) getting list of StateManagementEntity entries\n\n");
- smeList = query.getResultList();
-
- logger.debug("\n\n");
- logger.debug("IntegrityMonitorTest:testStateAudit:StateManagementEntity (restart4) entries");
- for(Object mySme : smeList){
- StateManagementEntity tmpSme = (StateManagementEntity) mySme;
- em.refresh(tmpSme);
- logger.debug("\n (restart4) ResourceName: " + tmpSme.getResourceName()
- + "\n AdminState: " + tmpSme.getAdminState()
- + "\n OpState: " + tmpSme.getOpState()
- + "\n AvailStatus: " + tmpSme.getAvailStatus()
- + "\n StandbyStatus: " + tmpSme.getStandbyStatus()
- );
- }
- logger.debug("\n\n");
-
- em.refresh(sme1);
- assertTrue(sme1.getOpState().equals(StateManagement.DISABLED));
-
- em.refresh(sme2);
- assertTrue(sme2.getOpState().equals(StateManagement.DISABLED));
-
- et = em.getTransaction();
- et.begin();
- // Make sure we leave the DB clean
- em.createQuery("DELETE FROM StateManagementEntity").executeUpdate();
- em.createQuery("DELETE FROM ResourceRegistrationEntity").executeUpdate();
- em.createQuery("DELETE FROM ForwardProgressEntity").executeUpdate();
-
- em.flush();
- et.commit();
-
- logger.debug("\nIntegrityMonitorTest: Exit testStateAudit\n\n");
- System.out.println("\n\ntestStateAudit: Exit\n\n");
- }
-}