Merge "Add New Junit Tests For ONAP-XACML"
[policy/engine.git] / POLICY-SDK-APP / src / test / java / org / onap / policy / daoImp / CommonClassDaoImplTest.java
index 78dd20a..63ca29d 100644 (file)
 
 package org.onap.policy.daoImp;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Properties;
@@ -37,10 +41,13 @@ import org.junit.Before;
 import org.junit.Test;
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
-import org.onap.policy.daoImp.CommonClassDaoImpl;
+import org.onap.policy.conf.HibernateSession;
+import org.onap.policy.controller.PolicyController;
 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.UserInfo;
 import org.onap.policy.rest.jpa.WatchPolicyNotificationTable;
 import org.springframework.orm.hibernate4.LocalSessionFactoryBuilder;
@@ -79,7 +86,22 @@ public class CommonClassDaoImplTest{
                        // Set up dao with SessionFactory
                        commonClassDao = new CommonClassDaoImpl();
                        CommonClassDaoImpl.setSessionfactory(sessionFactory);
-
+                       PolicyController.setLogTableLimit("1");
+                       HibernateSession.setSession(sessionFactory);
+                       SystemLogDB data1 = new SystemLogDB();
+                       data1.setDate(new Date());
+                       data1.setLogtype("INFO");
+                       data1.setRemote("Test");
+                       data1.setSystem("Test");
+                       data1.setType("Test");
+                       SystemLogDB data2 = new SystemLogDB();
+                       data2.setDate(new Date());
+                       data2.setLogtype("error");
+                       data2.setRemote("Test");
+                       data2.setSystem("Test");
+                       data2.setType("Test");
+                       HibernateSession.getSession().save(data1);
+                       HibernateSession.getSession().save(data2);
                        // Create TCP server for troubleshooting
                        server = Server.createTcpServer("-tcpAllowOthers").start();
                        System.out.println("URL: jdbc:h2:" + server.getURL() + "/mem:test");
@@ -329,10 +351,10 @@ public class CommonClassDaoImplTest{
                }
        }
 
-       /*
-        * Test for SQL Injection Protection
-        *
+       
+        /* Test for SQL Injection Protection
         */
+        
        @Test
        @Transactional
     @Rollback(true)
@@ -374,7 +396,66 @@ public class CommonClassDaoImplTest{
                        fail();
                }
        }
+       
+       @Test
+       public void testCommonClassDaoImplMethods(){
+               try{
+                       UserInfo userInfo = new UserInfo();
+                       userInfo.setUserLoginId("TestID");
+                       userInfo.setUserName("Test");
+                       commonClassDao.save(userInfo);
+                       List<Object> 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<String> data1 = commonClassDao.getDataByColumn(UserInfo.class, "userLoginId");
+                       assertTrue(data1.size() == 1);
+                       UserInfo data2 = (UserInfo) commonClassDao.getEntityItem(UserInfo.class, "userLoginId:userName", "TestID:Test1");
+                       assertTrue("TestID".equals(data2.getUserLoginId()));
+                       List<Object> data3 = commonClassDao.checkDuplicateEntry("TestID:Test1", "userLoginId:userName", UserInfo.class);
+                       assertTrue(data3.size() == 1);
+                       PolicyRoles roles = new PolicyRoles();
+                       roles.setRole("admin");
+                       roles.setLoginId(userInfo);
+                       roles.setScope("test");
+                       commonClassDao.save(roles);
+                       List<PolicyRoles> roles1 = commonClassDao.getUserRoles();
+                       assertTrue(roles1.size() == 1);
+                       List<String> multipleData = new ArrayList<>();
+                       multipleData.add("TestID:Test1");
+                       List<Object> data4 = commonClassDao.getMultipleDataOnAddingConjunction(UserInfo.class, "userLoginId:userName", multipleData);
+                       assertTrue(data4.size() == 1);
+                       commonClassDao.delete(data2);
+               }catch(Exception e){
+                       logger.debug("Exception Occured"+e);
+                       fail();
+               }
+       }
+       
 
+       
+       @Test
+       public final void testGetLoggingData() {
+               SystemLogDbDaoImpl system = new SystemLogDbDaoImpl();
+               PolicyController.setjUnit(true);
+               try{
+                       assertTrue(system.getLoggingData() != null);
+               }catch(Exception e){
+                       fail();
+               }
+       }
+
+       @Test
+       public final void testGetSystemAlertData() {
+               SystemLogDbDaoImpl system = new SystemLogDbDaoImpl();
+               PolicyController.setjUnit(true);
+               try{
+                       assertTrue(system.getSystemAlertData() != null);
+               }catch(Exception e){
+                       fail();
+               }
+       }
 
        @After
        public void deleteDB(){