Added Junits for POLICY-SDK-APP controllers
Issue-ID: POLICY-584
Change-Id: I306f3484f466accf11ca4fd59864a4b402dcb733
Signed-off-by: uj426b <uj426b@att.com>
diff --git a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/DashboardController.java b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/DashboardController.java
index adb91ec..d1483a2 100644
--- a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/DashboardController.java
+++ b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/DashboardController.java
@@ -75,11 +75,18 @@
public class DashboardController extends RestrictedBaseController{
private static final Logger policyLogger = FlexLogger.getLogger(DashboardController.class);
@Autowired
+ CommonClassDao commonClassDao;
+
+ @Autowired
SystemLogDbDao systemDAO;
- @Autowired
- CommonClassDao commonClassDao;
-
+ 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;
diff --git a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/PolicyRolesController.java b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/PolicyRolesController.java
index 4b96615..daf3d6c 100644
--- a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/PolicyRolesController.java
+++ b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/PolicyRolesController.java
@@ -61,6 +61,10 @@
@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
index 0000000..ba88dd3
--- /dev/null
+++ b/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/DashboardControllerTest.java
@@ -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
index 0000000..96b27b1
--- /dev/null
+++ b/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/PolicyRolesControllerTest.java
@@ -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
index 0000000..ae3538a
--- /dev/null
+++ b/POLICY-SDK-APP/src/test/resources/pdps/default/xacml.pip.properties
@@ -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
index 0000000..7070690
--- /dev/null
+++ b/POLICY-SDK-APP/src/test/resources/pdps/default/xacml.policy.properties
@@ -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
index 0000000..cf8d29d
--- /dev/null
+++ b/POLICY-SDK-APP/src/test/resources/pdps/xacml.properties
@@ -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=