aboutsummaryrefslogtreecommitdiffstats
path: root/ONAP-PAP-REST/src
diff options
context:
space:
mode:
authorbobbymander <bobby.mander@att.com>2018-03-09 10:55:51 -0500
committerbobbymander <bobby.mander@att.com>2018-03-09 10:57:49 -0500
commit0dbff6d896e33f6cfd34f1149f1516d79644208f (patch)
tree102a335e7170dc357a26ca2254b20112139b5fdf /ONAP-PAP-REST/src
parent76f11353eb304c90fd935175847ac30ec7e5bb6f (diff)
JUnit additions for PAP-REST
Issue-ID: POLICY-600 Change-Id: Id705865614faf42dfc604b1b88066122614f866c Signed-off-by: bobbymander <bobby.mander@att.com>
Diffstat (limited to 'ONAP-PAP-REST/src')
-rw-r--r--ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/PushPolicyHandlerTest.java85
-rw-r--r--ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/model/RemoveGroupPolicyTest.java44
-rw-r--r--ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java49
3 files changed, 178 insertions, 0 deletions
diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/PushPolicyHandlerTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/PushPolicyHandlerTest.java
new file mode 100644
index 000000000..81fe8a7ab
--- /dev/null
+++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/PushPolicyHandlerTest.java
@@ -0,0 +1,85 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP-PAP-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=========================================================
+ */
+
+package org.onap.policy.pap.xacml.rest.handler;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.onap.policy.pap.xacml.rest.XACMLPapServlet;
+import org.onap.policy.xacml.api.pap.OnapPDPGroup;
+import org.onap.policy.xacml.std.pap.StdPDPGroup;
+import org.onap.policy.xacml.std.pap.StdPDPPolicy;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+import com.mockrunner.mock.web.MockHttpServletRequest;
+import com.mockrunner.mock.web.MockHttpServletResponse;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.servlet.http.HttpServletResponse;
+import javax.persistence.Query;
+
+@RunWith(PowerMockRunner.class)
+public class PushPolicyHandlerTest {
+ @PrepareForTest({XACMLPapServlet.class})
+ @Test
+ public void testGetsAndChecks() {
+ // Mock servlet, entity mgr, transaction, and query
+ EntityManager em = Mockito.mock(EntityManager.class);
+ EntityManagerFactory emf = Mockito.mock(EntityManagerFactory.class);
+ PowerMockito.mockStatic(XACMLPapServlet.class);
+ PowerMockito.when(XACMLPapServlet.getEmf()).thenReturn(emf);
+ Mockito.when(emf.createEntityManager()).thenReturn(em);
+ EntityTransaction transaction = Mockito.mock(EntityTransaction.class);
+ Mockito.when(em.getTransaction()).thenReturn(transaction);
+ Query query = Mockito.mock(Query.class);
+ Mockito.when(em.createQuery(Mockito.anyString())).thenReturn(query);
+
+ // Test constructor
+ PushPolicyHandler handler = new PushPolicyHandler();
+ assertNotNull(handler);
+
+ // Test gets
+ MockHttpServletRequest request = new MockHttpServletRequest();
+ MockHttpServletResponse response = new MockHttpServletResponse();
+ handler.getActiveVersion(request, response);
+ assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK);
+ request.setupAddParameter("gitPath", "testPath");
+ handler.getSelectedURI(request, response);
+ assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK);
+
+ // Test check
+ StdPDPPolicy policy = new StdPDPPolicy();
+ OnapPDPGroup onapPolicy = new StdPDPGroup();
+ String configHome = "testVal";
+ assertEquals(handler.preSafetyCheck(policy, configHome), true);
+ assertEquals(handler.preSafetyCheck(onapPolicy, configHome), true);
+ }
+
+ @Test
+ public void testGetInstance() {
+ PushPolicyHandler handler = PushPolicyHandler.getInstance();
+ assertNotNull(handler);
+ }
+}
diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/model/RemoveGroupPolicyTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/model/RemoveGroupPolicyTest.java
new file mode 100644
index 000000000..34a26631f
--- /dev/null
+++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/model/RemoveGroupPolicyTest.java
@@ -0,0 +1,44 @@
+/*-
+ * ============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=========================================================
+ */
+
+package org.onap.policy.pap.xacml.rest.model;
+
+import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+import org.onap.policy.xacml.std.pap.StdPDPGroup;
+import org.onap.policy.xacml.std.pap.StdPDPPolicy;
+import com.att.research.xacml.api.pap.PDPPolicy;
+
+public class RemoveGroupPolicyTest {
+ @Test
+ public void testRemove() {
+ // Test constructor
+ StdPDPGroup group = new StdPDPGroup();
+ RemoveGroupPolicy remove = new RemoveGroupPolicy(group);
+ assertEquals(remove.isRemoved(), false);
+ assertEquals(remove.getUpdatedObject(), null);
+
+ // Test remove
+ PDPPolicy policy = new StdPDPPolicy();
+ remove.prepareToRemove(policy);
+ remove.doSave();
+ assertEquals(remove.isRemoved(), true);
+ }
+}
diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java
new file mode 100644
index 000000000..0c85fe163
--- /dev/null
+++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP-PAP-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=========================================================
+ */
+
+package org.onap.policy.pap.xacml.rest.service;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.when;
+import javax.servlet.http.HttpServletResponse;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.policy.pap.xacml.rest.XACMLPapServlet;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import com.mockrunner.mock.web.MockHttpServletResponse;
+
+@RunWith(PowerMockRunner.class)
+public class MetricServiceTest {
+ @PrepareForTest({XACMLPapServlet.class})
+ @Test
+ public void testNegativeGet() {
+ // Mock pap servlet
+ PowerMockito.mockStatic(XACMLPapServlet.class);
+ when(XACMLPapServlet.getPAPEngine()).thenReturn(null);
+ when(XACMLPapServlet.getEmf()).thenReturn(null);
+
+ MockHttpServletResponse response = new MockHttpServletResponse();
+ MetricService.doGetPolicyMetrics(response);
+ assertEquals(response.getStatusCode(), HttpServletResponse.SC_BAD_REQUEST);
+ }
+}