+
+ @Test
+ public void testRemovingProperties() {
+ //
+ // Dump what we are starting with
+ //
+ XacmlPolicyUtils.debugDumpPolicyProperties(properties, LOGGER);
+ //
+ // Remove referenced policies
+ //
+ Path ref = Paths.get("src/test/resources/ref1.xml");
+ XacmlPolicyUtils.removeReferencedPolicy(properties, ref);
+ XacmlPolicyUtils.debugDumpPolicyProperties(properties, LOGGER);
+ assertThat(properties.getProperty("refstart1.file")).isNullOrEmpty();
+
+ ref = Paths.get("src/test/resources/ref2.xml");
+ XacmlPolicyUtils.removeReferencedPolicy(properties, ref);
+ XacmlPolicyUtils.debugDumpPolicyProperties(properties, LOGGER);
+ assertThat(properties.getProperty("refstart2.file")).isNullOrEmpty();
+
+ //
+ // Test one that isn't in there
+ //
+ ref = Paths.get("src/test/resources/NotThere.xml");
+ XacmlPolicyUtils.removeReferencedPolicy(properties, ref);
+ XacmlPolicyUtils.debugDumpPolicyProperties(properties, LOGGER);
+ assertThat(properties.getProperty("refstart3.file")).isNotBlank();
+
+ ref = Paths.get("src/test/resources/ref3.xml");
+ XacmlPolicyUtils.removeReferencedPolicy(properties, ref);
+ XacmlPolicyUtils.debugDumpPolicyProperties(properties, LOGGER);
+ assertThat(properties.getProperty("refstart3.file")).isNullOrEmpty();
+
+ ref = Paths.get("src/test/resources/ref4.xml");
+ XacmlPolicyUtils.removeReferencedPolicy(properties, ref);
+ XacmlPolicyUtils.debugDumpPolicyProperties(properties, LOGGER);
+ assertThat(properties.getProperty("refstart4.file")).isNullOrEmpty();
+ }