From 29adf2d85eb242161c1b57fa15c2467bd522633b Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 17 Jan 2017 21:16:20 +0000 Subject: [PATCH] Ensure that test closes InputStream that reads contents of output files --- .../SampleIntegrationApplicationTests.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/spring-boot-samples/spring-boot-sample-integration/src/test/java/sample/integration/consumer/SampleIntegrationApplicationTests.java b/spring-boot-samples/spring-boot-sample-integration/src/test/java/sample/integration/consumer/SampleIntegrationApplicationTests.java index 6af1035db63..1dc3ee1e5b9 100644 --- a/spring-boot-samples/spring-boot-sample-integration/src/test/java/sample/integration/consumer/SampleIntegrationApplicationTests.java +++ b/spring-boot-samples/spring-boot-sample-integration/src/test/java/sample/integration/consumer/SampleIntegrationApplicationTests.java @@ -18,6 +18,7 @@ package sample.integration.consumer; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.util.concurrent.Callable; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -57,13 +58,7 @@ public class SampleIntegrationApplicationTests { private void deleteIfExists(File directory) throws InterruptedException { if (directory.exists()) { - for (int i = 0; i < 10; i++) { - if (FileSystemUtils.deleteRecursively(directory)) { - return; - } - Thread.sleep(500); - } - throw new IllegalStateException("Failed to delete '" + directory + "'"); + assertThat(FileSystemUtils.deleteRecursively(directory)).isTrue(); } } @@ -102,8 +97,14 @@ public class SampleIntegrationApplicationTests { } StringBuilder builder = new StringBuilder(); for (Resource resource : resources) { - builder.append(new String(StreamUtils - .copyToByteArray(resource.getInputStream()))); + InputStream inputStream = resource.getInputStream(); + try { + builder.append(new String( + StreamUtils.copyToByteArray(inputStream))); + } + finally { + inputStream.close(); + } } return builder.toString(); }