Added Junits for POLICY-SDK-APP controllers 17/32417/3
authoruj426b <uj426b@att.com>
Tue, 20 Feb 2018 22:19:00 +0000 (17:19 -0500)
committeruj426b <uj426b@att.com>
Wed, 21 Feb 2018 17:01:50 +0000 (12:01 -0500)
Issue-ID: POLICY-584
Change-Id: I306f3484f466accf11ca4fd59864a4b402dcb733
Signed-off-by: uj426b <uj426b@att.com>
POLICY-SDK-APP/src/main/java/org/onap/policy/controller/DashboardController.java
POLICY-SDK-APP/src/main/java/org/onap/policy/controller/PolicyRolesController.java
POLICY-SDK-APP/src/test/java/org/onap/policy/controller/DashboardControllerTest.java [new file with mode: 0644]
POLICY-SDK-APP/src/test/java/org/onap/policy/controller/PolicyRolesControllerTest.java [new file with mode: 0644]
POLICY-SDK-APP/src/test/resources/pdps/default/xacml.pip.properties [new file with mode: 0644]
POLICY-SDK-APP/src/test/resources/pdps/default/xacml.policy.properties [new file with mode: 0644]
POLICY-SDK-APP/src/test/resources/pdps/xacml.properties [new file with mode: 0644]

