Add code coverage XacmlPolicyUtils 08/103708/1
authorPamela Dragosh <pdragosh@research.att.com>
Sun, 15 Mar 2020 02:36:22 +0000 (22:36 -0400)
committerPamela Dragosh <pdragosh@research.att.com>
Sun, 15 Mar 2020 02:36:29 +0000 (22:36 -0400)
Fix spelling error and add code cover >95% for the
XacmlPolicyUtils.

Issue-ID: POLICY-2242
Change-Id: I21f239e6bd42073ff84883d04f2b8bee1466b8e0
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/XacmlPolicyUtilsTest.java
main/src/main/java/org/onap/policy/pdpx/main/rest/XacmlPdpApplicationManager.java

index 1e13d52..46ad83b 100644 (file)
@@ -27,7 +27,6 @@ import static org.assertj.core.api.Assertions.assertThatCode;
 
 import com.att.research.xacml.api.XACML3;
 import com.att.research.xacml.util.XACMLPolicyWriter;
-
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
@@ -295,4 +294,36 @@ public class XacmlPolicyUtilsTest {
         XacmlPolicyUtils.debugDumpPolicyProperties(properties, LOGGER);
         assertThat(properties.getProperty("refstart3.file")).isNotBlank();
     }
+
+    @Test
+    public void testCopyingProperties() throws Exception {
+        //
+        // Copy to this folder
+        //
+        File copyFolder = policyFolder.newFolder("copy");
+        assertThat(copyFolder.exists()).isTrue();
+        //
+        // Mock up a properties object
+        //
+        Properties mockProperties = new Properties();
+        XacmlPolicyUtils.addRootPolicy(mockProperties, rootPath);
+        XacmlPolicyUtils.addReferencedPolicy(mockProperties, path1);
+        //
+        // Write the properties out to a file
+        //
+        Path fileProperties = XacmlPolicyUtils.getPropertiesPath(policyFolder.getRoot().toPath());
+        XacmlPolicyUtils.storeXacmlProperties(mockProperties, fileProperties);
+        //
+        // Now we can test the copy method
+        //
+        XacmlPolicyUtils.FileCreator myCreator = (String filename) -> policyFolder.newFile("copy/" + filename);
+        File propertiesFile = XacmlPolicyUtils.copyXacmlPropertiesContents(
+                fileProperties.toAbsolutePath().toString(), mockProperties, myCreator);
+
+        assertThat(propertiesFile.canRead()).isTrue();
+        assertThat(Path.of(copyFolder.getAbsolutePath(),
+                rootPath.getFileName().toString()).toFile().canRead()).isTrue();
+        assertThat(Path.of(copyFolder.getAbsolutePath(),
+                path1.getFileName().toString()).toFile().canRead()).isTrue();
+    }
 }
index a9d58b9..66f965f 100644 (file)
@@ -202,7 +202,7 @@ public class XacmlPdpApplicationManager {
         // Ideally we shouldn't ever get here if we
         // are ensuring we are reporting a set of Policy Types and the
         // pap honors that. The loadPolicy for each application should be
-        // the own throwing exceptions if there are any errors in the policy type.
+        // the one throwing exceptions if there are any errors in the policy type.
         //
         throw new XacmlApplicationException("Application not found for policy type" + policy.getTypeIdentifier());
     }