From 104b72444607362e9344c7fba6248b389bc5a4cf Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 1 Sep 2014 17:45:30 -0700 Subject: [PATCH] Fix Windows Atomikos/Bitronix ApplicationTests Update SampleAtomikosApplicationTests and SampleBitronixApplicationTests to not depend on any specific System.out order. Fixes gh-1472 --- .../SampleAtomikosApplicationTests.java | 24 +++++++------------ .../SampleBitronixApplicationTests.java | 24 +++++++------------ 2 files changed, 16 insertions(+), 32 deletions(-) diff --git a/spring-boot-samples/spring-boot-sample-jta-atomikos/src/test/java/sample/atomikos/SampleAtomikosApplicationTests.java b/spring-boot-samples/spring-boot-sample-jta-atomikos/src/test/java/sample/atomikos/SampleAtomikosApplicationTests.java index f241bde5b1..1128e83f4b 100644 --- a/spring-boot-samples/spring-boot-sample-jta-atomikos/src/test/java/sample/atomikos/SampleAtomikosApplicationTests.java +++ b/spring-boot-samples/spring-boot-sample-jta-atomikos/src/test/java/sample/atomikos/SampleAtomikosApplicationTests.java @@ -16,16 +16,12 @@ package sample.atomikos; -import java.io.PrintWriter; -import java.io.StringWriter; - import org.hamcrest.Matcher; import org.hamcrest.core.SubstringMatcher; import org.junit.Rule; import org.junit.Test; import org.springframework.boot.test.OutputCapture; -import static org.hamcrest.Matchers.containsString; import static org.junit.Assert.assertThat; /** @@ -41,23 +37,19 @@ public class SampleAtomikosApplicationTests { @Test public void testTransactionRollback() throws Exception { SampleAtomikosApplication.main(new String[] {}); - StringWriter expectedWriter = new StringWriter(); - PrintWriter printer = new PrintWriter(expectedWriter); - printer.println("----> josh"); - printer.println("Count is 1"); - printer.println("Simulated error"); - printer.println("Count is 1"); - assertThat(this.outputCapture.toString(), - containsString(expectedWriter.toString())); - assertThat(this.outputCapture.toString(), containsStringOnce("---->")); + String output = this.outputCapture.toString(); + assertThat(output, containsString(1, "---->")); + assertThat(output, containsString(1, "----> josh")); + assertThat(output, containsString(2, "Count is 1")); + assertThat(output, containsString(1, "Simulated error")); } - private Matcher containsStringOnce(String s) { + private Matcher containsString(final int times, String s) { return new SubstringMatcher(s) { @Override protected String relationship() { - return "containing once"; + return "containing " + times + " times"; } @Override @@ -67,7 +59,7 @@ public class SampleAtomikosApplicationTests { s = s.substring(s.indexOf(this.substring) + this.substring.length()); i++; } - return i == 1; + return i == times; } }; diff --git a/spring-boot-samples/spring-boot-sample-jta-bitronix/src/test/java/sample/bitronix/SampleBitronixApplicationTests.java b/spring-boot-samples/spring-boot-sample-jta-bitronix/src/test/java/sample/bitronix/SampleBitronixApplicationTests.java index a9466174e6..2c5186beaf 100644 --- a/spring-boot-samples/spring-boot-sample-jta-bitronix/src/test/java/sample/bitronix/SampleBitronixApplicationTests.java +++ b/spring-boot-samples/spring-boot-sample-jta-bitronix/src/test/java/sample/bitronix/SampleBitronixApplicationTests.java @@ -16,16 +16,12 @@ package sample.bitronix; -import java.io.PrintWriter; -import java.io.StringWriter; - import org.hamcrest.Matcher; import org.hamcrest.core.SubstringMatcher; import org.junit.Rule; import org.junit.Test; import org.springframework.boot.test.OutputCapture; -import static org.hamcrest.Matchers.containsString; import static org.junit.Assert.assertThat; /** @@ -41,23 +37,19 @@ public class SampleBitronixApplicationTests { @Test public void testTransactionRollback() throws Exception { SampleBitronixApplication.main(new String[] {}); - StringWriter expectedWriter = new StringWriter(); - PrintWriter printer = new PrintWriter(expectedWriter); - printer.println("----> josh"); - printer.println("Count is 1"); - printer.println("Simulated error"); - printer.println("Count is 1"); - assertThat(this.outputCapture.toString(), - containsString(expectedWriter.toString())); - assertThat(this.outputCapture.toString(), containsStringOnce("---->")); + String output = this.outputCapture.toString(); + assertThat(output, containsString(1, "---->")); + assertThat(output, containsString(1, "----> josh")); + assertThat(output, containsString(2, "Count is 1")); + assertThat(output, containsString(1, "Simulated error")); } - private Matcher containsStringOnce(String s) { + private Matcher containsString(final int times, String s) { return new SubstringMatcher(s) { @Override protected String relationship() { - return "containing once"; + return "containing " + times + " times"; } @Override @@ -67,7 +59,7 @@ public class SampleBitronixApplicationTests { s = s.substring(s.indexOf(this.substring) + this.substring.length()); i++; } - return i == 1; + return i == times; } };