X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ONAP-XACML%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fxacml%2Ftest%2Fstd%2Fpap%2FStdEngineTest.java;fp=ONAP-XACML%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fxacml%2Ftest%2Fstd%2Fpap%2FStdEngineTest.java;h=79b43b130d63c04e4ff107e0d99b7d5d80b289cc;hb=665e2cd61701f2519997231a0ce96b0d30651c89;hp=f0ee8dd736abf0dfd6c012e002f80da60518a23d;hpb=939cf950022f89aec547d3a6a9f6b9443b7a8a95;p=policy%2Fengine.git diff --git a/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/std/pap/StdEngineTest.java b/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/std/pap/StdEngineTest.java index f0ee8dd73..79b43b130 100644 --- a/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/std/pap/StdEngineTest.java +++ b/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/std/pap/StdEngineTest.java @@ -4,12 +4,14 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright (C) 2019 Samsung + * ================================================================================ * 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. @@ -52,16 +54,20 @@ public class StdEngineTest { private Path repository; Properties properties = new Properties(); StdEngine stdEngine = null; - + @Rule public ExpectedException expectedException = ExpectedException.none(); - + @BeforeClass - public static void setUpClass() throws IOException{ + public static void setUpClass() throws IOException { new File("target/test/resources/pdps").mkdirs(); new File("target/test/resources/emptyPapGroupsDefault").mkdirs(); - Files.copy(Paths.get("src/test/resources/pdps/xacml.properties"), Paths.get("target/test/resources/pdps/xacml.properties"), StandardCopyOption.REPLACE_EXISTING); - Files.copy(Paths.get("src/test/resources/emptyPapGroupsDefault/xacml.properties"), Paths.get("target/test/resources/emptyPapGroupsDefault/xacml.properties"), StandardCopyOption.REPLACE_EXISTING); + Files.copy(Paths.get("src/test/resources/pdps/xacml.properties"), + Paths.get("target/test/resources/pdps/xacml.properties"), + StandardCopyOption.REPLACE_EXISTING); + Files.copy(Paths.get("src/test/resources/emptyPapGroupsDefault/xacml.properties"), + Paths.get("target/test/resources/emptyPapGroupsDefault/xacml.properties"), + StandardCopyOption.REPLACE_EXISTING); } @Before @@ -100,47 +106,53 @@ public class StdEngineTest { public void testNoRepository() throws PAPException, IOException { expectedException.expect(PAPException.class); expectedException.expectMessage("No repository specified."); - new StdEngine((Path)null); + new StdEngine((Path) null); } - + @Test public void testRepositoryDoesNotExist() throws PAPException, IOException { repository = Paths.get("target/test/resources/nonExisting"); new StdEngine(repository); - - assertTrue(Files.exists(Paths.get("target/test/resources/nonExisting/default/xacml.pip.properties"))); - assertTrue(Files.exists(Paths.get("target/test/resources/nonExisting/default/xacml.policy.properties"))); + + assertTrue(Files.exists( + Paths.get("target/test/resources/nonExisting/default/xacml.pip.properties"))); + assertTrue(Files.exists( + Paths.get("target/test/resources/nonExisting/default/xacml.policy.properties"))); assertTrue(Files.exists(Paths.get("target/test/resources/nonExisting/xacml.properties"))); FileUtils.deleteDirectory(repository.toFile()); } - + @Test public void testEmptyPapGroupsDefault() throws PAPException, IOException { System.setProperty("xacml.pap.groups.default", ""); repository = Paths.get("target/test/resources/emptyPapGroupsDefault"); new StdEngine(repository); - - assertTrue(Files.exists(Paths.get("target/test/resources/emptyPapGroupsDefault/default/xacml.pip.properties"))); - assertTrue(Files.exists(Paths.get("target/test/resources/emptyPapGroupsDefault/default/xacml.policy.properties"))); - assertTrue(Files.exists(Paths.get("target/test/resources/emptyPapGroupsDefault/xacml.properties"))); + + assertTrue(Files.exists(Paths + .get("target/test/resources/emptyPapGroupsDefault/default/xacml.pip.properties"))); + assertTrue(Files.exists(Paths.get( + "target/test/resources/emptyPapGroupsDefault/default/xacml.policy.properties"))); + assertTrue(Files + .exists(Paths.get("target/test/resources/emptyPapGroupsDefault/xacml.properties"))); } - + @Test - public void testNewGroupAndRemoveGroup() throws NullPointerException, PAPException, IOException { + public void testNewGroupAndRemoveGroup() + throws NullPointerException, PAPException, IOException { OnapPDPGroup newGroup = createGroup("newGroup", "Description of new group"); assertNotNull(newGroup); stdEngine.removeGroup(stdEngine.getGroup("newGroup"), null); assertNull(stdEngine.getGroup("newGroup")); } - + @Test public void testRemoveGroupNull() throws NullPointerException, PAPException, IOException { expectedException.expect(NullPointerException.class); stdEngine.removeGroup(null, null); assertNull(stdEngine.getGroup("newGroup")); } - + @Test public void testRemoveGroupUnknown() throws NullPointerException, PAPException, IOException { OnapPDPGroup unknownGroup = new StdPDPGroup("unknownId", null); @@ -149,7 +161,7 @@ public class StdEngineTest { expectedException.expectMessage("The group 'unknownId' does not exist"); stdEngine.removeGroup(unknownGroup, null); } - + @Test public void testRemoveGroupDefault() throws NullPointerException, PAPException, IOException { OnapPDPGroup defaultGroup = stdEngine.getDefaultGroup(); @@ -158,141 +170,145 @@ public class StdEngineTest { expectedException.expectMessage("You cannot delete the default group."); stdEngine.removeGroup(defaultGroup, null); } - + @Test public void testSetDefaultGroup() throws NullPointerException, PAPException, IOException { OnapPDPGroup newGroup = createGroup("newGroup", "Description of new group"); assertNotNull(newGroup); - + OnapPDPGroup defaultGroup = stdEngine.getDefaultGroup(); assertEquals("default", defaultGroup.getName()); stdEngine.setDefaultGroup(newGroup); assertEquals(newGroup, stdEngine.getDefaultGroup()); - + stdEngine.setDefaultGroup(defaultGroup); stdEngine.removeGroup(stdEngine.getGroup("newGroup"), null); } - + @Test - public void testPdps() throws NullPointerException, PAPException{ + public void testPdps() throws NullPointerException, PAPException { OnapPDPGroup group1 = createGroup("newGroup", "Description of new group"); assertEquals(0, group1.getPdps().size()); - + stdEngine.newPDP("newPdp", group1, "newPdpName", "A new pdp", 1); assertEquals(1, group1.getPdps().size()); assertEquals("newPdp", group1.getPdps().iterator().next().getId()); assertEquals("newPdpName", group1.getPdps().iterator().next().getName()); assertEquals("A new pdp", group1.getPdps().iterator().next().getDescription()); - + OnapPDPGroup group2 = createGroup("anotherNewGroup", "Description of new group"); assertEquals(0, group2.getPdps().size()); - + stdEngine.movePDP(group1.getOnapPdps().iterator().next(), group2); assertEquals(0, group1.getPdps().size()); assertEquals(1, group2.getPdps().size()); - + OnapPDP pdp = group2.getOnapPdps().iterator().next(); pdp.setName("AnUpdatedName");; pdp.setDescription("An updated description"); stdEngine.updatePDP(pdp); assertEquals("AnUpdatedName", group2.getPdps().iterator().next().getName()); assertEquals("An updated description", group2.getPdps().iterator().next().getDescription()); - + stdEngine.removePDP(group2.getOnapPdps().iterator().next()); assertEquals(0, group1.getPdps().size()); assertEquals(0, group2.getPdps().size()); } - + @Test - public void testNewPdpNullGroup() throws NullPointerException, PAPException{ + public void testNewPdpNullGroup() throws NullPointerException, PAPException { expectedException.expect(PAPException.class); expectedException.expectMessage("You must specify which group the PDP will belong to."); stdEngine.newPDP("newPdp", null, "newPdpName", "A new pdp", 1); } - + @Test - public void testNewPdpUnknownGroup() throws NullPointerException, PAPException{ + public void testNewPdpUnknownGroup() throws NullPointerException, PAPException { OnapPDPGroup unknownGroup = new StdPDPGroup("unknownId", null); expectedException.expect(PAPException.class); expectedException.expectMessage("Unknown group, not in our list."); stdEngine.newPDP("newPdp", unknownGroup, "newPdpName", "A new pdp", 1); } - + @Test - public void testNewPdpAlreadyExistingPdp() throws NullPointerException, PAPException{ + public void testNewPdpAlreadyExistingPdp() throws NullPointerException, PAPException { OnapPDPGroup group1 = createGroup("newGroup", "Description of new group"); assertEquals(0, group1.getPdps().size()); - + stdEngine.newPDP("newPdp", group1, "newPdpName", "A new pdp", 1); assertEquals(1, group1.getPdps().size()); - + expectedException.expect(PAPException.class); expectedException.expectMessage("A PDP with this ID exists."); stdEngine.newPDP("newPdp", group1, "newPdpName", "A new pdp", 1); } - + @Test - public void testRemoveGroupWithPdps() throws NullPointerException, PAPException{ + public void testRemoveGroupWithPdps() throws NullPointerException, PAPException { OnapPDPGroup group1 = createGroup("newGroup", "Description of new group"); - + stdEngine.newPDP("newPdp", group1, "newPdpName", "A new pdp", 1); assertEquals(1, group1.getPdps().size()); - + OnapPDPGroup group2 = createGroup("anotherNewGroup", "Description of new group"); assertEquals(0, group2.getPdps().size()); - + stdEngine.removeGroup(group1, group2); assertNull(stdEngine.getGroup("newGroup")); assertEquals(1, group2.getPdps().size()); } - + @Test - public void testRemoveGroupWithPdpsNoTarget() throws NullPointerException, PAPException{ + public void testRemoveGroupWithPdpsNoTarget() throws NullPointerException, PAPException { OnapPDPGroup group1 = createGroup("newGroup", "Description of new group"); - + stdEngine.newPDP("newPdp", group1, "newPdpName", "A new pdp", 1); assertEquals(1, group1.getPdps().size()); - + OnapPDPGroup group2 = createGroup("anotherNewGroup", "Description of new group"); assertEquals(0, group2.getPdps().size()); - + expectedException.expect(NullPointerException.class); - expectedException.expectMessage("Group targeted for deletion has PDPs, you must provide a new group for them."); + expectedException.expectMessage( + "Group targeted for deletion has PDPs, you must provide a new group for them."); stdEngine.removeGroup(group1, null); } - + @Test public void testUpdateGroupName() throws NullPointerException, PAPException, IOException { OnapPDPGroup newGroup = createGroup("newGroup", "Description of new group"); - + OnapPDPGroup updatedGroup = new StdPDPGroup(newGroup); updatedGroup.setName("AnUpdatedName"); stdEngine.updateGroup(updatedGroup); assertNull(stdEngine.getGroup("newGroup")); assertNotNull(stdEngine.getGroup("AnUpdatedName")); assertEquals("AnUpdatedName", stdEngine.getGroup("AnUpdatedName").getName()); - assertEquals("Description of new group", stdEngine.getGroup("AnUpdatedName").getDescription()); + assertEquals("Description of new group", + stdEngine.getGroup("AnUpdatedName").getDescription()); } - + @Test - public void testUpdateGroupDescription() throws NullPointerException, PAPException, IOException { + public void testUpdateGroupDescription() + throws NullPointerException, PAPException, IOException { OnapPDPGroup newGroup = createGroup("newGroup", "Description of new group"); - - OnapPDPGroup updatedGroup = new StdPDPGroup(newGroup.getId(), newGroup.getName(), "An updated description", Paths.get("target/test/resources/pdps/newGroup")); + + OnapPDPGroup updatedGroup = new StdPDPGroup(newGroup.getId(), newGroup.getName(), + "An updated description", Paths.get("target/test/resources/pdps/newGroup")); updatedGroup.setDescription("An updated description"); stdEngine.updateGroup(updatedGroup); assertEquals("newGroup", stdEngine.getGroup("newGroup").getName()); assertEquals("An updated description", stdEngine.getGroup("newGroup").getDescription()); } - + @Test public void testUpdateGroupNull() throws NullPointerException, PAPException, IOException { expectedException.expect(PAPException.class); expectedException.expectMessage("Group or id is null"); stdEngine.updateGroup(null); } - + @Test public void testUpdateGroupIdNull() throws NullPointerException, PAPException, IOException { StdPDPGroup group = new StdPDPGroup(null, null); @@ -300,7 +316,7 @@ public class StdEngineTest { expectedException.expectMessage("Group or id is null"); stdEngine.updateGroup(group); } - + @Test public void testUpdateGroupNameNull() throws NullPointerException, PAPException, IOException { StdPDPGroup group = new StdPDPGroup("groupId", null); @@ -308,15 +324,16 @@ public class StdEngineTest { expectedException.expectMessage("New name for group cannot be null or blank"); stdEngine.updateGroup(group); } - + @Test - public void testUpdateGroupNameEmptyString() throws NullPointerException, PAPException, IOException { + public void testUpdateGroupNameEmptyString() + throws NullPointerException, PAPException, IOException { StdPDPGroup group = new StdPDPGroup("groupId", "", "description", null); expectedException.expect(PAPException.class); expectedException.expectMessage("New name for group cannot be null or blank"); stdEngine.updateGroup(group); } - + @Test public void testUpdateGroupUnknown() throws NullPointerException, PAPException, IOException { StdPDPGroup group = new StdPDPGroup("groupId", "groupName", "description", null); @@ -324,69 +341,77 @@ public class StdEngineTest { expectedException.expectMessage("Update found no existing group with id 'groupId'"); stdEngine.updateGroup(group); } - + @Test - public void testPublishAndRemovePolicy() throws NullPointerException, PAPException, FileNotFoundException{ + public void testPublishAndRemovePolicy() + throws NullPointerException, PAPException, FileNotFoundException { OnapPDPGroup newGroup = createGroup("newGroup", "Description of new group"); - InputStream inputStream = new FileInputStream("src/test/resources/pdps/default/com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml"); - stdEngine.publishPolicy("com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml", "Config_BRMS_Param_BRMSParamvFWDemoPolicy", true, inputStream, newGroup); + InputStream inputStream = new FileInputStream( + "src/test/resources/pdps/default/com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml"); + stdEngine.publishPolicy("com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml", + "Config_BRMS_Param_BRMSParamvFWDemoPolicy", true, inputStream, newGroup); PDPPolicy policy = newGroup.getPolicy("com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml"); assertNotNull(policy); - + stdEngine.removePolicy(policy, newGroup); assertNull(newGroup.getPolicy("com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml")); } - + @Test - public void testPublishPolicyNull() throws NullPointerException, PAPException, FileNotFoundException{ + public void testPublishPolicyNull() + throws NullPointerException, PAPException, FileNotFoundException { expectedException.expect(NullPointerException.class); stdEngine.publishPolicy(null, null, true, null, null); } - + @Test - public void testPublishPolicyUnknownGroup() throws NullPointerException, PAPException, FileNotFoundException{ + public void testPublishPolicyUnknownGroup() + throws NullPointerException, PAPException, FileNotFoundException { OnapPDPGroup unknownGroup = new StdPDPGroup("unknownId", null); expectedException.expect(PAPException.class); expectedException.expectMessage("Unknown PDP Group: unknownId"); stdEngine.publishPolicy(null, null, true, null, unknownGroup); } - + @Test - public void testRemovePolicyNull() throws NullPointerException, PAPException, FileNotFoundException{ + public void testRemovePolicyNull() + throws NullPointerException, PAPException, FileNotFoundException { expectedException.expect(NullPointerException.class); stdEngine.removePolicy(null, null); } - + @Test - public void testRemovePolicyUnknownGroup() throws NullPointerException, PAPException, FileNotFoundException{ + public void testRemovePolicyUnknownGroup() + throws NullPointerException, PAPException, FileNotFoundException { OnapPDPGroup unknownGroup = new StdPDPGroup("unknownId", null); expectedException.expect(PAPException.class); expectedException.expectMessage("Unknown PDP Group: unknownId"); stdEngine.removePolicy(null, unknownGroup); } - - private OnapPDPGroup createGroup(final String name, final String description) throws NullPointerException, PAPException{ + + private OnapPDPGroup createGroup(final String name, final String description) + throws NullPointerException, PAPException { ensureGroupDoesntExist(name); stdEngine.newGroup(name, description); return stdEngine.getGroup(name); } - + @After - public void tearDown() throws PAPException{ + public void tearDown() throws PAPException { ensureGroupDoesntExist("newGroup"); ensureGroupDoesntExist("anotherNewGroup"); ensureGroupDoesntExist("AnUpdatedName"); } - - private void ensureGroupDoesntExist(final String groupName) throws PAPException{ + + private void ensureGroupDoesntExist(final String groupName) throws PAPException { OnapPDPGroup group = stdEngine.getGroup(groupName); - if (group != null){ - for (OnapPDP pdp: group.getOnapPdps()){ + if (group != null) { + for (OnapPDP pdp : group.getOnapPdps()) { stdEngine.removePDP(pdp); } - stdEngine.removeGroup(group, null); - } + stdEngine.removeGroup(group, null); + } } }