From 349714f2b187d55560fd8ed9a461f64cac233743 Mon Sep 17 00:00:00 2001 From: bobbymander Date: Tue, 29 Oct 2019 14:25:50 -0400 Subject: JUnit additions for PAP-REST, checkstyle fixes Issue-ID: POLICY-2130 Change-Id: Ia9fb294090a27ee86321249bc6b1cbdf20f33d06 Signed-off-by: bobbymander --- .../rest/components/MicroServicePolicyTest.java | 40 ++++++++++++ .../components/OptimizationConfigPolicyTest.java | 74 ++++++++-------------- .../pap/xacml/rest/elk/ElkConnectorTest.java | 54 ++++++++++++++++ .../pap/xacml/rest/handler/DeleteHandlerTest.java | 48 ++++++++++---- 4 files changed, 156 insertions(+), 60 deletions(-) create mode 100644 ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/ElkConnectorTest.java (limited to 'ONAP-PAP-REST/src/test/java/org') diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/MicroServicePolicyTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/MicroServicePolicyTest.java index 780e7d717..35c99f770 100644 --- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/MicroServicePolicyTest.java +++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/MicroServicePolicyTest.java @@ -20,9 +20,14 @@ package org.onap.policy.pap.xacml.rest.components; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; +import com.att.research.xacml.api.pap.PAPException; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; @@ -46,4 +51,39 @@ public class MicroServicePolicyTest { MicroServiceConfigPolicy policy = new MicroServiceConfigPolicy(policyAdapter); assertNull(policy.getCorrectPolicyDataObject()); } + + @Test(expected = NullPointerException.class) + public void testSave() throws PAPException { + PolicyRestAdapter policyAdapter = new PolicyRestAdapter(); + PolicyType policyType = new PolicyType(); + policyAdapter.setPolicyID("id"); + policyAdapter.setHighestVersion(1); + policyAdapter.setPolicyType("Config"); + policyAdapter.setNewFileName("newfile"); + policyAdapter.setData(policyType); + policyAdapter.setJsonBody("{\"key\":\"value\"}"); + policyAdapter.setServiceType("svcType"); + MicroServiceConfigPolicy policy = new MicroServiceConfigPolicy(policyAdapter); + + policy.savePolicies(); + } + + @Test + public void testAdvice() { + PolicyType policyType = new PolicyType(); + PolicyRestAdapter policyAdapter = new PolicyRestAdapter(); + policyAdapter.setPolicyID("id"); + policyAdapter.setHighestVersion(1); + policyAdapter.setPolicyType("Config"); + policyAdapter.setNewFileName("newfile"); + policyAdapter.setData(policyType); + policyAdapter.setJsonBody("{\"key\":\"value\"}"); + policyAdapter.setServiceType("svcType"); + + MicroServiceConfigPolicy policy = new MicroServiceConfigPolicy(policyAdapter); + assertThatThrownBy(() -> policy.savePolicies()).isInstanceOf(NullPointerException.class); + + AdviceExpressionsType expType = policy.getAdviceExpressions(1, "filename"); + assertEquals(1, expType.getAdviceExpression().size()); + } } diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/OptimizationConfigPolicyTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/OptimizationConfigPolicyTest.java index 9fc6add39..8437fb0f7 100644 --- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/OptimizationConfigPolicyTest.java +++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/components/OptimizationConfigPolicyTest.java @@ -20,28 +20,19 @@ package org.onap.policy.pap.xacml.rest.components; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.when; - -import java.io.File; -import java.util.Collections; +import com.att.research.xacml.api.pap.PAPException; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.onap.policy.pap.xacml.rest.daoimpl.CommonClassDaoImpl; import org.onap.policy.rest.adapter.PolicyRestAdapter; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -@RunWith(PowerMockRunner.class) public class OptimizationConfigPolicyTest { @Rule public ExpectedException thrown = ExpectedException.none(); @@ -61,48 +52,37 @@ public class OptimizationConfigPolicyTest { assertNull(policy.getCorrectPolicyDataObject()); } - @PrepareForTest({OptimizationConfigPolicy.class}) @Test - public void testPrepareToSave() throws Exception { - // Need to mock internal dictionary retrieval - CommonClassDaoImpl impl = Mockito.mock(CommonClassDaoImpl.class); - PowerMockito.whenNew(CommonClassDaoImpl.class).withNoArguments().thenReturn(impl); - when(impl.getDataById(any(), anyString(), anyString())).thenReturn(null); - + public void testSave() throws PAPException { + PolicyType policyType = new PolicyType(); PolicyRestAdapter policyAdapter = new PolicyRestAdapter(); - OptimizationConfigPolicy policy = new OptimizationConfigPolicy(policyAdapter); + policyAdapter.setPolicyID("id"); policyAdapter.setHighestVersion(1); policyAdapter.setPolicyType("Config"); - policyAdapter.setNewFileName("foo.xml"); - policyAdapter.setJsonBody("{ \"version\": \"1.0\"}"); - policyAdapter.setServiceType("foo"); - policy.prepareToSave(); - assertEquals(true, policy.isPreparedToSave()); + policyAdapter.setNewFileName("newfile"); + policyAdapter.setData(policyType); + policyAdapter.setJsonBody("{\"key\":\"value\"}"); + policyAdapter.setServiceType("svcType"); + OptimizationConfigPolicy policy = new OptimizationConfigPolicy(policyAdapter); + assertThatThrownBy(() -> policy.savePolicies()).isInstanceOf(Exception.class); } - @PrepareForTest({CreateNewOptimizationModel.class}) @Test - public void testCreateModel() throws Exception { - // Mock file retrieval - File testFile = new File("testFile"); - File[] testList = new File[1]; - testList[0] = testFile; - File impl = Mockito.mock(File.class); - PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(impl); - when(impl.listFiles()).thenReturn(testList); - when(impl.isFile()).thenReturn(true); + public void testAdvice() { + PolicyType policyType = new PolicyType(); + PolicyRestAdapter policyAdapter = new PolicyRestAdapter(); + policyAdapter.setPolicyID("id"); + policyAdapter.setHighestVersion(1); + policyAdapter.setPolicyType("Config"); + policyAdapter.setNewFileName("newfile"); + policyAdapter.setData(policyType); + policyAdapter.setJsonBody("{\"key\":\"value\"}"); + policyAdapter.setServiceType("svcType"); - // Mock internal dictionary retrieval - CommonClassDaoImpl daoImpl = Mockito.mock(CommonClassDaoImpl.class); - PowerMockito.whenNew(CommonClassDaoImpl.class).withNoArguments().thenReturn(daoImpl); - when(daoImpl.getDataById(any(), anyString(), anyString())).thenReturn(Collections.emptyList()); + OptimizationConfigPolicy policy = new OptimizationConfigPolicy(policyAdapter); + assertThatThrownBy(() -> policy.savePolicies()).isInstanceOf(Exception.class); - // Test create methods - String testFileName = "testFile.zip"; - String testVal = "testVal"; - CreateNewOptimizationModel model = - new CreateNewOptimizationModel(testFileName, testVal, testVal, testVal, testVal); - model.addValuesToNewModel(); - model.saveImportService(); + AdviceExpressionsType expType = policy.getAdviceExpressions(1, "filename"); + assertEquals(1, expType.getAdviceExpression().size()); } } diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/ElkConnectorTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/ElkConnectorTest.java new file mode 100644 index 000000000..145873981 --- /dev/null +++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/ElkConnectorTest.java @@ -0,0 +1,54 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP-PAP-REST + * ================================================================================ + * Copyright (C) 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.pap.xacml.rest.elk; + +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.onap.policy.pap.xacml.rest.elk.client.ElkConnector; +import org.onap.policy.pap.xacml.rest.elk.client.ElkConnector.PolicyBodyType; +import org.onap.policy.pap.xacml.rest.elk.client.ElkConnector.PolicyIndexType; +import org.onap.policy.pap.xacml.rest.elk.client.ElkConnector.PolicyType; + +public class ElkConnectorTest { + @Test + public void testConnector() { + PolicyType type = PolicyType.Config; + PolicyBodyType body = PolicyBodyType.json; + assertNotNull(type); + assertNotNull(body); + + assertEquals(PolicyIndexType.closedloop, ElkConnector.toPolicyIndexType("Config_Fault")); + assertEquals(PolicyIndexType.closedloop, ElkConnector.toPolicyIndexType("Config_PM")); + assertEquals(PolicyIndexType.config, ElkConnector.toPolicyIndexType("Config_FW")); + assertEquals(PolicyIndexType.config, ElkConnector.toPolicyIndexType("Config_MS")); + assertEquals(PolicyIndexType.config, ElkConnector.toPolicyIndexType("Config_OOF")); + assertEquals(PolicyIndexType.action, ElkConnector.toPolicyIndexType("Action")); + assertEquals(PolicyIndexType.decision, ElkConnector.toPolicyIndexType("Decision")); + assertEquals(PolicyIndexType.config, ElkConnector.toPolicyIndexType("Config")); + + assertThatIllegalArgumentException().isThrownBy(() -> ElkConnector.toPolicyIndexType(null)); + + assertThatIllegalArgumentException().isThrownBy(() -> ElkConnector.toPolicyIndexType("Foo")); + } +} diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/DeleteHandlerTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/DeleteHandlerTest.java index 17967a4bb..a9da00d5a 100644 --- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/DeleteHandlerTest.java +++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/DeleteHandlerTest.java @@ -23,16 +23,15 @@ package org.onap.policy.pap.xacml.rest.handler; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; -import static org.junit.Assert.fail; +import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.any; import static org.mockito.Mockito.when; import com.mockrunner.mock.web.MockHttpServletRequest; import com.mockrunner.mock.web.MockHttpServletResponse; - +import java.io.IOException; import java.util.Collections; import java.util.List; - import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; @@ -44,6 +43,7 @@ import org.onap.policy.common.logging.OnapLoggingContext; import org.onap.policy.pap.xacml.rest.XACMLPapServlet; import org.onap.policy.pap.xacml.rest.daoimpl.CommonClassDaoImpl; import org.onap.policy.pap.xacml.rest.elk.client.PolicyElasticSearchController; +import org.onap.policy.rest.dao.CommonClassDao; import org.onap.policy.rest.jpa.PolicyEntity; import org.onap.policy.xacml.api.pap.PAPPolicyEngine; import org.onap.policy.xacml.std.pap.StdEngine; @@ -98,19 +98,11 @@ public class DeleteHandlerTest { // Test deletion from PAP MockHttpServletResponse response = new MockHttpServletResponse(); - try { - handler.doApiDeleteFromPap(request, response); - } catch (Exception ex) { - fail("Not expecting an exception: " + ex); - } + handler.doApiDeleteFromPap(request, response); // Test deletion from PDP OnapLoggingContext loggingContext = Mockito.mock(OnapLoggingContext.class); - try { - handler.doApiDeleteFromPdp(request, response, loggingContext); - } catch (Exception ex) { - fail("Not expecting an exception: " + ex); - } + handler.doApiDeleteFromPdp(request, response, loggingContext); // Test delete entity PolicyEntity policyEntity = new PolicyEntity(); @@ -122,4 +114,34 @@ public class DeleteHandlerTest { List peResult = Collections.emptyList(); assertEquals(DeleteHandler.checkPolicyGroupEntity(peResult), false); } + + @Test + public void testDoDeletePap() throws IOException { + CommonClassDao dao = Mockito.mock(CommonClassDao.class); + DeleteHandler handler = new DeleteHandler(dao); + + // Mock request + MockHttpServletRequest request = new MockHttpServletRequest(); + request.setBodyContent( + "{\n\"PAPPolicyType\": \"StdPAPPolicy\", \"policyName\": \"foo.Config_name.1.xml\", \"deleteCondition\": \"All Versions\"\n}\n"); + MockHttpServletResponse response = new MockHttpServletResponse(); + + handler.doApiDeleteFromPap(request, response); + assertTrue(response.containsHeader("error")); + } + + @Test(expected = NullPointerException.class) + public void testDoDeletePdp() throws IOException { + CommonClassDao dao = Mockito.mock(CommonClassDao.class); + DeleteHandler handler = new DeleteHandler(dao); + OnapLoggingContext loggingContext = new OnapLoggingContext(); + + // Mock request + MockHttpServletRequest request = new MockHttpServletRequest(); + request.setBodyContent( + "{\n\"PAPPolicyType\": \"StdPAPPolicy\", \"policyName\": \"foo.Config_name.1.xml\", \"deleteCondition\": \"All Versions\"\n}\n"); + MockHttpServletResponse response = new MockHttpServletResponse(); + + handler.doApiDeleteFromPdp(request, response, loggingContext); + } } -- cgit 1.2.3-korg