diff options
Diffstat (limited to 'utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java')
-rw-r--r-- | utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java | 73 |
1 files changed, 60 insertions, 13 deletions
diff --git a/utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java b/utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java index 67cdab52..91268979 100644 --- a/utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java +++ b/utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. - * Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2020-2021 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,11 +21,13 @@ package org.onap.policy.common.utils.resources; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import org.apache.commons.io.FileUtils; import org.junit.Test; /** @@ -39,35 +41,80 @@ public class TextFileUtilsTest { @Test public void testPutToFile() throws IOException { - final File tempTextFile = File.createTempFile("Test", "txt"); + final File tempTextFile = File.createTempFile("Test", ".txt"); + tempTextFile.deleteOnExit(); TextFileUtils.putStringAsTextFile(FILE_CONTENT, tempTextFile.getAbsolutePath()); final String textFileString0 = TextFileUtils.getTextFileAsString(tempTextFile.getAbsolutePath()); assertEquals(FILE_CONTENT, textFileString0); - final FileInputStream fis = new FileInputStream(tempTextFile); - final String textFileString1 = TextFileUtils.getStreamAsString(fis); - assertEquals(textFileString0, textFileString1); + try (final FileInputStream fis = new FileInputStream(tempTextFile)) { + final String textFileString1 = TextFileUtils.getStreamAsString(fis); + assertEquals(textFileString0, textFileString1); + } } @Test public void testPutToFileWithNewPath() throws IOException { String tempDirAndFileName = System.getProperty("java.io.tmpdir") + "/non/existant/path/Test.txt"; + FileUtils.forceDeleteOnExit(new File(tempDirAndFileName)); TextFileUtils.putStringAsTextFile(FILE_CONTENT, tempDirAndFileName); final String textFileString0 = TextFileUtils.getTextFileAsString(tempDirAndFileName); assertEquals(FILE_CONTENT, textFileString0); - final FileInputStream fis = new FileInputStream(tempDirAndFileName); - final String textFileString1 = TextFileUtils.getStreamAsString(fis); - assertEquals(textFileString0, textFileString1); + try (final FileInputStream fis = new FileInputStream(tempDirAndFileName)) { + final String textFileString1 = TextFileUtils.getStreamAsString(fis); + assertEquals(textFileString0, textFileString1); + } + } + + @Test + public void testCreateTempFile() throws IOException { + var file = TextFileUtils.createTempFile("textFileUtilsTest", ".txt"); + file.deleteOnExit(); + + verifyDefaultPermissions(file); + } + + @Test + public void testSetDefaultPermissions() throws IOException { + var file = new File("target/tempfile.txt"); + file.deleteOnExit(); + + // ensure it doesn't exist before we create it + file.delete(); + assertThat(file.createNewFile()).isTrue(); + + // check using whatever permissions it comes with + + TextFileUtils.setDefaultPermissions(file); + + verifyDefaultPermissions(file); + + // prevent read-write-execute by anyone + file.setReadable(false); + file.setWritable(false); + file.setExecutable(false); + + TextFileUtils.setDefaultPermissions(file); + + verifyDefaultPermissions(file); + + // make it read-write-execute by everyone + file.setReadable(true); + file.setWritable(true); + file.setExecutable(true); + + TextFileUtils.setDefaultPermissions(file); + + verifyDefaultPermissions(file); + } - File tempDirAndFile = new File(tempDirAndFileName); - tempDirAndFile.delete(); - tempDirAndFile.getParentFile().delete(); - tempDirAndFile.getParentFile().getParentFile().delete(); - tempDirAndFile.getParentFile().getParentFile().getParentFile().delete(); + private void verifyDefaultPermissions(File file) { + assertThat(file).canRead().canWrite(); + assertThat(file.canExecute()).isTrue(); } } |