summaryrefslogtreecommitdiffstats
path: root/feature-state-management/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'feature-state-management/src/test')
-rw-r--r--feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/Audit.java20
-rw-r--r--feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java417
-rw-r--r--feature-state-management/src/test/resources/META-INF/persistence.xml40
-rw-r--r--feature-state-management/src/test/resources/logback-test.xml45
4 files changed, 268 insertions, 254 deletions
diff --git a/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/Audit.java b/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/Audit.java
index b33171bb..943293c9 100644
--- a/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/Audit.java
+++ b/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/Audit.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* Integrity Monitor
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 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.
@@ -28,16 +28,16 @@ import javax.persistence.Id;
import javax.persistence.Table;
@Entity
-@Table(name="Audit")
+@Table(name = "Audit")
public class Audit implements Serializable {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- @Id
- @Column(name="name", length=64, unique=true)
- private String name;
-
- public Audit() {
- //default constructor
- }
+ @Id
+ @Column(name = "name", length = 64, unique = true)
+ private String name;
+
+ public Audit() {
+ //default constructor
+ }
}
diff --git a/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java b/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java
index b364ef83..5c69284f 100644
--- a/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java
+++ b/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* policy-persistence
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 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.
@@ -49,215 +49,216 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class StateManagementTest {
-
- // get an instance of logger
- private static Logger logger = LoggerFactory.getLogger(StateManagementTest.class);
-
- StateManagementFeatureAPI stateManagementFeature;
-
- /*
- * All you need to do here is create an instance of StateManagementFeature class. Then,
- * check it initial state and the state after diableFailed() and promote()
- */
-
- @BeforeClass
- public static void setUpClass() throws Exception {
-
- logger.info("setUpClass: Entering");
-
- String userDir = System.getProperty("user.dir");
- logger.debug("setUpClass: userDir=" + userDir);
- System.setProperty("com.sun.management.jmxremote.port", "9980");
- System.setProperty("com.sun.management.jmxremote.authenticate","false");
-
- initializeDb();
-
- logger.info("setUpClass: Exiting");
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
-
- }
-
- @Before
- public void setUp() throws Exception {
-
- }
-
- @After
- public void tearDown() throws Exception {
-
- }
-
- /*
- * Verifies that StateManagementFeature starts and runs successfully.
- */
-
- //@Ignore
- @Test
- public void testStateManagementOperation() throws Exception {
-
- logger.debug("\n\ntestStateManagementOperation: Entering\n\n");
-
- logger.debug("testStateManagementOperation: Reading StateManagementProperties");
-
- String configDir = "src/test/resources";
-
- DbAudit.setIsJunit(true);
-
- Properties fsmProperties = new Properties();
- fsmProperties.load(new FileInputStream(new File(
- configDir + "/feature-state-management.properties")));
- String thisPdpId = fsmProperties
- .getProperty(StateManagementProperties.NODE_NAME);
-
- StateManagementFeatureAPI stateManagementFeature = null;
- for (StateManagementFeatureAPI feature : StateManagementFeatureAPI.impl.getList())
- {
- ((PolicySessionFeatureAPI) feature).globalInit(null, configDir);
- stateManagementFeature = feature;
- logger.debug("testStateManagementOperation stateManagementFeature.getResourceName(): " + stateManagementFeature.getResourceName());
- break;
- }
- if(stateManagementFeature == null){
- String msg = "testStateManagementOperation failed to initialize. "
- + "Unable to get instance of StateManagementFeatureAPI "
- + "with resourceID: " + thisPdpId;
- logger.error(msg);
- logger.debug(msg);
- }
-
- String admin = stateManagementFeature.getAdminState();
- String oper = stateManagementFeature.getOpState();
- String avail = stateManagementFeature.getAvailStatus();
- String standby = stateManagementFeature.getStandbyStatus();
-
- logger.debug("admin = {}", admin);
- logger.debug("oper = {}", oper);
- logger.debug("avail = {}", avail);
- logger.debug("standby = {}", standby);
-
- assertTrue("Admin state not unlocked after initialization", admin.equals(StateManagement.UNLOCKED));
- assertTrue("Operational state not enabled after initialization", oper.equals(StateManagement.ENABLED));
-
- try{
- stateManagementFeature.disableFailed();
- }catch(Exception e){
- logger.error(e.getMessage());
- assertTrue(e.getMessage(), false);
- }
-
- admin = stateManagementFeature.getAdminState();
- oper = stateManagementFeature.getOpState();
- avail = stateManagementFeature.getAvailStatus();
- standby = stateManagementFeature.getStandbyStatus();
-
- logger.debug("after disableFailed()");
- logger.debug("admin = {}", admin);
- logger.debug("oper = {}", oper);
- logger.debug("avail = {}", avail);
- logger.debug("standby = {}", standby);
-
- assertTrue("Operational state not disabled after disableFailed()", oper.equals(StateManagement.DISABLED));
- assertTrue("Availability status not failed after disableFailed()", avail.equals(StateManagement.FAILED));
-
-
- try{
- stateManagementFeature.promote();
- }catch(Exception e){
- logger.debug(e.getMessage());
- }
-
- admin = stateManagementFeature.getAdminState();
- oper = stateManagementFeature.getOpState();
- avail = stateManagementFeature.getAvailStatus();
- standby = stateManagementFeature.getStandbyStatus();
-
- logger.debug("after promote()");
- logger.debug("admin = {}", admin);
- logger.debug("oper = {}", oper);
- logger.debug("avail = {}", avail);
- logger.debug("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{
- StateManagementProperties.initProperties(fsmProperties);
- 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");
- }
-
+
+ // get an instance of logger
+ private static Logger logger = LoggerFactory.getLogger(StateManagementTest.class);
+
+ StateManagementFeatureAPI stateManagementFeature;
+
+ /**
+ * Setup the class.
+ * All you need to do here is create an instance of StateManagementFeature class. Then,
+ * check it initial state and the state after diableFailed() and promote()
+ *
+ * @throws Exception exception
+ */
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+
+ logger.info("setUpClass: Entering");
+
+ String userDir = System.getProperty("user.dir");
+ logger.debug("setUpClass: userDir=" + userDir);
+ System.setProperty("com.sun.management.jmxremote.port", "9980");
+ System.setProperty("com.sun.management.jmxremote.authenticate","false");
+
+ initializeDb();
+
+ logger.info("setUpClass: Exiting");
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+
+ }
+
+ @Before
+ public void setUp() throws Exception {
+
+ }
+
+ @After
+ public void tearDown() throws Exception {
+
+ }
+
/*
+ * Verifies that StateManagementFeature starts and runs successfully.
+ */
+
+ //@Ignore
+ @Test
+ public void testStateManagementOperation() throws Exception {
+
+ logger.debug("\n\ntestStateManagementOperation: Entering\n\n");
+
+ logger.debug("testStateManagementOperation: Reading StateManagementProperties");
+
+ String configDir = "src/test/resources";
+
+ DbAudit.setIsJunit(true);
+
+ Properties fsmProperties = new Properties();
+ fsmProperties.load(new FileInputStream(new File(
+ configDir + "/feature-state-management.properties")));
+ String thisPdpId = fsmProperties
+ .getProperty(StateManagementProperties.NODE_NAME);
+
+ StateManagementFeatureAPI stateManagementFeature = null;
+ for (StateManagementFeatureAPI feature : StateManagementFeatureAPI.impl.getList()) {
+ ((PolicySessionFeatureAPI) feature).globalInit(null, configDir);
+ stateManagementFeature = feature;
+ logger.debug("testStateManagementOperation stateManagementFeature.getResourceName(): "
+ + stateManagementFeature.getResourceName());
+ break;
+ }
+ if (stateManagementFeature == null) {
+ String msg = "testStateManagementOperation failed to initialize. "
+ + "Unable to get instance of StateManagementFeatureAPI "
+ + "with resourceID: " + thisPdpId;
+ logger.error(msg);
+ logger.debug(msg);
+ }
+
+ String admin = stateManagementFeature.getAdminState();
+ String oper = stateManagementFeature.getOpState();
+ String avail = stateManagementFeature.getAvailStatus();
+ String standby = stateManagementFeature.getStandbyStatus();
+
+ logger.debug("admin = {}", admin);
+ logger.debug("oper = {}", oper);
+ logger.debug("avail = {}", avail);
+ logger.debug("standby = {}", standby);
+
+ assertTrue("Admin state not unlocked after initialization", admin.equals(StateManagement.UNLOCKED));
+ assertTrue("Operational state not enabled after initialization", oper.equals(StateManagement.ENABLED));
+
+ try {
+ stateManagementFeature.disableFailed();
+ } catch (Exception e) {
+ logger.error(e.getMessage());
+ assertTrue(e.getMessage(), false);
+ }
+
+ admin = stateManagementFeature.getAdminState();
+ oper = stateManagementFeature.getOpState();
+ avail = stateManagementFeature.getAvailStatus();
+ standby = stateManagementFeature.getStandbyStatus();
+
+ logger.debug("after disableFailed()");
+ logger.debug("admin = {}", admin);
+ logger.debug("oper = {}", oper);
+ logger.debug("avail = {}", avail);
+ logger.debug("standby = {}", standby);
+
+ assertTrue("Operational state not disabled after disableFailed()", oper.equals(StateManagement.DISABLED));
+ assertTrue("Availability status not failed after disableFailed()", avail.equals(StateManagement.FAILED));
+
+
+ try {
+ stateManagementFeature.promote();
+ } catch (Exception e) {
+ logger.debug(e.getMessage());
+ }
+
+ admin = stateManagementFeature.getAdminState();
+ oper = stateManagementFeature.getOpState();
+ avail = stateManagementFeature.getAvailStatus();
+ standby = stateManagementFeature.getStandbyStatus();
+
+ logger.debug("after promote()");
+ logger.debug("admin = {}", admin);
+ logger.debug("oper = {}", oper);
+ logger.debug("avail = {}", avail);
+ logger.debug("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 {
+ StateManagementProperties.initProperties(fsmProperties);
+ 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");
+ }
+
+ /**
* This method initializes and cleans the DB so that PDP-D will be able to
* store fresh records in the DB.
*/
-
- public static void initializeDb(){
-
- logger.debug("initializeDb: Entering");
-
- Properties cleanProperties = new Properties();
- cleanProperties.put(StateManagementProperties.DB_DRIVER,"org.h2.Driver");
- cleanProperties.put(StateManagementProperties.DB_URL, "jdbc:h2:file:./sql/statemanagement");
- cleanProperties.put(StateManagementProperties.DB_USER, "sa");
- cleanProperties.put(StateManagementProperties.DB_PWD, "");
-
- EntityManagerFactory emf = Persistence.createEntityManagerFactory("junitPU", cleanProperties);
-
- EntityManager em = emf.createEntityManager();
- // Start a transaction
- EntityTransaction et = em.getTransaction();
-
- et.begin();
-
- // Clean up the DB
- em.createQuery("Delete from StateManagementEntity").executeUpdate();
- em.createQuery("Delete from ForwardProgressEntity").executeUpdate();
- em.createQuery("Delete from ResourceRegistrationEntity").executeUpdate();
-
- // commit transaction
- et.commit();
- em.close();
-
- logger.debug("initializeDb: Exiting");
- }
+ public static void initializeDb() {
+
+ logger.debug("initializeDb: Entering");
+
+ Properties cleanProperties = new Properties();
+ cleanProperties.put(StateManagementProperties.DB_DRIVER,"org.h2.Driver");
+ cleanProperties.put(StateManagementProperties.DB_URL, "jdbc:h2:file:./sql/statemanagement");
+ cleanProperties.put(StateManagementProperties.DB_USER, "sa");
+ cleanProperties.put(StateManagementProperties.DB_PWD, "");
+
+ EntityManagerFactory emf = Persistence.createEntityManagerFactory("junitPU", cleanProperties);
+
+ EntityManager em = emf.createEntityManager();
+ // Start a transaction
+ EntityTransaction et = em.getTransaction();
+
+ et.begin();
+
+ // Clean up the DB
+ em.createQuery("Delete from StateManagementEntity").executeUpdate();
+ em.createQuery("Delete from ForwardProgressEntity").executeUpdate();
+ em.createQuery("Delete from ResourceRegistrationEntity").executeUpdate();
+
+ // commit transaction
+ et.commit();
+ em.close();
+
+ logger.debug("initializeDb: Exiting");
+ }
}
diff --git a/feature-state-management/src/test/resources/META-INF/persistence.xml b/feature-state-management/src/test/resources/META-INF/persistence.xml
index 0214b7f5..24dabe1d 100644
--- a/feature-state-management/src/test/resources/META-INF/persistence.xml
+++ b/feature-state-management/src/test/resources/META-INF/persistence.xml
@@ -3,7 +3,7 @@
============LICENSE_START=======================================================
feature-state-management
================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ Copyright (C) 2017-2018 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.
@@ -20,21 +20,31 @@
-->
<persistence version="2.1"
- xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
+ xmlns="http://xmlns.jcp.org/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
- <persistence-unit name="junitPU" transaction-type="RESOURCE_LOCAL">
- <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
- <class>org.onap.policy.common.im.jpa.StateManagementEntity</class>
- <class>org.onap.policy.common.im.jpa.ForwardProgressEntity</class>
- <class>org.onap.policy.common.im.jpa.ResourceRegistrationEntity</class>
- <class>org.onap.policy.drools.statemanagement.test.Audit</class>
- <properties>
- <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
- <property name="javax.persistence.schema-generation.scripts.action" value="drop-and-create"/>
- <property name="javax.persistence.schema-generation.scripts.create-target" value="./sql/generatedCreateStateManagement.ddl"/>
- <property name="javax.persistence.schema-generation.scripts.drop-target" value="./sql/generatedDropStateManagement.ddl"/>
+ <persistence-unit name="junitPU"
+ transaction-type="RESOURCE_LOCAL">
+ <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+ <class>org.onap.policy.common.im.jpa.StateManagementEntity</class>
+ <class>org.onap.policy.common.im.jpa.ForwardProgressEntity</class>
+ <class>org.onap.policy.common.im.jpa.ResourceRegistrationEntity</class>
+ <class>org.onap.policy.drools.statemanagement.test.Audit</class>
+ <properties>
+ <property
+ name="javax.persistence.schema-generation.database.action"
+ value="drop-and-create" />
+ <property
+ name="javax.persistence.schema-generation.scripts.action"
+ value="drop-and-create" />
+ <property
+ name="javax.persistence.schema-generation.scripts.create-target"
+ value="./sql/generatedCreateStateManagement.ddl" />
+ <property
+ name="javax.persistence.schema-generation.scripts.drop-target"
+ value="./sql/generatedDropStateManagement.ddl" />
</properties>
- </persistence-unit>
+ </persistence-unit>
</persistence>
diff --git a/feature-state-management/src/test/resources/logback-test.xml b/feature-state-management/src/test/resources/logback-test.xml
index 58cabf98..99cdaf9a 100644
--- a/feature-state-management/src/test/resources/logback-test.xml
+++ b/feature-state-management/src/test/resources/logback-test.xml
@@ -2,7 +2,7 @@
============LICENSE_START=======================================================
feature-state-management
================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ Copyright (C) 2017-2018 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.
@@ -22,26 +22,29 @@
<configuration>
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <Pattern>
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M\(%line\) - %msg%n
- </Pattern>
- </encoder>
- </appender>
- <appender name="FILE" class="ch.qos.logback.core.FileAppender">
- <file>logs/debug.log</file>
- <encoder>
- <Pattern>
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M\(%line\) - %msg%n
- </Pattern>
- </encoder>
- </appender>
-
- <root level="debug">
- <appender-ref ref="STDOUT" />
- <appender-ref ref="FILE" />
- </root>
+ <appender name="STDOUT"
+ class="ch.qos.logback.core.ConsoleAppender">
+ <encoder
+ class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M\(%line\) - %msg%n
+ </Pattern>
+ </encoder>
+ </appender>
+ <appender name="FILE"
+ class="ch.qos.logback.core.FileAppender">
+ <file>logs/debug.log</file>
+ <encoder>
+ <Pattern>
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M\(%line\) - %msg%n
+ </Pattern>
+ </encoder>
+ </appender>
+
+ <root level="debug">
+ <appender-ref ref="STDOUT" />
+ <appender-ref ref="FILE" />
+ </root>
</configuration>