diff --git a/spring-boot-samples/spring-boot-sample-data-cassandra/src/test/java/sample/data/cassandra/SampleCassandraApplicationTests.java b/spring-boot-samples/spring-boot-sample-data-cassandra/src/test/java/sample/data/cassandra/SampleCassandraApplicationTests.java index 3f81c83720b..3a031ef7723 100644 --- a/spring-boot-samples/spring-boot-sample-data-cassandra/src/test/java/sample/data/cassandra/SampleCassandraApplicationTests.java +++ b/spring-boot-samples/spring-boot-sample-data-cassandra/src/test/java/sample/data/cassandra/SampleCassandraApplicationTests.java @@ -16,11 +16,16 @@ package sample.data.cassandra; +import java.io.File; + import org.cassandraunit.spring.CassandraDataSet; import org.cassandraunit.spring.EmbeddedCassandra; import org.junit.ClassRule; import org.junit.Test; +import org.junit.rules.TestRule; +import org.junit.runner.Description; import org.junit.runner.RunWith; +import org.junit.runners.model.Statement; import org.springframework.boot.test.IntegrationTest; import org.springframework.boot.test.IntegrationTestPropertiesListener; @@ -48,6 +53,9 @@ public class SampleCassandraApplicationTests { @ClassRule public static OutputCapture outputCapture = new OutputCapture(); + @ClassRule + public static SkipOnWindows skipOnWindows = new SkipOnWindows(); + @Test public void testDefaultSettings() throws Exception { String output = SampleCassandraApplicationTests.outputCapture.toString(); @@ -55,4 +63,26 @@ public class SampleCassandraApplicationTests { output.contains("firstName='Alice', lastName='Smith'")); } + static class SkipOnWindows implements TestRule { + + @Override + public Statement apply(final Statement base, Description description) { + return new Statement() { + + @Override + public void evaluate() throws Throwable { + if (!runningOnWindows()) { + base.evaluate(); + } + } + + private boolean runningOnWindows() { + return File.separatorChar == '\\'; + } + + }; + } + + } + } diff --git a/spring-boot-samples/spring-boot-sample-data-elasticsearch/src/test/java/sample/data/elasticsearch/SampleElasticsearchApplicationTests.java b/spring-boot-samples/spring-boot-sample-data-elasticsearch/src/test/java/sample/data/elasticsearch/SampleElasticsearchApplicationTests.java index 87d9db45e5a..f47fa4153a4 100644 --- a/spring-boot-samples/spring-boot-sample-data-elasticsearch/src/test/java/sample/data/elasticsearch/SampleElasticsearchApplicationTests.java +++ b/spring-boot-samples/spring-boot-sample-data-elasticsearch/src/test/java/sample/data/elasticsearch/SampleElasticsearchApplicationTests.java @@ -16,14 +16,17 @@ package sample.data.elasticsearch; -import java.net.ConnectException; +import java.io.File; +import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; +import org.junit.rules.TestRule; +import org.junit.runner.Description; +import org.junit.runners.model.Statement; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.test.OutputCapture; -import org.springframework.core.NestedCheckedException; import static org.junit.Assert.assertTrue; @@ -41,33 +44,38 @@ public class SampleElasticsearchApplicationTests { @Rule public OutputCapture outputCapture = new OutputCapture(); + @ClassRule + public static SkipOnWindows skipOnWindows = new SkipOnWindows(); + @Test public void testDefaultSettings() throws Exception { - try { - new SpringApplicationBuilder(SampleElasticsearchApplication.class) - .properties(PROPERTIES).run(); - } - catch (IllegalStateException ex) { - if (serverNotRunning(ex)) { - return; - } - } + new SpringApplicationBuilder(SampleElasticsearchApplication.class) + .properties(PROPERTIES).run(); String output = this.outputCapture.toString(); assertTrue("Wrong output: " + output, output.contains("firstName='Alice', lastName='Smith'")); } - private boolean serverNotRunning(IllegalStateException ex) { - @SuppressWarnings("serial") - NestedCheckedException nested = new NestedCheckedException("failed", ex) { - }; - if (nested.contains(ConnectException.class)) { - Throwable root = nested.getRootCause(); - if (root.getMessage().contains("Connection refused")) { - return true; - } + static class SkipOnWindows implements TestRule { + + @Override + public Statement apply(final Statement base, Description description) { + return new Statement() { + + @Override + public void evaluate() throws Throwable { + if (!runningOnWindows()) { + base.evaluate(); + } + } + + private boolean runningOnWindows() { + return File.separatorChar == '\\'; + } + + }; } - return false; + } }