JUnit small additions for PAP-REST,PDP-REST,XACML 19/32619/1
authorbobbymander <bobby.mander@att.com>
Thu, 22 Feb 2018 20:43:12 +0000 (15:43 -0500)
committerbobbymander <bobby.mander@att.com>
Thu, 22 Feb 2018 20:44:07 +0000 (15:44 -0500)
Issue-ID: POLICY-600
Change-Id: I1b012dd1dbc49c10cd47b5f100e8ccef6c92f70b
Signed-off-by: bobbymander <bobby.mander@att.com>
ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/restAuth/AuthenticationServiceTest.java [new file with mode: 0644]
ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/auth/test/AuthenticationServiceTest.java [new file with mode: 0644]
ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/AAFEngineTest.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 (file)
index 0000000..9ac4341
--- /dev/null
@@ -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 (file)
index 0000000..31ae7c7
--- /dev/null
@@ -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);
+               }
+       }
+}
index 516c548..684f48c 100644 (file)
  */
 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");
+               }
+       }
 }