From 9092983343fd0324b46b491cd755ebbc1ce3bcdc Mon Sep 17 00:00:00 2001 From: bobbymander Date: Thu, 22 Feb 2018 15:43:12 -0500 Subject: [PATCH] JUnit small additions for PAP-REST,PDP-REST,XACML Issue-ID: POLICY-600 Change-Id: I1b012dd1dbc49c10cd47b5f100e8ccef6c92f70b Signed-off-by: bobbymander --- .../xacml/restAuth/AuthenticationServiceTest.java | 53 ++++++++++++++++++++++ .../rest/auth/test/AuthenticationServiceTest.java | 53 ++++++++++++++++++++++ .../onap/policy/xacml/test/util/AAFEngineTest.java | 43 ++++++++++++++++-- 3 files changed, 146 insertions(+), 3 deletions(-) create mode 100644 ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/restAuth/AuthenticationServiceTest.java create mode 100644 ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/auth/test/AuthenticationServiceTest.java diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/restAuth/AuthenticationServiceTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/restAuth/AuthenticationServiceTest.java new file mode 100644 index 000000000..9ac434146 --- /dev/null +++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/restAuth/AuthenticationServiceTest.java @@ -0,0 +1,53 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP-PDP-REST + * ================================================================================ + * 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========================================================= + */ +//foo +package org.onap.policy.pap.xacml.restAuth; + +import static org.junit.Assert.assertEquals; +import java.io.UnsupportedEncodingException; +import java.util.Base64; +import org.junit.Test; +import org.onap.policy.pap.xacml.restAuth.AuthenticationService; + +public class AuthenticationServiceTest { + private final String testCred = "testpap:alpha123"; + private final String testCredEncoded = new String(Base64.getEncoder().encode(testCred.getBytes())); + private final String basicCred = "Basic " + testCredEncoded; + + @Test + public void testAuth() throws UnsupportedEncodingException { + String systemKey = "xacml.properties"; + + // Set the system property temporarily + String oldProperty = System.getProperty(systemKey); + System.setProperty(systemKey, "xacml.pap.properties"); + + AuthenticationService service = new AuthenticationService(); + assertEquals(service.authenticate(basicCred), true); + + // Restore the original system property + if (oldProperty != null) { + System.setProperty(systemKey, oldProperty); + } + else { + System.clearProperty(systemKey); + } + } +} diff --git a/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/auth/test/AuthenticationServiceTest.java b/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/auth/test/AuthenticationServiceTest.java new file mode 100644 index 000000000..31ae7c7fb --- /dev/null +++ b/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/auth/test/AuthenticationServiceTest.java @@ -0,0 +1,53 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP-PDP-REST + * ================================================================================ + * 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========================================================= + */ +//foo +package org.onap.policy.pdp.rest.auth.test; + +import static org.junit.Assert.assertEquals; +import java.io.UnsupportedEncodingException; +import java.util.Base64; +import org.junit.Test; +import org.onap.policy.pdp.rest.restAuth.AuthenticationService; + +public class AuthenticationServiceTest { + private final String testCred = "testpdp:alpha456"; + private final String testCredEncoded = new String(Base64.getEncoder().encode(testCred.getBytes())); + private final String basicCred = "Basic " + testCredEncoded; + + @Test + public void testAuth() throws UnsupportedEncodingException { + String systemKey = "xacml.properties"; + + // Set the system property temporarily + String oldProperty = System.getProperty(systemKey); + System.setProperty(systemKey, "xacml.pdp.properties"); + + AuthenticationService service = new AuthenticationService(); + assertEquals(service.authenticate(basicCred), true); + + // Restore the original system property + if (oldProperty != null) { + System.setProperty(systemKey, oldProperty); + } + else { + System.clearProperty(systemKey); + } + } +} diff --git a/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/AAFEngineTest.java b/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/AAFEngineTest.java index 516c54834..684f48c17 100644 --- a/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/AAFEngineTest.java +++ b/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/AAFEngineTest.java @@ -19,8 +19,45 @@ */ package org.onap.policy.xacml.test.util; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import java.util.Properties; +import org.junit.Test; +import org.onap.policy.xacml.std.pip.engines.aaf.AAFEngine; +import com.att.research.xacml.api.pip.PIPFinder; +import com.att.research.xacml.api.pip.PIPRequest; +import com.att.research.xacml.api.pip.PIPResponse; +import com.att.research.xacml.std.pip.StdPIPFinderFactory; +import com.att.research.xacml.std.pip.StdPIPRequest; +import com.att.research.xacml.api.XACML3; + public class AAFEngineTest { - // - // Some tests to be added - // + @Test + public void aafEngineTest(){ + String testId = "testId"; + AAFEngine aafEngine = new AAFEngine(); + assertTrue(AAFEngine.DEFAULT_DESCRIPTION.equals("PIP for authenticating aaf attributes using the AAF REST interface")); + assertTrue(AAFEngine.DEFAULT_ISSUER.equals("aaf")); + + Properties props = new Properties(); + try { + aafEngine.configure(testId, props); + assertEquals(aafEngine.getName(), testId); + assertEquals(aafEngine.getDescription(), AAFEngine.DEFAULT_DESCRIPTION); + assertEquals(aafEngine.getIssuer(), AAFEngine.DEFAULT_ISSUER); + assertEquals(aafEngine.attributesProvided().size(), 2); + assertEquals(aafEngine.attributesRequired().size(), 5); + + PIPRequest pipRequest = new StdPIPRequest(XACML3.ID_ATTRIBUTE_CATEGORY_RESOURCE, AAFEngine.AAF_RESPONSE_ID, XACML3.ID_DATATYPE_STRING); + StdPIPFinderFactory pipFactory = new StdPIPFinderFactory(); + PIPFinder pipFinder = pipFactory.getFinder(); + assertEquals(pipFinder.getPIPEngines().size(), 0); + PIPResponse pipResponse = aafEngine.getAttributes(pipRequest, pipFinder); + assertEquals(pipResponse.getStatus().isOk(), true); + } + catch (Exception ex) { + fail("Not expecting any exceptions"); + } + } } -- 2.16.6