diff options
Diffstat (limited to 'ONAP-PDP')
3 files changed, 125 insertions, 22 deletions
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 @@ -34,6 +34,25 @@ </parent> <dependencies> <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>1.10.19</version> + <scope>test</scope> + </dependency> + <!-- https://mvnrepository.com/artifact/org.powermock/powermock-api-mockito --> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-api-mockito</artifactId> + <version>1.7.3</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-junit4</artifactId> + <version>1.7.3</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.onap.policy.engine</groupId> <version>${project.version}</version> <artifactId>ONAP-REST</artifactId> @@ -94,6 +113,11 @@ <version>${project.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>com.mockrunner</groupId> + <artifactId>mockrunner</artifactId> + <version>0.3.1</version> + </dependency> </dependencies> </project> 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()); + } +} |