index adb91ec..d1483a2 100644 (file)
@@ -74,12 +74,19 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 @RequestMapping({"/"})
 public class DashboardController  extends RestrictedBaseController{
        private static final Logger policyLogger = FlexLogger.getLogger(DashboardController.class);
-       @Autowired
-       SystemLogDbDao systemDAO;
-
        @Autowired
        CommonClassDao commonClassDao;
+       
+       @Autowired
+       SystemLogDbDao systemDAO;
 
+       public void setCommonClassDao(CommonClassDao commonClassDao) {
+               this.commonClassDao = commonClassDao;
+       }
+       public void setSystemLogDbDao(SystemLogDbDao systemDAO){
+               this.systemDAO = systemDAO;
+       }
+        
        private int pdpCount;
        private PDPGroupContainer pdpConatiner;
        private ArrayList<Object> pdpStatusData;
index 4b96615..daf3d6c 100644 (file)
@@ -61,6 +61,10 @@ public class PolicyRolesController extends RestrictedBaseController{
        @Autowired
        CommonClassDao commonClassDao;
        
+       public void setCommonClassDao(CommonClassDao commonClassDao) {
+               this.commonClassDao = commonClassDao;
+       }
+       
        List<String> scopelist;
        
        @RequestMapping(value={"/get_RolesData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
diff --git a/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/DashboardControllerTest.java b/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/DashboardControllerTest.java
new file mode 100644 (file)
index 0000000..ba88dd3
--- /dev/null
@@ -0,0 +1,127 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * POLICY-SDK-APP
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.policy.controller;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import javax.servlet.http.HttpServletRequest;
+
+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.dao.SystemLogDbDao;
+import org.onap.policy.rest.dao.CommonClassDao;
+import org.onap.policy.xacml.std.pap.StdEngine;
+import org.springframework.mock.web.MockHttpServletResponse;
+
+public class DashboardControllerTest{
+       private static Logger logger = FlexLogger.getLogger(DashboardControllerTest.class);
+       
+       private static CommonClassDao commonClassDao;
+       private static SystemLogDbDao systemDAO;
+       private static PolicyController ctrl = null;
+       private HttpServletRequest request = null;
+       private DashboardController controller = null;
+       private MockHttpServletResponse response = null;
+       private Path repo;
+       StdEngine engine = null;
+       
+       @Before
+       public void setUp() throws Exception {
+               logger.info("setUp: Entering");
+               controller = new DashboardController();
+               commonClassDao = Mockito.mock(CommonClassDao.class);
+               systemDAO = Mockito.mock(SystemLogDbDao.class); 
+               controller.setSystemLogDbDao(systemDAO);
+               controller.setCommonClassDao(commonClassDao);
+               request = mock(HttpServletRequest.class);       
+               response =  new MockHttpServletResponse();
+               repo = Paths.get("src/test/resources/pdps");
+               engine = new StdEngine(repo);
+               ctrl = new PolicyController();
+               PolicyController.setPapEngine(engine);
+               controller.setPolicyController(ctrl);
+               logger.info("setUp: exit");
+       }
+       
+       @Test
+       public void testGetData() {
+               try {
+                       controller.getData(request, response);
+                       assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("availableLoggingDatas"));
+               } catch (UnsupportedEncodingException e) {
+                       logger.error("Exception Occured"+e);
+                       fail();
+               }
+       }
+
+       @Test
+       public void testGetPAPStatusData() {
+               try {
+                       controller.getPAPStatusData(request, response);
+                       assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("papTableDatas"));
+               } catch (UnsupportedEncodingException e) {
+                       logger.error("Exception Occured"+e);
+                       fail();
+               }
+       }
+
+       @Test
+       public void testGetPDPStatusData() {
+               try {
+                       controller.getPDPStatusData(request, response);
+                       assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("pdpTableDatas"));
+               } catch (UnsupportedEncodingException e) {
+                       logger.error("Exception Occured"+e);
+                       fail();
+               }
+       }
+
+       @Test
+       public void testGetPolicyActivityData() {
+               try {
+                       controller.getPolicyActivityData(request, response);
+                       assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("policyActivityTableDatas"));
+               } catch (UnsupportedEncodingException e) {
+                       logger.error("Exception Occured"+e);
+                       fail();
+               }
+       }
+
+       @Test
+       public void testGetSystemAlertData() {
+               try {
+                       controller.getSystemAlertData(request, response);
+                       assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("systemAlertsTableDatas"));
+               } catch (UnsupportedEncodingException e) {
+                       logger.error("Exception Occured"+e);
+                       fail();
+               }
+       }
+}
+
diff --git a/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/PolicyRolesControllerTest.java b/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/PolicyRolesControllerTest.java
new file mode 100644 (file)
index 0000000..96b27b1
--- /dev/null
@@ -0,0 +1,106 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * POLICY-SDK-APP
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.policy.controller;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.BufferedReader;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+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.rest.dao.CommonClassDao;
+import org.onap.portalsdk.core.domain.User;
+import org.onap.portalsdk.core.util.SystemProperties;
+import org.springframework.mock.web.MockHttpServletResponse;
+
+public class PolicyRolesControllerTest {
+       private static Logger logger = FlexLogger.getLogger(PolicyRolesControllerTest.class);
+       private HttpServletRequest request = null;
+       private MockHttpServletResponse response = null;
+       private PolicyRolesController controller = null;        
+       private static CommonClassDao commonClassDao;
+       
+       @Before
+       public void setUp() throws Exception {
+               logger.info("setUp: Entering");
+               controller = new PolicyRolesController();
+               commonClassDao = Mockito.mock(CommonClassDao.class);
+               request = mock(HttpServletRequest.class);       
+               response =  new MockHttpServletResponse();
+               controller.setCommonClassDao(commonClassDao);
+               
+               HttpSession mockSession = mock(HttpSession.class);
+        User user = new User();
+               user.setOrgUserId("Test");
+               Mockito.when(mockSession.getAttribute(SystemProperties.getProperty("user_attribute_name"))).thenReturn(user);
+               Mockito.when(request.getSession(false)).thenReturn(mockSession);
+               
+               logger.info("setUp: exit");
+       }
+
+       @Test
+       public void testGetPolicyRolesEntityData() {
+       try {
+               controller.getPolicyRolesEntityData(request, response);
+               assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("rolesDatas"));
+       } catch (UnsupportedEncodingException e) {
+               logger.error("Exception Occured"+e);
+               fail();
+       }
+}
+
+       @Test
+       public void testGetPolicyScopesEntityData() {
+               try {
+                       controller.getPolicyScopesEntityData(request, response);
+                       assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("scopeDatas"));
+               } catch (UnsupportedEncodingException e) {
+                       logger.error("Exception Occured"+e);
+                       fail();
+               }
+       }
+
+       @Test
+       public void testSaveRolesEntityData() {
+                       logger.info("PolicyRolesControllerTest: Entering");
+                       String jsonString = "{\"editRoleData\": {\"id\": 1,\"loginId\": {\"userLoginId\" : \"test\", \"userName\" : \"test\"},\"role\":\"test\",\"scope\":[\"scope\"]}}";
+                       try(BufferedReader br = new BufferedReader(new StringReader(jsonString))){
+                               when(request.getReader()).thenReturn(br);                   
+                               controller.SaveRolesEntityData(request, response);
+                               logger.info("response.getContentAsString(): " + response.getContentAsString());
+                               assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("rolesDatas"));
+                       } catch (Exception e) {
+                       fail("Exception: " + e);
+               }
+               logger.info("PolicyRolesControllerTest: exit");
+       }
+}
+
diff --git a/POLICY-SDK-APP/src/test/resources/pdps/default/xacml.pip.properties b/POLICY-SDK-APP/src/test/resources/pdps/default/xacml.pip.properties
new file mode 100644 (file)
index 0000000..ae3538a
--- /dev/null
@@ -0,0 +1,9 @@
+#
+#Thu Feb 15 10:13:45 EST 2018
+historydb.name=operationHistoryDB
+AAF.description=AAFEngine to communicate with AAF to take decisions
+historydb.issuer=org\:onap\:xacml\:guard\:historydb
+AAF.classname=org.onap.policy.xacml.std.pip.engines.aaf.AAFEngine
+AAF.name=AAFEngine
+historydb.classname=org.onap.policy.xacml.std.pip.engines.OperationHistoryEngine
+xacml.pip.engines=historydb,AAF
diff --git a/POLICY-SDK-APP/src/test/resources/pdps/default/xacml.policy.properties b/POLICY-SDK-APP/src/test/resources/pdps/default/xacml.policy.properties
new file mode 100644 (file)
index 0000000..7070690
--- /dev/null
@@ -0,0 +1,4 @@
+#
+#Thu Feb 15 10:13:45 EST 2018
+xacml.referencedPolicies=
+xacml.rootPolicies=
diff --git a/POLICY-SDK-APP/src/test/resources/pdps/xacml.properties b/POLICY-SDK-APP/src/test/resources/pdps/xacml.properties
new file mode 100644 (file)
index 0000000..cf8d29d
--- /dev/null
@@ -0,0 +1,10 @@
+#
+#Wed Feb 21 11:54:45 EST 2018
+xacml.pap.groups.default=default
+xacml.pap.groups=default
+http\://localhost\:8082/pdp/.jmxport=
+default.name=default
+default.description=The default group where new PDP's are put.
+http\://localhost\:8082/pdp/.name=http\://localhost\:8082/pdp/
+http\://localhost\:8082/pdp/.description=Registered on first startup
+default.pdps=