Merge "Incr State Mgmt Code Coverage"
[policy/drools-pdp.git] / feature-state-management / src / test / java / org / onap / policy / drools / statemanagement / test / StateManagementTest.java
index 1cd6178..ba7ce3e 100644 (file)
@@ -24,12 +24,14 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.IOException;
 import java.util.Properties;
 
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.EntityTransaction;
 import javax.persistence.Persistence;
+import javax.ws.rs.core.Response;
 
 import org.junit.After;
 import org.junit.AfterClass;
@@ -38,6 +40,9 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.onap.policy.common.im.StateManagement;
 import org.onap.policy.drools.core.PolicySessionFeatureAPI;
+import org.onap.policy.drools.statemanagement.DbAudit;
+import org.onap.policy.drools.statemanagement.IntegrityMonitorRestManager;
+import org.onap.policy.drools.statemanagement.RepositoryAudit;
 import org.onap.policy.drools.statemanagement.StateManagementFeatureAPI;
 import org.onap.policy.drools.statemanagement.StateManagementProperties;
 import org.slf4j.Logger;
@@ -49,10 +54,10 @@ public class StateManagementTest {
        private static Logger  logger = LoggerFactory.getLogger(StateManagementTest.class);     
        
        /*
-        * Sleep 5 seconds after each test to allow interrupt (shutdown) recovery.
+        * Sleep after each test to allow interrupt (shutdown) recovery.
         */
         
-       private long interruptRecoveryTime = 1000;
+       private long interruptRecoveryTime = 1500L;
        
        StateManagementFeatureAPI stateManagementFeature;
        
@@ -90,7 +95,6 @@ public class StateManagementTest {
        public void tearDown() throws Exception {
                
        }
-
        
        /*
         * Verifies that StateManagementFeature starts and runs successfully.
@@ -106,6 +110,8 @@ public class StateManagementTest {
 
                String configDir = "src/test/resources";
                
+               DbAudit.isJunit = true;
+               
                Properties fsmProperties = new Properties();
                fsmProperties.load(new FileInputStream(new File(
                                configDir + "/feature-state-management.properties")));
@@ -136,13 +142,9 @@ public class StateManagementTest {
                String standby = stateManagementFeature.getStandbyStatus();
                
                logger.debug("admin = {}", admin);
-               System.out.println("admin = " + admin);
                logger.debug("oper = {}", oper);
-               System.out.println("oper = " + oper);
                logger.debug("avail = {}", avail);
-               System.out.println("avail = " + avail);
                logger.debug("standby = {}", standby);
-               System.out.println("standby = " + standby);
                
                assertTrue("Admin state not unlocked after initialization", admin.equals(StateManagement.UNLOCKED));
                assertTrue("Operational state not enabled after initialization", oper.equals(StateManagement.ENABLED));
@@ -151,7 +153,6 @@ public class StateManagementTest {
                        stateManagementFeature.disableFailed();
                }catch(Exception e){
                        logger.error(e.getMessage());
-                       System.out.println(e.getMessage());
                        assertTrue(e.getMessage(), false);
                }
                
@@ -163,15 +164,10 @@ public class StateManagementTest {
                standby = stateManagementFeature.getStandbyStatus();
                
                logger.debug("after disableFailed()");
-               System.out.println("after disableFailed()");
                logger.debug("admin = {}", admin);
-               System.out.println("admin = " + admin);
                logger.debug("oper = {}", oper);
-               System.out.println("oper = " + oper);
                logger.debug("avail = {}", avail);
-               System.out.println("avail = " + avail);
                logger.debug("standby = {}", standby);
-               System.out.println("standby = " + standby);
                
                assertTrue("Operational state not disabled after disableFailed()", oper.equals(StateManagement.DISABLED));
                assertTrue("Availability status not failed after disableFailed()", avail.equals(StateManagement.FAILED));
@@ -181,7 +177,6 @@ public class StateManagementTest {
                        stateManagementFeature.promote();
                }catch(Exception e){
                        logger.debug(e.getMessage());
-                       System.out.println(e.getMessage());
                }
                
                Thread.sleep(interruptRecoveryTime);
@@ -192,18 +187,53 @@ public class StateManagementTest {
                standby = stateManagementFeature.getStandbyStatus();
                
                logger.debug("after promote()");
-               System.out.println("after promote()");
                logger.debug("admin = {}", admin);
-               System.out.println("admin = " + admin);
                logger.debug("oper = {}", oper);
-               System.out.println("oper = " + oper);
                logger.debug("avail = {}", avail);
-               System.out.println("avail = " + avail);
                logger.debug("standby = {}", standby);
-               System.out.println("standby = " + standby);
 
                assertTrue("Standby status not coldstandby after promote()", standby.equals(StateManagement.COLD_STANDBY));
-                               
+
+               /**************Repository Audit Test**************/
+               logger.debug("\n\ntestStateManagementOperation: Repository Audit\n\n");
+               try{
+                       RepositoryAudit repositoryAudit = (RepositoryAudit) RepositoryAudit.getInstance();
+                       repositoryAudit.invoke(fsmProperties);
+               
+                       //Should not throw an IOException in Linux Foundation env 
+                       assertTrue(true);
+               }catch(IOException e){
+                       //Note: this catch is here because in a local environment mvn will not run in
+                       //in the temp directory
+                       logger.debug("testSubsytemTest RepositoryAudit IOException", e);
+               }catch(InterruptedException e){
+                       assertTrue(false);
+                       logger.debug("testSubsytemTest RepositoryAudit InterruptedException", e);
+               }
+
+               /*****************Db Audit Test***************/
+               logger.debug("\n\ntestStateManagementOperation: DB Audit\n\n");
+
+               try{
+                       DbAudit dbAudit = (DbAudit) DbAudit.getInstance();
+                       dbAudit.invoke(fsmProperties);
+               
+                       assertTrue(true);
+               }catch(Exception e){
+                       assertTrue(false);
+                       logger.debug("testSubsytemTest DbAudit exception", e);
+               }
+
+               /*************IntegrityMonitorRestManager Test*************/
+               logger.debug("\n\ntestStateManagementOperation: IntegrityMonitorRestManager\n\n");
+               IntegrityMonitorRestManager integrityMonitorRestManager = new IntegrityMonitorRestManager();
+               
+               Response response = integrityMonitorRestManager.test();
+               logger.debug("\n\nIntegrityMonitorRestManager response: " + response.toString());
+               
+               assertTrue(response.toString().contains("status=500"));
+
+               //All done
                logger.debug("\n\ntestStateManagementOperation: Exiting\n\n");
        }