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=