Repository: nifi Updated Branches: refs/heads/master 06d621f35 -> 1bf7a585b
NIFI-1456 This closes #198. reduced tests to 10MB instead of 100MB datasets and resolved IO issues which impact test stability Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/1bf7a585 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/1bf7a585 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/1bf7a585 Branch: refs/heads/master Commit: 1bf7a585b2c622069ba6e9cd84b041997d367e01 Parents: 06d621f Author: joewitt <[email protected]> Authored: Sun Jan 31 21:00:38 2016 -0500 Committer: joewitt <[email protected]> Committed: Sun Jan 31 21:56:53 2016 -0500 ---------------------------------------------------------------------- .../standard/TestExecuteStreamCommand.java | 56 +++++++++----------- 1 file changed, 24 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/1bf7a585/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteStreamCommand.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteStreamCommand.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteStreamCommand.java index 44576d4..8522093 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteStreamCommand.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteStreamCommand.java @@ -21,9 +21,9 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.io.File; -import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.nio.file.Files; import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -103,21 +103,19 @@ public class TestExecuteStreamCommand { public void testExecuteIngestAndUpdate() throws IOException { File exJar = new File("src/test/resources/ExecuteCommand/TestIngestAndUpdate.jar"); File dummy = new File("src/test/resources/ExecuteCommand/1000bytes.txt"); - File dummy100MBytes = new File("target/100MB.txt"); - FileInputStream fis = new FileInputStream(dummy); - FileOutputStream fos = new FileOutputStream(dummy100MBytes); - byte[] bytes = new byte[1024]; - assertEquals(1000, fis.read(bytes)); - fis.close(); - for (int i = 0; i < 100000; i++) { - fos.write(bytes, 0, 1000); + File dummy10MBytes = new File("target/10MB.txt"); + try (FileOutputStream fos = new FileOutputStream(dummy10MBytes)) { + byte[] bytes = Files.readAllBytes(dummy.toPath()); + assertEquals(1000, bytes.length); + for (int i = 0; i < 10000; i++) { + fos.write(bytes, 0, 1000); + } } - fos.close(); String jarPath = exJar.getAbsolutePath(); exJar.setExecutable(true); final TestRunner controller = TestRunners.newTestRunner(ExecuteStreamCommand.class); controller.setValidateExpressionUsage(false); - controller.enqueue(dummy100MBytes.toPath()); + controller.enqueue(dummy10MBytes.toPath()); controller.setProperty(ExecuteStreamCommand.EXECUTION_COMMAND, "java"); controller.setProperty(ExecuteStreamCommand.EXECUTION_ARGUMENTS, "-jar;" + jarPath); controller.run(1); @@ -323,21 +321,18 @@ public class TestExecuteStreamCommand { public void testExecuteIngestAndUpdatePutToAttribute() throws IOException { File exJar = new File("src/test/resources/ExecuteCommand/TestIngestAndUpdate.jar"); File dummy = new File("src/test/resources/ExecuteCommand/1000bytes.txt"); - File dummy100MBytes = new File("target/100MB.txt"); - FileInputStream fis = new FileInputStream(dummy); - FileOutputStream fos = new FileOutputStream(dummy100MBytes); - byte[] bytes = new byte[1024]; - assertEquals(1000, fis.read(bytes)); - fis.close(); - for (int i = 0; i < 100000; i++) { - fos.write(bytes, 0, 1000); + File dummy10MBytes = new File("target/10MB.txt"); + byte[] bytes = Files.readAllBytes(dummy.toPath()); + try (FileOutputStream fos = new FileOutputStream(dummy10MBytes)) { + for (int i = 0; i < 10000; i++) { + fos.write(bytes, 0, 1000); + } } - fos.close(); String jarPath = exJar.getAbsolutePath(); exJar.setExecutable(true); final TestRunner controller = TestRunners.newTestRunner(ExecuteStreamCommand.class); controller.setValidateExpressionUsage(false); - controller.enqueue(dummy100MBytes.toPath()); + controller.enqueue(dummy10MBytes.toPath()); controller.setProperty(ExecuteStreamCommand.EXECUTION_COMMAND, "java"); controller.setProperty(ExecuteStreamCommand.EXECUTION_ARGUMENTS, "-jar;" + jarPath); controller.setProperty(ExecuteStreamCommand.PUT_OUTPUT_IN_ATTRIBUTE, "outputDest"); @@ -353,27 +348,24 @@ public class TestExecuteStreamCommand { @Test public void testLargePutToAttribute() throws IOException { File dummy = new File("src/test/resources/ExecuteCommand/1000bytes.txt"); - File dummy100MBytes = new File("target/100MB.txt"); - FileInputStream fis = new FileInputStream(dummy); - FileOutputStream fos = new FileOutputStream(dummy100MBytes); - byte[] bytes = new byte[1024]; - assertEquals(1000, fis.read(bytes)); - fis.close(); - for (int i = 0; i < 100000; i++) { - fos.write(bytes, 0, 1000); + File dummy10MBytes = new File("target/10MB.txt"); + byte[] bytes = Files.readAllBytes(dummy.toPath()); + try (FileOutputStream fos = new FileOutputStream(dummy10MBytes)) { + for (int i = 0; i < 10000; i++) { + fos.write(bytes, 0, 1000); + } } - fos.close(); final TestRunner controller = TestRunners.newTestRunner(ExecuteStreamCommand.class); controller.setValidateExpressionUsage(false); controller.enqueue("".getBytes()); if(isWindows()) { controller.setProperty(ExecuteStreamCommand.EXECUTION_COMMAND, "cmd.exe"); - controller.setProperty(ExecuteStreamCommand.EXECUTION_ARGUMENTS, "/c;type " + dummy100MBytes.getAbsolutePath()); + controller.setProperty(ExecuteStreamCommand.EXECUTION_ARGUMENTS, "/c;type " + dummy10MBytes.getAbsolutePath()); controller.setProperty(ExecuteStreamCommand.ARG_DELIMITER, ";"); } else{ controller.setProperty(ExecuteStreamCommand.EXECUTION_COMMAND, "cat"); - controller.setProperty(ExecuteStreamCommand.EXECUTION_ARGUMENTS, dummy100MBytes.getAbsolutePath()); + controller.setProperty(ExecuteStreamCommand.EXECUTION_ARGUMENTS, dummy10MBytes.getAbsolutePath()); } controller.setProperty(ExecuteStreamCommand.IGNORE_STDIN, "true"); controller.setProperty(ExecuteStreamCommand.PUT_OUTPUT_IN_ATTRIBUTE, "executeStreamCommand.output");
