From e2b2ebadd1038a72157bd67312307aa19acd933c Mon Sep 17 00:00:00 2001 From: uj426b Date: Tue, 20 Feb 2018 17:19:00 -0500 Subject: [PATCH] Added Junits for POLICY-SDK-APP controllers Issue-ID: POLICY-584 Change-Id: I306f3484f466accf11ca4fd59864a4b402dcb733 Signed-off-by: uj426b --- .../policy/controller/DashboardController.java | 13 ++- .../policy/controller/PolicyRolesController.java | 4 + .../policy/controller/DashboardControllerTest.java | 127 +++++++++++++++++++++ .../controller/PolicyRolesControllerTest.java | 106 +++++++++++++++++ .../resources/pdps/default/xacml.pip.properties | 9 ++ .../resources/pdps/default/xacml.policy.properties | 4 + .../src/test/resources/pdps/xacml.properties | 10 ++ 7 files changed, 270 insertions(+), 3 deletions(-) create mode 100644 POLICY-SDK-APP/src/test/java/org/onap/policy/controller/DashboardControllerTest.java create mode 100644 POLICY-SDK-APP/src/test/java/org/onap/policy/controller/PolicyRolesControllerTest.java create mode 100644 POLICY-SDK-APP/src/test/resources/pdps/default/xacml.pip.properties create mode 100644 POLICY-SDK-APP/src/test/resources/pdps/default/xacml.policy.properties create mode 100644 POLICY-SDK-APP/src/test/resources/pdps/xacml.properties 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..d1483a223 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 @@ -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 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..daf3d6c97 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 @@ public class PolicyRolesController extends RestrictedBaseController{ @Autowired CommonClassDao commonClassDao; + public void setCommonClassDao(CommonClassDao commonClassDao) { + this.commonClassDao = commonClassDao; + } + List 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 000000000..ba88dd314 --- /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 000000000..96b27b178 --- /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 000000000..ae3538a6e --- /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 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..cf8d29da0 --- /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= -- 2.16.6