From c8cf3270ff412fc7fc138f0e53b1361c3b21fcbf Mon Sep 17 00:00:00 2001 From: bobbymander Date: Tue, 27 Mar 2018 13:54:17 -0400 Subject: JUnit additions and powermock pom fixes Issue-ID: POLICY-602 Change-Id: I2484b47cc52a07413de69c1022a056fd0cf2d7d7 Signed-off-by: bobbymander --- ONAP-PDP/pom.xml | 24 +++++++ .../policy/xacml/pdp/ONAPPDPEngineFactoryTest.java | 78 ++++++++++++++++------ .../onap/policy/xacml/pdp/ONAPPDPEngineTest.java | 45 +++++++++++++ 3 files changed, 125 insertions(+), 22 deletions(-) create mode 100644 ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/ONAPPDPEngineTest.java (limited to 'ONAP-PDP') diff --git a/ONAP-PDP/pom.xml b/ONAP-PDP/pom.xml index 02057bd3a..a2cbc8b37 100644 --- a/ONAP-PDP/pom.xml +++ b/ONAP-PDP/pom.xml @@ -33,6 +33,25 @@ 1.2.0-SNAPSHOT + + org.mockito + mockito-core + 1.10.19 + test + + + + org.powermock + powermock-api-mockito + 1.7.3 + test + + + org.powermock + powermock-module-junit4 + 1.7.3 + test + org.onap.policy.engine ${project.version} @@ -94,6 +113,11 @@ ${project.version} test + + com.mockrunner + mockrunner + 0.3.1 + diff --git a/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/ONAPPDPEngineFactoryTest.java b/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/ONAPPDPEngineFactoryTest.java index 0c9d24615..1bde7dd84 100644 --- a/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/ONAPPDPEngineFactoryTest.java +++ b/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/ONAPPDPEngineFactoryTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP-PDP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-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. @@ -21,32 +21,66 @@ package org.onap.policy.xacml.pdp; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; - import java.util.Properties; - import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import com.att.research.xacml.util.FactoryException; +import com.att.research.xacml.util.FactoryFinder; +import com.att.research.xacmlatt.pdp.eval.EvaluationContextFactory; +@RunWith(PowerMockRunner.class) public class ONAPPDPEngineFactoryTest { + @Test + public final void testNewEngine() { + ONAPPDPEngineFactory pdpEngine = new ONAPPDPEngineFactory(); + try { + assertTrue(pdpEngine.newEngine() != null); + } catch (Exception e) { + fail("operation failed, e=" + e); + } + } + + @Test + public final void testNewEngineProperties() { + ONAPPDPEngineFactory pdpEngine = new ONAPPDPEngineFactory(); + Properties properties = new Properties(); + try { + assertTrue(pdpEngine.newEngine(properties) != null); + } catch (Exception e) { + fail("operation failed, e=" + e); + } + } + + @PrepareForTest({EvaluationContextFactory.class, FactoryFinder.class}) + @Test(expected = FactoryException.class) + public void negTestEngine() throws FactoryException { + // Setup test data + PowerMockito.mockStatic(FactoryFinder.class); + PowerMockito.when(FactoryFinder.find(Mockito.any(), Mockito.any(), Mockito.any())) + .thenReturn(null); - @Test - public final void testNewEngine() { - ONAPPDPEngineFactory pdpEngine = new ONAPPDPEngineFactory(); - try{ - assertTrue(pdpEngine.newEngine() != null); - }catch (Exception e) { - fail("operation failed, e="+e); - } + // Negative test factory + ONAPPDPEngineFactory factory = new ONAPPDPEngineFactory(); + factory.newEngine(); + fail("Expecting an exception."); + } - } + @PrepareForTest({EvaluationContextFactory.class, FactoryFinder.class}) + @Test(expected = FactoryException.class) + public void negTestEngine2() throws FactoryException { + // Setup test data + PowerMockito.mockStatic(FactoryFinder.class); + PowerMockito.when(FactoryFinder.find(Mockito.any(), Mockito.any(), Mockito.any())) + .thenReturn(null); - @Test - public final void testNewEngineProperties() { - ONAPPDPEngineFactory pdpEngine = new ONAPPDPEngineFactory(); - Properties properties = new Properties(); - try{ - assertTrue(pdpEngine.newEngine(properties) != null); - }catch (Exception e) { - fail("operation failed, e="+e); - } - } + // Negative test factory + ONAPPDPEngineFactory factory = new ONAPPDPEngineFactory(); + Properties properties = new Properties(); + factory.newEngine(properties); + fail("Expecting an exception."); + } } diff --git a/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/ONAPPDPEngineTest.java b/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/ONAPPDPEngineTest.java new file mode 100644 index 000000000..6eb6e4cfc --- /dev/null +++ b/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/ONAPPDPEngineTest.java @@ -0,0 +1,45 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP-PDP + * ================================================================================ + * 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.xacml.pdp; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import org.junit.Test; +import org.mockito.Mockito; +import com.att.research.xacml.api.Request; +import com.att.research.xacml.api.Response; +import com.att.research.xacml.api.pdp.PDPException; +import com.att.research.xacml.api.pdp.ScopeResolver; +import com.att.research.xacmlatt.pdp.eval.EvaluationContextFactory; + +public class ONAPPDPEngineTest { + @Test + public void testEngine() throws PDPException { + EvaluationContextFactory factory = Mockito.mock(EvaluationContextFactory.class); + ScopeResolver resolver = Mockito.mock(ScopeResolver.class); + ONAPPDPEngine engine = new ONAPPDPEngine(factory, resolver); + assertNotNull(engine); + + Request pepRequest = Mockito.mock(Request.class); + Response response = engine.decide(pepRequest); + assertEquals(1, response.getResults().size()); + } +} -- cgit 1.2.3-korg