X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=blobdiff_plain;f=ONAP-PAP-REST%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpap%2Fxacml%2Frest%2Fcomponents%2FPolicyDBDaoTest.java;h=99cc47c23f0753c1a2be8b11f8033ba5c5f47c72;hp=e4da430a57c75532baf67341a8413dbf9daa3244;hb=0c20d1c294fe146e1018f14b07a8d861c29fe527;hpb=86554962a34c4e7c16821f91a12242a4ffb36368 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 e4da430a5..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,12 +33,12 @@ import java.nio.file.Paths; import java.util.Date; import java.util.List; import java.util.Properties; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; 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; @@ -50,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; @@ -69,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; @@ -81,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); @@ -123,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); @@ -156,13 +159,12 @@ 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, ""); + 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(); @@ -180,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"; @@ -249,7 +251,7 @@ public class PolicyDBDaoTest { fail(); } - PolicyDBDaoTransaction transaction = dbd.getNewTransaction(); + PolicyDbDaoTransaction transaction = dbd.getNewTransaction(); try { transaction.createPolicy(policyObject, "testuser1"); transaction.commitTransaction(); @@ -291,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) { @@ -306,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) { @@ -329,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(); @@ -340,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(); @@ -354,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) { @@ -374,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"); @@ -407,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(); @@ -416,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(); @@ -426,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) { @@ -436,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) { @@ -451,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) { @@ -491,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) { @@ -566,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 @@ -589,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( @@ -607,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 @@ -622,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( @@ -639,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( @@ -659,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