Minimize and centralize assumptions about build output
Closes gh-15471
This commit is contained in:
@@ -141,10 +141,10 @@ public class Neo4jPropertiesTests {
|
||||
@Test
|
||||
public void embeddedModeWithRelativeLocation() {
|
||||
Neo4jProperties properties = load(true,
|
||||
"spring.data.neo4j.uri=file:target/neo4j/my.db");
|
||||
"spring.data.neo4j.uri=file:relative/path/to/my.db");
|
||||
Configuration configuration = properties.createConfiguration();
|
||||
assertDriver(configuration, Neo4jProperties.EMBEDDED_DRIVER,
|
||||
"file:target/neo4j/my.db");
|
||||
"file:relative/path/to/my.db");
|
||||
}
|
||||
|
||||
private static void assertDriver(Configuration actual, String driver, String uri) {
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.junit.Test;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.boot.testsupport.BuildOutput;
|
||||
import org.springframework.boot.testsupport.rule.OutputCapture;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -36,6 +37,8 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*/
|
||||
public class FreeMarkerAutoConfigurationTests {
|
||||
|
||||
private final BuildOutput buildOutput = new BuildOutput(getClass());
|
||||
|
||||
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
|
||||
.withConfiguration(AutoConfigurations.of(FreeMarkerAutoConfiguration.class));
|
||||
|
||||
@@ -68,19 +71,24 @@ public class FreeMarkerAutoConfigurationTests {
|
||||
|
||||
@Test
|
||||
public void emptyTemplateLocation() {
|
||||
new File("target/test-classes/templates/empty-directory").mkdir();
|
||||
this.contextRunner.withPropertyValues("spring.freemarker.templateLoaderPath:"
|
||||
+ "classpath:/templates/empty-directory/").run((context) -> {
|
||||
});
|
||||
File emptyDirectory = new File(this.buildOutput.getTestResourcesLocation(),
|
||||
"empty-templates/empty-directory");
|
||||
emptyDirectory.mkdirs();
|
||||
this.contextRunner
|
||||
.withPropertyValues("spring.freemarker.templateLoaderPath:"
|
||||
+ "classpath:/empty-templates/empty-directory/")
|
||||
.run((context) -> assertThat(this.output.toString())
|
||||
.doesNotContain("Cannot find template location"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void nonExistentLocationAndEmptyLocation() {
|
||||
new File("target/test-classes/templates/empty-directory").mkdir();
|
||||
new File(this.buildOutput.getTestResourcesLocation(),
|
||||
"empty-templates/empty-directory").mkdirs();
|
||||
this.contextRunner.withPropertyValues("spring.freemarker.templateLoaderPath:"
|
||||
+ "classpath:/does-not-exist/,classpath:/templates/empty-directory/")
|
||||
.run((context) -> {
|
||||
});
|
||||
+ "classpath:/does-not-exist/,classpath:/empty-templates/empty-directory/")
|
||||
.run((context) -> assertThat(this.output.toString())
|
||||
.doesNotContain("Cannot find template location"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.boot.test.util.TestPropertyValues;
|
||||
import org.springframework.boot.testsupport.BuildOutput;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
@@ -53,6 +54,8 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*/
|
||||
public class GroovyTemplateAutoConfigurationTests {
|
||||
|
||||
private final BuildOutput buildOutput = new BuildOutput(getClass());
|
||||
|
||||
private AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
|
||||
|
||||
@Before
|
||||
@@ -76,7 +79,8 @@ public class GroovyTemplateAutoConfigurationTests {
|
||||
|
||||
@Test
|
||||
public void emptyTemplateLocation() {
|
||||
new File("target/test-classes/templates/empty-directory").mkdir();
|
||||
new File(this.buildOutput.getTestResourcesLocation(),
|
||||
"empty-templates/empty-directory").mkdirs();
|
||||
registerAndRefreshContext("spring.groovy.template.resource-loader-path:"
|
||||
+ "classpath:/templates/empty-directory/");
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ public class DataSourceAutoConfigurationTests {
|
||||
public DataSource dataSource() {
|
||||
this.pool = new BasicDataSource();
|
||||
this.pool.setDriverClassName("org.hsqldb.jdbcDriver");
|
||||
this.pool.setUrl("jdbc:hsqldb:target/overridedb");
|
||||
this.pool.setUrl("jdbc:hsqldb:mem:overridedb");
|
||||
this.pool.setUsername("sa");
|
||||
return this.pool;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package org.springframework.boot.autoconfigure.mongo.embedded;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.EnumSet;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -27,7 +28,9 @@ import de.flapdoodle.embed.mongo.distribution.Feature;
|
||||
import de.flapdoodle.embed.mongo.distribution.Version;
|
||||
import org.bson.Document;
|
||||
import org.junit.After;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
|
||||
@@ -52,6 +55,9 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*/
|
||||
public class EmbeddedMongoAutoConfigurationTests {
|
||||
|
||||
@Rule
|
||||
public final TemporaryFolder temp = new TemporaryFolder();
|
||||
|
||||
private AnnotationConfigApplicationContext context;
|
||||
|
||||
@After
|
||||
@@ -143,8 +149,8 @@ public class EmbeddedMongoAutoConfigurationTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void mongoWritesToCustomDatabaseDir() {
|
||||
File customDatabaseDir = new File("target/custom-database-dir");
|
||||
public void mongoWritesToCustomDatabaseDir() throws IOException {
|
||||
File customDatabaseDir = this.temp.newFolder("custom-database-dir");
|
||||
FileSystemUtils.deleteRecursively(customDatabaseDir);
|
||||
load("spring.mongodb.embedded.storage.databaseDir="
|
||||
+ customDatabaseDir.getPath());
|
||||
|
||||
@@ -39,6 +39,7 @@ import org.thymeleaf.templateresolver.ITemplateResolver;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
|
||||
import org.springframework.boot.test.util.TestPropertyValues;
|
||||
import org.springframework.boot.testsupport.BuildOutput;
|
||||
import org.springframework.boot.testsupport.rule.OutputCapture;
|
||||
import org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -61,6 +62,8 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*/
|
||||
public class ThymeleafReactiveAutoConfigurationTests {
|
||||
|
||||
private final BuildOutput buildOutput = new BuildOutput(getClass());
|
||||
|
||||
@Rule
|
||||
public final OutputCapture output = new OutputCapture();
|
||||
|
||||
@@ -184,9 +187,10 @@ public class ThymeleafReactiveAutoConfigurationTests {
|
||||
|
||||
@Test
|
||||
public void templateLocationEmpty() {
|
||||
new File("target/test-classes/templates/empty-directory").mkdir();
|
||||
new File(this.buildOutput.getTestResourcesLocation(),
|
||||
"empty-templates/empty-directory").mkdirs();
|
||||
load(BaseConfiguration.class,
|
||||
"spring.thymeleaf.prefix:classpath:/templates/empty-directory/");
|
||||
"spring.thymeleaf.prefix:classpath:/empty-templates/empty-directory/");
|
||||
assertThat(this.output.toString())
|
||||
.doesNotContain("Cannot find template location");
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
|
||||
import org.springframework.boot.test.rule.OutputCapture;
|
||||
import org.springframework.boot.test.util.TestPropertyValues;
|
||||
import org.springframework.boot.testsupport.BuildOutput;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.boot.web.servlet.filter.OrderedCharacterEncodingFilter;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
@@ -75,6 +76,8 @@ import static org.hamcrest.Matchers.containsString;
|
||||
*/
|
||||
public class ThymeleafServletAutoConfigurationTests {
|
||||
|
||||
private final BuildOutput buildOutput = new BuildOutput(getClass());
|
||||
|
||||
@Rule
|
||||
public OutputCapture output = new OutputCapture();
|
||||
|
||||
@@ -176,9 +179,10 @@ public class ThymeleafServletAutoConfigurationTests {
|
||||
|
||||
@Test
|
||||
public void templateLocationEmpty() {
|
||||
new File("target/test-classes/templates/empty-directory").mkdir();
|
||||
new File(this.buildOutput.getTestResourcesLocation(),
|
||||
"empty-templates/empty-directory").mkdirs();
|
||||
load(BaseConfiguration.class,
|
||||
"spring.thymeleaf.prefix:classpath:/templates/empty-directory/");
|
||||
"spring.thymeleaf.prefix:classpath:/empty-templates/empty-directory/");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package org.springframework.boot.autoconfigure.transaction.jta;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
@@ -35,8 +36,9 @@ import com.atomikos.icatch.config.UserTransactionService;
|
||||
import com.atomikos.icatch.jta.UserTransactionManager;
|
||||
import com.atomikos.jms.AtomikosConnectionFactoryBean;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
|
||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||
import org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration;
|
||||
@@ -55,7 +57,6 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
import org.springframework.transaction.jta.JtaTransactionManager;
|
||||
import org.springframework.util.FileSystemUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
@@ -72,12 +73,10 @@ import static org.mockito.Mockito.mock;
|
||||
*/
|
||||
public class JtaAutoConfigurationTests {
|
||||
|
||||
private AnnotationConfigApplicationContext context;
|
||||
@Rule
|
||||
public final TemporaryFolder temp = new TemporaryFolder();
|
||||
|
||||
@Before
|
||||
public void cleanUpLogs() {
|
||||
FileSystemUtils.deleteRecursively(new File("target/transaction-logs"));
|
||||
}
|
||||
private AnnotationConfigApplicationContext context;
|
||||
|
||||
@After
|
||||
public void closeContext() {
|
||||
@@ -155,15 +154,16 @@ public class JtaAutoConfigurationTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultAtomikosTransactionManagerName() {
|
||||
public void defaultAtomikosTransactionManagerName() throws IOException {
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues.of("spring.jta.logDir:target/transaction-logs")
|
||||
File logs = this.temp.newFolder("jta");
|
||||
TestPropertyValues.of("spring.jta.logDir:" + logs.getAbsolutePath())
|
||||
.applyTo(this.context);
|
||||
this.context.register(JtaPropertiesConfiguration.class,
|
||||
AtomikosJtaConfiguration.class);
|
||||
this.context.refresh();
|
||||
|
||||
File epochFile = new File("target/transaction-logs/tmlog0.log");
|
||||
File epochFile = new File(logs, "tmlog0.log");
|
||||
assertThat(epochFile.isFile()).isTrue();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user