From: uj426b Date: Tue, 20 Feb 2018 22:19:00 +0000 (-0500) Subject: Added Junits for POLICY-SDK-APP controllers X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F35%2F32335%2F2;p=policy%2Fengine.git Added Junits for POLICY-SDK-APP controllers Issue-ID: POLICY-584 Change-Id: Ib9c4923070fe78efa7e92e8e1e8ad3b44c21f3f5 Signed-off-by: uj426b --- 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 adb91ec27..302bfd389 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,19 @@ import com.fasterxml.jackson.databind.ObjectMapper; public class DashboardController extends RestrictedBaseController{ private static final Logger policyLogger = FlexLogger.getLogger(DashboardController.class); @Autowired - SystemLogDbDao systemDAO; - + private static CommonClassDao commonClassDao; + @Autowired - CommonClassDao commonClassDao; - + private static SystemLogDbDao systemDAO; + + public static void setCommonClassDao(CommonClassDao commonClassDao) { + DashboardController.commonClassDao = commonClassDao; + } + public static void setSystemLogDbDao(SystemLogDbDao systemDAO){ + DashboardController.systemDAO = systemDAO; + } + + public DashboardController() {} private int pdpCount; private PDPGroupContainer pdpConatiner; private ArrayList 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 4b966154c..152d7e8a4 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 @@ -59,7 +59,11 @@ public class PolicyRolesController extends RestrictedBaseController{ private static final Logger LOGGER = FlexLogger.getLogger(PolicyRolesController.class); @Autowired - CommonClassDao commonClassDao; + private static CommonClassDao commonClassDao; + + public static void setCommonClassDao(CommonClassDao commonClassDao) { + PolicyRolesController.commonClassDao = commonClassDao; + } List scopelist; 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 000000000..2390eadab --- /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); + DashboardController.setSystemLogDbDao(systemDAO); + DashboardController.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 000000000..37f916ccf --- /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(); + PolicyRolesController.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 000000000..c3e46e854 --- /dev/null +++ b/POLICY-SDK-APP/src/test/resources/pdps/default/xacml.pip.properties @@ -0,0 +1,6 @@ +# +#Thu Feb 15 10:13:45 EST 2018 +AAF.description=AAFEngine to communicate with AT&T AAF to take decisions +AAF.classname=com.att.research.xacml.std.pip.engines.aaf.AAFEngine +AAF.name=AAFEngine +xacml.pip.engines=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 000000000..7070690fe --- /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 000000000..9df1f5056 --- /dev/null +++ b/POLICY-SDK-APP/src/test/resources/pdps/xacml.properties @@ -0,0 +1,19 @@ +# +#Thu Feb 15 10:13:45 EST 2018 +AFTEST.description= +AFTEST.name=AFTEST +AFTEST.pdps= +Ravi.description= +Ravi.name=Ravi +Ravi.pdps= +Test.description= +Test.name=Test +Test.pdps= +default.description=The default group where new PDP's are put. +default.name=default +default.pdps=http\://localhost\:8082/pdp/ +http\://localhost\:8082/pdp/.description=Registered on first startup +http\://localhost\:8082/pdp/.jmxport= +http\://localhost\:8082/pdp/.name=http\://localhost\:8082/pdp/ +xacml.pap.groups=default,Test,Ravi,AFTEST +xacml.pap.groups.default=default