X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=blobdiff_plain;f=ONAP-PAP-REST%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpap%2Fxacml%2Frest%2FXACMLPapServletTest.java;h=420e380b62f6852fffcf5c22f5422cede42ee1e6;hp=3630889b0e676f80ad72bde25e004f892dfca7d2;hb=2f41a033ed0eae09aa1624d8287687de8a972a5d;hpb=dbc32033d680a91b359222c7138147df810662d6 diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/XACMLPapServletTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/XACMLPapServletTest.java index 3630889b0..420e380b6 100644 --- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/XACMLPapServletTest.java +++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/XACMLPapServletTest.java @@ -2,14 +2,14 @@ * ============LICENSE_START======================================================= * ONAP-PAP-REST * ================================================================================ - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2018-2019 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. @@ -20,50 +20,91 @@ package org.onap.policy.pap.xacml.rest; +import static org.assertj.core.api.Assertions.assertThatCode; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import com.att.research.xacml.api.pap.PAPException; +import com.att.research.xacml.util.XACMLProperties; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.mockrunner.mock.web.MockHttpServletRequest; +import com.mockrunner.mock.web.MockHttpServletResponse; +import java.io.IOException; +import java.util.Properties; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -import org.onap.policy.pap.xacml.rest.XACMLPapServlet; public class XACMLPapServletTest { - @Test - public void testSetAndGet() { - String systemKey = "xacml.properties"; - String testVal = "testVal"; - XACMLPapServlet servlet = new XACMLPapServlet(); - - // Set the system property temporarily - String oldProperty = System.getProperty(systemKey); - System.setProperty(systemKey, "xacml.pap.properties"); - - assertNotNull(XACMLPapServlet.getConfigHome()); - assertNotNull(XACMLPapServlet.getActionHome()); - assertEquals(XACMLPapServlet.getPersistenceUnit(), "XACML-PAP-REST"); + String systemKey = "xacml.properties"; + String oldProperty = System.getProperty(systemKey); + + @Before + public void setup() { + // Set the system property temporarily + System.setProperty(systemKey, "xacml.pap.properties"); + } + + @Test + public void testSetAndGet() { + String testVal = "testVal"; + XACMLPapServlet servlet = new XACMLPapServlet(); + + assertNotNull(servlet); + assertNotNull(XACMLPapServlet.getConfigHome()); + assertNotNull(XACMLPapServlet.getActionHome()); + assertEquals(XACMLPapServlet.getPersistenceUnit(), "XACML-PAP-REST"); + + XACMLPapServlet.setPapDbDriver(testVal); + assertEquals(XACMLPapServlet.getPapDbDriver(), testVal); + XACMLPapServlet.setPapDbUrl(testVal); + assertEquals(XACMLPapServlet.getPapDbUrl(), testVal); + XACMLPapServlet.setPapDbUser(testVal); + assertEquals(XACMLPapServlet.getPapDbUser(), testVal); + XACMLPapServlet.setPapDbPassword(testVal); + assertEquals(XACMLPapServlet.getPapDbPassword(), testVal); + XACMLPapServlet.setMsOnapName(testVal); + assertEquals(XACMLPapServlet.getMsOnapName(), testVal); + XACMLPapServlet.setMsPolicyName(testVal); + assertEquals(XACMLPapServlet.getMsPolicyName(), testVal); + } + + @Test + public void testMethods() throws ServletException, IOException, PAPException { + XACMLPapServlet servlet = new XACMLPapServlet(); + + ObjectMapper mapper = new ObjectMapper(); + HttpServletResponse response = new MockHttpServletResponse(); + assertThatCode(() -> XACMLPapServlet.mapperWriteValue(mapper, response, "hello")).doesNotThrowAnyException(); + assertThatCode(() -> XACMLPapServlet.mapperWriteValue(null, null, null)).doesNotThrowAnyException(); + assertNull(XACMLPapServlet.getPapUrl()); + + HttpServletRequest request = new MockHttpServletRequest(); + assertThatThrownBy(() -> servlet.doDelete(request, response)).isInstanceOf(NullPointerException.class); + + StringBuffer urlPath = new StringBuffer("http://foo"); + Properties policies = new Properties(); + servlet.populatePolicyURL(urlPath, policies); + assertNull(policies.getProperty("foo.url")); + + policies.setProperty(XACMLProperties.PROP_ROOTPOLICIES, "foo"); + policies.setProperty(XACMLProperties.PROP_REFERENCEDPOLICIES, "bar"); + servlet.populatePolicyURL(urlPath, policies); + assertEquals("http://foo?id=foo", policies.getProperty("foo.url")); + } - //assertNull(XACMLPapServlet.getEmf()); - //assertNull(XACMLPapServlet.getPDPFile()); - //assertNull(XACMLPapServlet.getPAPEngine()); - //assertNull(servlet.getIa()); - - XACMLPapServlet.setPapDbDriver(testVal); - assertEquals(XACMLPapServlet.getPapDbDriver(), testVal); - XACMLPapServlet.setPapDbUrl(testVal); - assertEquals(XACMLPapServlet.getPapDbUrl(), testVal); - XACMLPapServlet.setPapDbUser(testVal); - assertEquals(XACMLPapServlet.getPapDbUser(), testVal); - XACMLPapServlet.setPapDbPassword(testVal); - assertEquals(XACMLPapServlet.getPapDbPassword(), testVal); - XACMLPapServlet.setMsOnapName(testVal); - assertEquals(XACMLPapServlet.getMsOnapName(), testVal); - XACMLPapServlet.setMsPolicyName(testVal); - assertEquals(XACMLPapServlet.getMsPolicyName(), testVal); - - // Restore the original system property - if (oldProperty != null) { - System.setProperty(systemKey, oldProperty); - } - else { - System.clearProperty(systemKey); - } - } + @After + public void after() { + // Restore the original system property + if (oldProperty != null) { + System.setProperty(systemKey, oldProperty); + } else { + System.clearProperty(systemKey); + } + } }