aboutsummaryrefslogtreecommitdiffstats
path: root/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTest.java')
-rw-r--r--ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTest.java107
1 files changed, 59 insertions, 48 deletions
diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTest.java
index aa1e56988..99cc47c23 100644
--- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTest.java
+++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTest.java
@@ -3,6 +3,7 @@
* ONAP-PAP-REST
* ================================================================================
* Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,8 +22,10 @@
package org.onap.policy.pap.xacml.rest.components;
import static org.junit.Assert.fail;
+
import com.att.research.xacml.api.pap.PAPException;
import com.att.research.xacml.util.XACMLProperties;
+
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
@@ -30,9 +33,12 @@ import java.nio.file.Paths;
import java.util.Date;
import java.util.List;
import java.util.Properties;
+import javax.persistence.Persistence;
import javax.persistence.PersistenceException;
+
import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
+
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.tomcat.dbcp.dbcp2.BasicDataSource;
@@ -47,12 +53,12 @@ import org.junit.Test;
import org.onap.policy.common.logging.flexlogger.FlexLogger;
import org.onap.policy.common.logging.flexlogger.Logger;
import org.onap.policy.pap.xacml.rest.DataToNotifyPdp;
-import org.onap.policy.pap.xacml.rest.components.PolicyDBDao.PolicyDBDaoTestClass;
+import org.onap.policy.pap.xacml.rest.components.PolicyDbDao.PolicyDbDaoTestClass;
import org.onap.policy.pap.xacml.rest.daoimpl.CommonClassDaoImpl;
import org.onap.policy.pap.xacml.rest.policycontroller.PolicyCreation;
-import org.onap.policy.rest.XACMLRestProperties;
+import org.onap.policy.rest.XacmlRestProperties;
import org.onap.policy.rest.adapter.PolicyRestAdapter;
-import org.onap.policy.rest.dao.PolicyDBException;
+import org.onap.policy.rest.dao.PolicyDbException;
import org.onap.policy.rest.jpa.DatabaseLockEntity;
import org.onap.policy.rest.jpa.GroupEntity;
import org.onap.policy.rest.jpa.PdpEntity;
@@ -66,9 +72,9 @@ import org.springframework.orm.hibernate4.LocalSessionFactoryBuilder;
public class PolicyDBDaoTest {
private static Logger logger = FlexLogger.getLogger(PolicyDBDaoTest.class);
- static PolicyDBDaoTestClass d;
- static PolicyDBDao dbd;
- static PolicyDBDao dbd2;
+ static PolicyDbDaoTestClass d;
+ static PolicyDbDao dbd;
+ static PolicyDbDao dbd2;
private static Path repository;
static StdEngine stdEngine = null;
static SessionFactory sessionFactory = null;
@@ -78,14 +84,14 @@ public class PolicyDBDaoTest {
System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "src/test/resources/xacml.pap.properties");
try {
sessionFactory = setupH2DbDaoImpl("testdbdao");
- dbd = PolicyDBDao.getPolicyDBDaoInstance();
- dbd2 = PolicyDBDao.getPolicyDBDaoInstance();
+ dbd = PolicyDbDao.getPolicyDbDaoInstance();
+ dbd2 = PolicyDbDao.getPolicyDbDaoInstance();
} catch (Exception e) {
Assert.fail();
}
- d = PolicyDBDao.getPolicyDBDaoTestClass();
- PolicyDBDao.setJunit(true);
+ d = PolicyDbDao.getPolicyDbDaoTestClass();
+ PolicyDbDao.setJunit(true);
repository = Paths.get("src/test/resources/pdps");
stdEngine = new StdEngine(repository);
dbd.setPapEngine(stdEngine);
@@ -101,6 +107,8 @@ public class PolicyDBDaoTest {
}
public static SessionFactory setupH2DbDaoImpl(String dbName) {
+ setUpAuditDb();
+
System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "src/test/resources/xacml.pap.properties");
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("org.h2.Driver");
@@ -118,7 +126,7 @@ public class PolicyDBDaoTest {
sessionBuilder.addProperties(properties);
SessionFactory sessionFac = sessionBuilder.buildSessionFactory();
- new PolicyDBDao(sessionFac);
+ new PolicyDbDao(sessionFac);
PolicyDbDaoTransactionInstance.setJunit(true);
new PolicyDbDaoTransactionInstance(sessionFac);
CommonClassDaoImpl.setSessionfactory(sessionFac);
@@ -151,6 +159,16 @@ public class PolicyDBDaoTest {
return sessionFac;
}
+ private static void setUpAuditDb() {
+ Properties properties = new Properties();
+ properties.put(XacmlRestProperties.PROP_PAP_DB_DRIVER, "org.h2.Driver");
+ properties.put(XacmlRestProperties.PROP_PAP_DB_URL, "jdbc:h2:file:./sql/xacmlTest");
+ properties.put(XacmlRestProperties.PROP_PAP_DB_USER, "sa");
+ properties.put(XacmlRestProperties.PROP_PAP_DB_PASSWORD, "");
+
+ // create the DB and then close it
+ Persistence.createEntityManagerFactory("testPapPU", properties).close();
+ }
@Test
public void testGetConfigFile() {
@@ -164,7 +182,7 @@ public class PolicyDBDaoTest {
}
@Test
- public void getPolicyNameAndVersionFromPolicyFileNameTest() throws PolicyDBException {
+ public void getPolicyNameAndVersionFromPolicyFileNameTest() throws PolicyDbException {
String policyName = "com.Decision_testname.1.xml";
String[] expectedNameAndVersion = new String[2];
expectedNameAndVersion[0] = "com.Decision_testname";
@@ -233,7 +251,7 @@ public class PolicyDBDaoTest {
fail();
}
- PolicyDBDaoTransaction transaction = dbd.getNewTransaction();
+ PolicyDbDaoTransaction transaction = dbd.getNewTransaction();
try {
transaction.createPolicy(policyObject, "testuser1");
transaction.commitTransaction();
@@ -275,10 +293,10 @@ public class PolicyDBDaoTest {
@Test
public void groupTransactions() {
- PolicyDBDaoTransaction group = dbd.getNewTransaction();
+ PolicyDbDaoTransaction group = dbd.getNewTransaction();
String groupName = "test group 1";
try {
- group.createGroup(PolicyDBDao.createNewPDPGroupId(groupName), groupName, "this is a test group",
+ group.createGroup(PolicyDbDao.createNewPdpGroupId(groupName), groupName, "this is a test group",
"testuser");
group.commitTransaction();
} catch (Exception e) {
@@ -290,18 +308,18 @@ public class PolicyDBDaoTest {
session.getTransaction().begin();
Query getGroup =
session.createQuery("SELECT g FROM GroupEntity g WHERE g.groupId=:groupId AND g.deleted=:deleted");
- getGroup.setParameter("groupId", PolicyDBDao.createNewPDPGroupId(groupName));
+ getGroup.setParameter("groupId", PolicyDbDao.createNewPdpGroupId(groupName));
getGroup.setParameter("deleted", false);
List<?> groups = getGroup.list();
GroupEntity groupEntity = (GroupEntity) groups.get(0);
- Assert.assertEquals(groupName, groupEntity.getgroupName());
+ Assert.assertEquals(groupName, groupEntity.getGroupName());
Assert.assertEquals("this is a test group", groupEntity.getDescription());
session.getTransaction().commit();
session.close();
group = dbd.getNewTransaction();
try {
- OnapPDPGroup groupToDelete = new StdPDPGroup(PolicyDBDao.createNewPDPGroupId(groupName), Paths.get("/"));
+ OnapPDPGroup groupToDelete = new StdPDPGroup(PolicyDbDao.createNewPdpGroupId(groupName), Paths.get("/"));
group.deleteGroup(groupToDelete, null, "testuser");
group.commitTransaction();
} catch (Exception e) {
@@ -313,7 +331,7 @@ public class PolicyDBDaoTest {
session2.getTransaction().begin();
Query getGroup2 =
session2.createQuery("SELECT g FROM GroupEntity g WHERE g.groupId=:groupId AND g.deleted=:deleted");
- getGroup2.setParameter("groupId", PolicyDBDao.createNewPDPGroupId(groupName));
+ getGroup2.setParameter("groupId", PolicyDbDao.createNewPdpGroupId(groupName));
getGroup2.setParameter("deleted", false);
List<?> groups2 = getGroup2.list();
groups2 = getGroup2.list();
@@ -324,11 +342,10 @@ public class PolicyDBDaoTest {
session2.getTransaction().commit();
session2.close();
-
// add a pdp to a group
group = dbd.getNewTransaction();
try {
- group.createGroup(PolicyDBDao.createNewPDPGroupId(groupName), groupName, "test group", "testuser");
+ group.createGroup(PolicyDbDao.createNewPdpGroupId(groupName), groupName, "test group", "testuser");
group.commitTransaction();
} catch (Exception e) {
group.rollbackTransaction();
@@ -338,7 +355,7 @@ public class PolicyDBDaoTest {
group = dbd.getNewTransaction();
try {
- group.addPdpToGroup("http://localhost:4344/pdp/", PolicyDBDao.createNewPDPGroupId(groupName), "primary",
+ group.addPdpToGroup("http://localhost:4344/pdp/", PolicyDbDao.createNewPdpGroupId(groupName), "primary",
"the main pdp", 3232, "testuser");
group.commitTransaction();
} catch (Exception e) {
@@ -358,12 +375,11 @@ public class PolicyDBDaoTest {
Assert.fail();
}
PdpEntity pdp = (PdpEntity) pdps.get(0);
- Assert.assertEquals(groupName, pdp.getGroup().getgroupName());
+ Assert.assertEquals(groupName, pdp.getGroup().getGroupName());
Assert.assertEquals(pdp.getPdpName(), "primary");
session3.getTransaction().commit();
session3.close();
-
group = dbd.getNewTransaction();
try {
group.removePdpFromGroup("http://localhost:4344/pdp/", "testuser");
@@ -391,7 +407,7 @@ public class PolicyDBDaoTest {
// add some pdps to groups
group = dbd.getNewTransaction();
try {
- group.createGroup(PolicyDBDao.createNewPDPGroupId("testgroup1"), "testgroup1", "test group", "testuser");
+ group.createGroup(PolicyDbDao.createNewPdpGroupId("testgroup1"), "testgroup1", "test group", "testuser");
group.commitTransaction();
} catch (Exception e) {
group.rollbackTransaction();
@@ -400,7 +416,7 @@ public class PolicyDBDaoTest {
}
group = dbd.getNewTransaction();
try {
- group.createGroup(PolicyDBDao.createNewPDPGroupId("testgroup2"), "testgroup2", "test group", "testuser");
+ group.createGroup(PolicyDbDao.createNewPdpGroupId("testgroup2"), "testgroup2", "test group", "testuser");
group.commitTransaction();
} catch (Exception e) {
group.rollbackTransaction();
@@ -410,7 +426,7 @@ public class PolicyDBDaoTest {
group = dbd.getNewTransaction();
try {
- group.addPdpToGroup("http://localhost:4344/pdp/", PolicyDBDao.createNewPDPGroupId("testgroup1"), "primary",
+ group.addPdpToGroup("http://localhost:4344/pdp/", PolicyDbDao.createNewPdpGroupId("testgroup1"), "primary",
"the main pdp", 3232, "testuser");
group.commitTransaction();
} catch (Exception e) {
@@ -420,7 +436,7 @@ public class PolicyDBDaoTest {
}
group = dbd.getNewTransaction();
try {
- group.addPdpToGroup("http://localhost:4345/pdp/", PolicyDBDao.createNewPDPGroupId("testgroup1"),
+ group.addPdpToGroup("http://localhost:4345/pdp/", PolicyDbDao.createNewPdpGroupId("testgroup1"),
"secondary", "the second pdp", 3233, "testuser");
group.commitTransaction();
} catch (Exception e) {
@@ -435,17 +451,16 @@ public class PolicyDBDaoTest {
getPdp3.setParameter("deleted", false);
List<?> pdps3 = getPdp3.list();
for (Object obj : pdps3) {
- Assert.assertEquals("testgroup1", ((PdpEntity) obj).getGroup().getgroupName());
+ Assert.assertEquals("testgroup1", ((PdpEntity) obj).getGroup().getGroupName());
}
session5.getTransaction().commit();
session5.close();
-
group = dbd.getNewTransaction();
try {
- OnapPDPGroup groupToDelete = new StdPDPGroup(PolicyDBDao.createNewPDPGroupId("testgroup1"), Paths.get("/"));
- OnapPDPGroup groupToMoveTo = new StdPDPGroup(PolicyDBDao.createNewPDPGroupId("testgroup2"), Paths.get("/"));
+ OnapPDPGroup groupToDelete = new StdPDPGroup(PolicyDbDao.createNewPdpGroupId("testgroup1"), Paths.get("/"));
+ OnapPDPGroup groupToMoveTo = new StdPDPGroup(PolicyDbDao.createNewPdpGroupId("testgroup2"), Paths.get("/"));
group.deleteGroup(groupToDelete, groupToMoveTo, "testuser");
group.commitTransaction();
} catch (Exception e) {
@@ -475,21 +490,20 @@ public class PolicyDBDaoTest {
getPdp4.setParameter("deleted", false);
List<?> pdps4 = getPdp4.list();
for (Object obj : pdps4) {
- Assert.assertEquals("testgroup2", ((PdpEntity) obj).getGroup().getgroupName());
+ Assert.assertEquals("testgroup2", ((PdpEntity) obj).getGroup().getGroupName());
}
session7.getTransaction().commit();
session7.close();
-
group = dbd.getNewTransaction();
try {
- OnapPDPGroup groupToDelete = new StdPDPGroup(PolicyDBDao.createNewPDPGroupId("testgroup2"), Paths.get("/"));
+ OnapPDPGroup groupToDelete = new StdPDPGroup(PolicyDbDao.createNewPdpGroupId("testgroup2"), Paths.get("/"));
OnapPDPGroup groupToMoveTo = null;
group.deleteGroup(groupToDelete, groupToMoveTo, "testuser");
group.commitTransaction();
Assert.fail();
- } catch (PolicyDBException pe) {
+ } catch (PolicyDbException pe) {
// good, can't delete group with pdps
group.rollbackTransaction();
} catch (Exception e) {
@@ -550,12 +564,12 @@ public class PolicyDBDaoTest {
+ "******************************\n\n");
}
- PolicyDBDaoTransaction t = dbd.getNewTransaction();
+ PolicyDbDaoTransaction t = dbd.getNewTransaction();
Assert.assertTrue(t.isTransactionOpen());
try {
// Add 1000 ms to the timeout just to be sure it actually times out
int sleepTime =
- Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_TRANS_TIMEOUT)) + 1000;
+ Integer.parseInt(XACMLProperties.getProperty(XacmlRestProperties.PROP_PAP_TRANS_TIMEOUT)) + 1000;
if (logger.isDebugEnabled()) {
Date date = new java.util.Date();
logger.debug("\n\nPolicyDBDaoTest.threadingStabilityTest() " + "\n sleepTime = " + sleepTime
@@ -573,13 +587,12 @@ public class PolicyDBDaoTest {
}
Assert.assertFalse(t.isTransactionOpen());
-
if (logger.isDebugEnabled()) {
Date date = new java.util.Date();
logger.debug("\n\nPolicyDBDaoTest.threadingStabilityTest() " + "\n a = dbd.getNewTransaction() "
+ "\n TimeStamp = " + date.getTime() + "\n\n");
}
- PolicyDBDaoTransaction a = dbd.getNewTransaction();
+ PolicyDbDaoTransaction a = dbd.getNewTransaction();
if (logger.isDebugEnabled()) {
Date date = new java.util.Date();
logger.debug(
@@ -591,7 +604,7 @@ public class PolicyDBDaoTest {
try {
// Add 1000 ms to the timeout just to be sure it actually times out
int sleepTime =
- Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_TRANS_TIMEOUT)) + 1000;
+ Integer.parseInt(XACMLProperties.getProperty(XacmlRestProperties.PROP_PAP_TRANS_TIMEOUT)) + 1000;
if (logger.isDebugEnabled()) {
Date date = new java.util.Date();
logger.debug("\n\nPolicyDBDaoTest.threadingStabilityTest() " + "\n sleepTime = " + sleepTime
@@ -606,7 +619,7 @@ public class PolicyDBDaoTest {
logger.debug("\n\nPolicyDBDaoTest.threadingStabilityTest() " + "\n b = dbd.getNewTransaction() "
+ "\n TimeStamp = " + date.getTime() + "\n\n");
}
- PolicyDBDaoTransaction b = dbd.getNewTransaction();
+ PolicyDbDaoTransaction b = dbd.getNewTransaction();
if (logger.isDebugEnabled()) {
Date date = new java.util.Date();
logger.debug(
@@ -623,14 +636,12 @@ public class PolicyDBDaoTest {
Assert.assertTrue(b.isTransactionOpen());
b.close();
-
-
// Now let's test the transaction wait time timeout. Shorten the wait time to 1000 ms
- System.setProperty(XACMLRestProperties.PROP_PAP_TRANS_WAIT, "1000");
+ System.setProperty(XacmlRestProperties.PROP_PAP_TRANS_WAIT, "1000");
// And let's lengthen the transaction timeout to 5000 ms
- System.setProperty(XACMLRestProperties.PROP_PAP_TRANS_TIMEOUT, "5000");
+ System.setProperty(XacmlRestProperties.PROP_PAP_TRANS_TIMEOUT, "5000");
// get a transacton
- PolicyDBDaoTransaction t1 = dbd.getNewTransaction();
+ PolicyDbDaoTransaction t1 = dbd.getNewTransaction();
if (logger.isDebugEnabled()) {
Date date = new java.util.Date();
logger.debug(
@@ -643,7 +654,7 @@ public class PolicyDBDaoTest {
// but will collide at the DB. Remember that the wait time is only 1000 ms
try {
// Now the 2nd transaction has a wait timeout in 1000 ms
- PolicyDBDaoTransaction t2 = dbd2.getNewTransaction();
+ PolicyDbDaoTransaction t2 = dbd2.getNewTransaction();
/*
* Give it plenty of time to time out the second transaction It will actually hang right here until
* it either gets the lock from the DB or the request for the DB lock times out. The timers are very