Reapply SQL output feature-state-mgt 63/102363/2
authorJim Hahn <jrh3@att.com>
Wed, 26 Feb 2020 05:46:09 +0000 (00:46 -0500)
committerJim Hahn <jrh3@att.com>
Wed, 26 Feb 2020 05:52:51 +0000 (00:52 -0500)
Just need to keep the memory DB open until the test completes.

Issue-ID: POLICY-2381
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I7833a66d86ea12e46460b37f695c8b4d938a9077

.gitignore
feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java
feature-state-management/src/test/resources/META-INF/persistence.xml
feature-state-management/src/test/resources/feature-state-management.properties

index 8b15fc5..123c6e2 100644 (file)
@@ -12,7 +12,6 @@
 target/
 */config/
 */logs/
-*/sql/
 */testingLogs/
 **/*.iml
 .checkstyle
index 8612506..f6c42b5 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * policy-persistence
  * ================================================================================
- * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2020 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.
@@ -54,6 +54,9 @@ public class StateManagementTest {
     // get an instance of logger
     private static Logger  logger = LoggerFactory.getLogger(StateManagementTest.class);
 
+    private static EntityManagerFactory emf;
+    private static EntityManager em;
+
     StateManagementFeatureApi stateManagementFeature;
 
     /**
@@ -80,7 +83,8 @@ public class StateManagementTest {
 
     @AfterClass
     public static void tearDownClass() throws Exception {
-
+        em.close();
+        emf.close();
     }
 
     @Before
@@ -239,13 +243,13 @@ public class StateManagementTest {
 
         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_URL, "jdbc:h2:mem:statemanagement");
         cleanProperties.put(StateManagementProperties.DB_USER, "sa");
         cleanProperties.put(StateManagementProperties.DB_PWD, "");
 
-        EntityManagerFactory emf = Persistence.createEntityManagerFactory("junitPU", cleanProperties);
+        emf = Persistence.createEntityManagerFactory("junitPU", cleanProperties);
 
-        EntityManager em = emf.createEntityManager();
+        em = emf.createEntityManager();
         // Start a transaction
         EntityTransaction et = em.getTransaction();
 
@@ -258,7 +262,6 @@ public class StateManagementTest {
 
         // commit transaction
         et.commit();
-        em.close();
 
         logger.debug("initializeDb: Exiting");
     }
index 24dabe1..c96d8b6 100644 (file)
@@ -3,14 +3,14 @@
   ============LICENSE_START=======================================================
   feature-state-management
   ================================================================================
-  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2017-2018, 2020 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.
                 value="drop-and-create" />
             <property
                 name="javax.persistence.schema-generation.scripts.create-target"
-                value="./sql/generatedCreateStateManagement.ddl" />
+                value="target/classes/META-INF/generatedCreateStateManagement.ddl" />
             <property
                 name="javax.persistence.schema-generation.scripts.drop-target"
-                value="./sql/generatedDropStateManagement.ddl" />
+                value="target/classes/META-INF/generatedDropStateManagement.ddl" />
         </properties>
     </persistence-unit>
 
index 56d18b5..5e1864a 100644 (file)
@@ -2,14 +2,14 @@
 # ============LICENSE_START=======================================================
 # feature-state-management
 # ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017, 2020 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.
@@ -20,7 +20,7 @@
 
 # DB properties
 javax.persistence.jdbc.driver = org.h2.Driver
-javax.persistence.jdbc.url  = jdbc:h2:file:./sql/statemanagement
+javax.persistence.jdbc.url  = jdbc:h2:mem:statemanagement
 javax.persistence.jdbc.user = sa
 javax.persistence.jdbc.password =
 
@@ -37,19 +37,19 @@ http.server.services.TEST.port=9981
 
 # Must be unique across the system
 resource.name=pdp1
-# Name of the site in which this node is hosted 
+# Name of the site in which this node is hosted
 site_name = pdp_1
 # Forward Progress Monitor update interval seconds
 fp_monitor_interval = 30
-# Failed counter threshold before failover 
+# Failed counter threshold before failover
 failed_counter_threshold = 3
 # Interval between test transactions when no traffic seconds
 test_trans_interval = 10
-# Interval between writes of the FPC to the DB seconds 
+# Interval between writes of the FPC to the DB seconds
 write_fpc_interval = 5
-# Node type Note: Make sure you don't leave any trailing spaces, or you'll get an 'invalid node type' error! 
+# Node type Note: Make sure you don't leave any trailing spaces, or you'll get an 'invalid node type' error!
 node_type = pdp_drools
-# Dependency groups are groups of resources upon which a node operational state is dependent upon. 
+# Dependency groups are groups of resources upon which a node operational state is dependent upon.
 # Each group is a comma-separated list of resource names and groups are separated by a semicolon.  For example:
 # dependency_groups=site_1.astra_1,site_1.astra_2;site_1.brms_1,site_1.brms_2;site_1.logparser_1;site_1.pypdp_1
 dependency_groups=
@@ -58,14 +58,14 @@ dependency_groups=
 test_via_jmx=true
 # This is the max number of seconds beyond which a non incrementing FPC is considered a failure
 max_fpc_update_interval=120
-# Run the state audit every 60 seconds (60000 ms).  The state audit finds stale DB entries in the 
-# forwardprogressentity table and marks the node as disabled/failed in the statemanagemententity 
+# Run the state audit every 60 seconds (60000 ms).  The state audit finds stale DB entries in the
+# forwardprogressentity table and marks the node as disabled/failed in the statemanagemententity
 # table. NOTE! It will only run on nodes that have a standbystatus = providingservice.
 # A value of <= 0 will turn off the state audit.
 state_audit_interval_ms=-1000
-# The refresh state audit is run every (default) 10 minutes (600000 ms) to clean up any state corruption in the 
+# The refresh state audit is run every (default) 10 minutes (600000 ms) to clean up any state corruption in the
 # DB statemanagemententity table. It only refreshes the DB state entry for the local node.  That is, it does not
-# refresh the state of any other nodes.  A value <= 0 will turn the audit off. Any other value will override 
+# refresh the state of any other nodes.  A value <= 0 will turn the audit off. Any other value will override
 # the default of 600000 ms.
 refresh_state_audit_interval_ms=-1000
 
@@ -77,7 +77,7 @@ repository.audit.ignore.errors=true
 # Timeout in seconds
 repository.audit.timeout=5
 repository.audit.id=statemanagement
-repository.audit.url=jdbc:h2:file:./sql/statemanagement
+repository.audit.url=jdbc:h2:mem:statemanagement
 repository.audit.username=sa
 repository.audit.password=