Don't use hard-coded tmp path 23/55423/2
authorJim Hahn <jrh3@att.com>
Tue, 26 Jun 2018 15:22:48 +0000 (11:22 -0400)
committerJim Hahn <jrh3@att.com>
Tue, 26 Jun 2018 15:30:04 +0000 (11:30 -0400)
Modified code to use java system variable to identify temp
directory.

Change-Id: Ib656dd2a2d57e43febb0daaa25cf90cb1b9330a7
Issue-ID: POLICY-920
Signed-off-by: Jim Hahn <jrh3@att.com>
ONAP-XACML/src/test/java/org/onap/policy/xacml/test/std/pap/StdEngineFactoryTest.java
ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/XACMLPolicyWriterTest.java

index 500136f..2e0a0de 100644 (file)
@@ -21,10 +21,13 @@ package org.onap.policy.xacml.test.std.pap;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+
 import java.io.IOException;
 import java.util.Properties;
+
 import org.junit.Test;
 import org.onap.policy.xacml.std.pap.StdEngineFactory;
+
 import com.att.research.xacml.api.pap.PAPException;
 import com.att.research.xacml.std.pap.StdEngine;
 import com.att.research.xacml.util.FactoryException;
@@ -45,15 +48,16 @@ public class StdEngineFactoryTest {
   }
 
   @Test
-  public void testNegativeCase() throws FactoryException, PAPException {
+  public void testNegativeCase() throws Exception {
     // Setup test data
     Properties props = new Properties();
-    props.setProperty(StdEngine.PROP_PAP_REPO, "/tmp");
+    String tmpdir = System.getProperty("java.io.tmpdir");
+    props.setProperty(StdEngine.PROP_PAP_REPO, tmpdir);
 
     // Set the system property temporarily
     String systemKey = StdEngine.PROP_PAP_REPO;
     String oldProperty = System.getProperty(systemKey);
-    System.setProperty(systemKey, "/tmp");
+    System.setProperty(systemKey, tmpdir);
 
     // Test factory failure cases
     try {
index 0a3a5e0..446a87d 100644 (file)
@@ -1,8 +1,8 @@
-/*-
+/*
  * ============LICENSE_START=======================================================
  * ONAP-XACML
  * ================================================================================
- * 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,17 +21,19 @@ package org.onap.policy.xacml.test.util;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.nio.file.Path;
-import java.nio.file.Paths;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.junit.Before;
 import org.junit.Test;
 import org.onap.policy.xacml.util.XACMLPolicyWriter;
+
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicySetType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
 
@@ -65,12 +67,19 @@ public class XACMLPolicyWriterTest {
   }
 
   @Test
-  public void testWrites() {
+  public void testWrites() throws Exception {
     // Set up test data
     PolicyType policyType = new PolicyType();
     OutputStream os = new ByteArrayOutputStream();
-    Path filename = Paths.get("/tmp/foo");
+    File tmpfile = File.createTempFile("foo", null);
+    Path filename = tmpfile.toPath();
     PolicySetType policySet = new PolicySetType();
+    
+    // delete tmp file before running the test
+    tmpfile.delete();
+
+    // ensure its deleted after writePolicyFile() re-creates it
+    tmpfile.deleteOnExit();
 
     // Test write combinations
     assertNotNull(XACMLPolicyWriter.writePolicyFile(filename, policySet));