X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=blobdiff_plain;f=POLICY-SDK-APP%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2FdaoImp%2FCommonClassDaoImplTest.java;h=dbe49c7c389e6ad5695513c1c2782d2e77ed0983;hp=e7212f1099037feabbb913d87e26b9271962f288;hb=36680bfbbc54da8c112a0b4cfc8a554b34c20e25;hpb=c88d4cc4e21e5659f0ab57a38f3ba29ab4b3c044 diff --git a/POLICY-SDK-APP/src/test/java/org/onap/policy/daoImp/CommonClassDaoImplTest.java b/POLICY-SDK-APP/src/test/java/org/onap/policy/daoImp/CommonClassDaoImplTest.java index e7212f109..dbe49c7c3 100644 --- a/POLICY-SDK-APP/src/test/java/org/onap/policy/daoImp/CommonClassDaoImplTest.java +++ b/POLICY-SDK-APP/src/test/java/org/onap/policy/daoImp/CommonClassDaoImplTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP Policy Engine * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Modifications Copyright (C) 2019 Samsung * ================================================================================ @@ -24,8 +24,13 @@ package org.onap.policy.daoImp; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.when; + import java.io.File; import java.util.ArrayList; import java.util.Date; @@ -34,10 +39,14 @@ import java.util.Properties; import javax.script.SimpleBindings; import org.apache.tomcat.dbcp.dbcp2.BasicDataSource; import org.h2.tools.Server; +import org.hibernate.Criteria; +import org.hibernate.Session; import org.hibernate.SessionFactory; +import org.hibernate.Transaction; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.mockito.Mockito; import org.onap.policy.common.logging.flexlogger.FlexLogger; import org.onap.policy.common.logging.flexlogger.Logger; import org.onap.policy.conf.HibernateSession; @@ -46,7 +55,7 @@ import org.onap.policy.rest.jpa.OnapName; import org.onap.policy.rest.jpa.PolicyEntity; import org.onap.policy.rest.jpa.PolicyRoles; import org.onap.policy.rest.jpa.PolicyVersion; -import org.onap.policy.rest.jpa.SystemLogDB; +import org.onap.policy.rest.jpa.SystemLogDb; import org.onap.policy.rest.jpa.UserInfo; import org.onap.policy.rest.jpa.WatchPolicyNotificationTable; import org.springframework.orm.hibernate4.LocalSessionFactoryBuilder; @@ -61,6 +70,11 @@ public class CommonClassDaoImplTest { Server server; CommonClassDaoImpl commonClassDao; + /** + * setUp. + * + * @throws Exception Exception + */ @Before public void setUp() throws Exception { try { @@ -87,13 +101,13 @@ public class CommonClassDaoImplTest { CommonClassDaoImpl.setSessionfactory(sessionFactory); PolicyController.setLogTableLimit("1"); HibernateSession.setSession(sessionFactory); - SystemLogDB data1 = new SystemLogDB(); + SystemLogDb data1 = new SystemLogDb(); data1.setDate(new Date()); data1.setLogtype("INFO"); data1.setRemote("Test"); data1.setSystem("Test"); data1.setType("Test"); - SystemLogDB data2 = new SystemLogDB(); + SystemLogDb data2 = new SystemLogDb(); data2.setDate(new Date()); data2.setLogtype("error"); data2.setRemote("Test"); @@ -122,13 +136,13 @@ public class CommonClassDaoImplTest { userinfo.setUserName("Test"); commonClassDao.save(userinfo); OnapName onapName = new OnapName(); - onapName.setOnapName("Test"); + onapName.setName("Test"); onapName.setUserCreatedBy(userinfo); onapName.setUserModifiedBy(userinfo); onapName.setModifiedDate(new Date()); commonClassDao.save(onapName); - List list = commonClassDao.getData(OnapName.class); + List list = commonClassDao.getData(OnapName.class); assertTrue(list.size() == 1); logger.debug(list.size()); logger.debug(list.get(0)); @@ -145,18 +159,17 @@ public class CommonClassDaoImplTest { try { // Add data UserInfo userinfo = new UserInfo(); - String loginId_userName = "Test"; - userinfo.setUserLoginId(loginId_userName); - userinfo.setUserName(loginId_userName); + String loginIdUserName = "Test"; + userinfo.setUserLoginId(loginIdUserName); + userinfo.setUserName(loginIdUserName); commonClassDao.save(userinfo); - List dataCur = - commonClassDao.getDataByQuery("from UserInfo", new SimpleBindings()); + List dataCur = commonClassDao.getDataByQuery("from UserInfo", new SimpleBindings()); assertEquals(1, dataCur.size()); UserInfo cur = (UserInfo) dataCur.get(0); - assertEquals(loginId_userName, cur.getUserLoginId()); - assertEquals(loginId_userName, cur.getUserName()); + assertEquals(loginIdUserName, cur.getUserLoginId()); + assertEquals(loginIdUserName, cur.getUserName()); assertFalse(dataCur.isEmpty()); @@ -183,13 +196,12 @@ public class CommonClassDaoImplTest { pe.setCreatedBy("Test"); commonClassDao.save(pe); - List dataCur = - commonClassDao.getDataByQuery("from PolicyEntity", new SimpleBindings()); + List dataCur = commonClassDao.getDataByQuery("from PolicyEntity", new SimpleBindings()); assertTrue(1 == dataCur.size()); assertTrue(dataCur.get(0) instanceof PolicyEntity); assertEquals(name, ((PolicyEntity) dataCur.get(0)).getPolicyName()); - assertEquals(pe, ((PolicyEntity) dataCur.get(0))); + assertEquals(pe, (dataCur.get(0))); } catch (Exception e) { logger.debug("Exception Occured" + e); @@ -225,10 +237,10 @@ public class CommonClassDaoImplTest { String query = "From PolicyVersion where policy_name like :scope and id > 0"; SimpleBindings params = new SimpleBindings(); params.put("scope", scope); - List dataCur = commonClassDao.getDataByQuery(query, params); + List dataCur = commonClassDao.getDataByQuery(query, params); assertTrue(1 == dataCur.size()); - assertEquals(pv, (PolicyVersion) dataCur.get(0)); + assertEquals(pv, dataCur.get(0)); } catch (Exception e) { logger.debug("Exception Occured" + e); @@ -243,11 +255,11 @@ public class CommonClassDaoImplTest { try { // Add data WatchPolicyNotificationTable watch = new WatchPolicyNotificationTable(); - String policyFileName = "banana"; watch.setLoginIds("Test"); watch.setPolicyName("bananaWatch"); commonClassDao.save(watch); + String policyFileName = "banana"; if (policyFileName.contains("/")) { policyFileName = policyFileName.substring(0, policyFileName.indexOf("/")); policyFileName = policyFileName.replace("/", File.separator); @@ -262,12 +274,12 @@ public class CommonClassDaoImplTest { String query = "from WatchPolicyNotificationTable where policyName like:policyFileName"; SimpleBindings params = new SimpleBindings(); params.put("policyFileName", policyFileName); - List dataCur = commonClassDao.getDataByQuery(query, params); + List dataCur = commonClassDao.getDataByQuery(query, params); // Assertions assertTrue(dataCur.size() == 1); assertTrue(dataCur.get(0) instanceof WatchPolicyNotificationTable); - assertEquals(watch, (WatchPolicyNotificationTable) dataCur.get(0)); + assertEquals(watch, dataCur.get(0)); } catch (Exception e) { logger.debug("Exception Occured" + e); @@ -293,20 +305,19 @@ public class CommonClassDaoImplTest { commonClassDao.save(pe); String dbCheckName = "dummyScope:action"; - String[] splitDBCheckName = dbCheckName.split(":"); // Current Implementation - String query = - "FROM PolicyEntity where policyName like :splitDBCheckName1 and scope = :splitDBCheckName0"; + String query = "FROM PolicyEntity where policyName like :splitDBCheckName1 and scope = :splitDBCheckName0"; SimpleBindings params = new SimpleBindings(); - params.put("splitDBCheckName1", splitDBCheckName[1] + "%"); - params.put("splitDBCheckName0", splitDBCheckName[0]); - List dataCur = commonClassDao.getDataByQuery(query, params); + String[] splitDbCheckName = dbCheckName.split(":"); + params.put("splitDBCheckName1", splitDbCheckName[1] + "%"); + params.put("splitDBCheckName0", splitDbCheckName[0]); + List dataCur = commonClassDao.getDataByQuery(query, params); // Assertions assertTrue(dataCur.size() == 1); assertTrue(dataCur.get(0) instanceof PolicyEntity); - assertEquals(pe, (PolicyEntity) dataCur.get(0)); + assertEquals(pe, dataCur.get(0)); } catch (Exception e) { logger.debug("Exception Occured" + e); @@ -328,17 +339,16 @@ public class CommonClassDaoImplTest { commonClassDao.save(watch); // Current Implementation - String query = - "from WatchPolicyNotificationTable where POLICYNAME = :finalName and LOGINIDS = :userId"; + String query = "from WatchPolicyNotificationTable where POLICYNAME = :finalName and LOGINIDS = :userId"; SimpleBindings params = new SimpleBindings(); params.put("finalName", finalName); params.put("userId", userId); - List dataCur = commonClassDao.getDataByQuery(query, params); + List dataCur = commonClassDao.getDataByQuery(query, params); // Assertions assertTrue(dataCur.size() == 1); assertTrue(dataCur.get(0) instanceof WatchPolicyNotificationTable); - assertEquals(watch, (WatchPolicyNotificationTable) dataCur.get(0)); + assertEquals(watch, dataCur.get(0)); } catch (Exception e) { logger.debug("Exception Occured" + e); @@ -371,20 +381,19 @@ public class CommonClassDaoImplTest { String finalName = "banana' OR '1'='1"; // Current Implementation - String query = - "from WatchPolicyNotificationTable where POLICYNAME = :finalName and LOGINIDS = :userId"; + String query = "from WatchPolicyNotificationTable where POLICYNAME = :finalName and LOGINIDS = :userId"; SimpleBindings params = new SimpleBindings(); params.put("finalName", finalName); params.put("userId", userId); - List dataCur = commonClassDao.getDataByQuery(query, params); + List dataCur = commonClassDao.getDataByQuery(query, params); // Assertions assertTrue(dataCur.size() <= 1); if (dataCur.size() >= 1) { assertTrue(dataCur.get(0) instanceof WatchPolicyNotificationTable); - assertFalse(watch.equals((WatchPolicyNotificationTable) dataCur.get(0))); - assertFalse(watch.equals((WatchPolicyNotificationTable) dataCur.get(0))); + assertFalse(watch.equals(dataCur.get(0))); + assertFalse(watch.equals(dataCur.get(0))); } } catch (Exception e) { logger.debug("Exception Occured" + e); @@ -399,19 +408,17 @@ public class CommonClassDaoImplTest { userInfo.setUserLoginId("TestID"); userInfo.setUserName("Test"); commonClassDao.save(userInfo); - List data = commonClassDao.getDataById(UserInfo.class, "userLoginId:userName", - "TestID:Test"); + List data = commonClassDao.getDataById(UserInfo.class, "userLoginId:userName", "TestID:Test"); assertTrue(data.size() == 1); UserInfo userInfoUpdate = (UserInfo) data.get(0); userInfoUpdate.setUserName("Test1"); commonClassDao.update(userInfoUpdate); List data1 = commonClassDao.getDataByColumn(UserInfo.class, "userLoginId"); assertTrue(data1.size() == 1); - UserInfo data2 = (UserInfo) commonClassDao.getEntityItem(UserInfo.class, - "userLoginId:userName", "TestID:Test1"); + UserInfo data2 = + (UserInfo) commonClassDao.getEntityItem(UserInfo.class, "userLoginId:userName", "TestID:Test1"); assertTrue("TestID".equals(data2.getUserLoginId())); - List data3 = commonClassDao.checkDuplicateEntry("TestID:Test1", - "userLoginId:userName", UserInfo.class); + List data3 = commonClassDao.checkDuplicateEntry("TestID:Test1", "userLoginId:userName", UserInfo.class); assertTrue(data3.size() == 1); PolicyRoles roles = new PolicyRoles(); roles.setRole("admin"); @@ -422,8 +429,8 @@ public class CommonClassDaoImplTest { assertTrue(roles1.size() == 1); List multipleData = new ArrayList<>(); multipleData.add("TestID:Test1"); - List data4 = commonClassDao.getMultipleDataOnAddingConjunction(UserInfo.class, - "userLoginId:userName", multipleData); + List data4 = commonClassDao.getMultipleDataOnAddingConjunction(UserInfo.class, "userLoginId:userName", + multipleData); assertTrue(data4.size() == 1); commonClassDao.delete(data2); } catch (Exception e) { @@ -454,6 +461,70 @@ public class CommonClassDaoImplTest { } } + @SuppressWarnings("unchecked") + @Test + public void testExceptions() { + SessionFactory sfMock = Mockito.mock(SessionFactory.class); + Session mockSession = Mockito.mock(Session.class); + Criteria crMock = Mockito.mock(Criteria.class); + Transaction mockTransaction = Mockito.mock(Transaction.class); + + CommonClassDaoImpl.setSessionfactory(sfMock); + + when(sfMock.openSession()).thenReturn(mockSession); + when(mockSession.createCriteria(OnapName.class)).thenReturn(crMock); + + when(crMock.list()).thenThrow(Exception.class); + when(mockSession.close()).thenThrow(Exception.class); + + when(mockSession.beginTransaction()).thenReturn(mockTransaction); + doThrow(Exception.class).when(mockTransaction).commit(); + + List dataList = commonClassDao.getData(OnapName.class); + assertNull(dataList); + + List dataByIdList = commonClassDao.getDataById(UserInfo.class, "userLoginId:userName", "TestID:Test"); + assertNull(dataByIdList); + + commonClassDao.save(null); + commonClassDao.delete(null); + commonClassDao.update(null); + + List dupEntryList = + commonClassDao.checkDuplicateEntry("TestID:Test", "userLoginId:userName", UserInfo.class); + assertNull(dupEntryList); + + List userRoles = commonClassDao.getUserRoles(); + assertNull(userRoles); + + Object entityItem = commonClassDao.getEntityItem(UserInfo.class, "testColName", "testKey"); + assertNull(entityItem); + + commonClassDao.updateQuery("testQueryString"); + + List dataByColumn = commonClassDao.getDataByColumn(UserInfo.class, "testColName"); + assertNull(dataByColumn); + + List entityData = commonClassDao.getMultipleDataOnAddingConjunction(UserInfo.class, "", null); + assertNull(entityData); + } + + @Test + public void testCheckExistingGroupListforUpdate() { + Object retObj = commonClassDao.checkExistingGroupListforUpdate("testString1", "testString2"); + assertNotNull(retObj); + assertTrue(retObj instanceof List); + List retList = (List) retObj; + assertTrue(retList.isEmpty()); + } + + @Test + public void testEmptyMethods() { + commonClassDao.deleteAll(); + commonClassDao.updateClAlarms("TestString1", "TestString2"); + commonClassDao.updateClYaml("TestString1", "TestString2"); + } + @After public void deleteDB() { sessionFactory.close();