mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-07-05 00:56:58 +08:00
Configure JTA tests to write logs beneath build/
Closes gh-26440
This commit is contained in:
parent
64aac01272
commit
444474926c
1
.gitignore
vendored
1
.gitignore
vendored
@ -36,7 +36,6 @@ manifest.yml
|
|||||||
out
|
out
|
||||||
overridedb.*
|
overridedb.*
|
||||||
target
|
target
|
||||||
transaction-logs
|
|
||||||
.flattened-pom.xml
|
.flattened-pom.xml
|
||||||
secrets.yml
|
secrets.yml
|
||||||
.gradletasknamecache
|
.gradletasknamecache
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012-2019 the original author or authors.
|
* Copyright 2012-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.springframework.boot.autoconfigure.orm.jpa;
|
package org.springframework.boot.autoconfigure.orm.jpa;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@ -37,6 +38,7 @@ import org.springframework.boot.test.context.assertj.AssertableApplicationContex
|
|||||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||||
import org.springframework.boot.test.context.runner.ContextConsumer;
|
import org.springframework.boot.test.context.runner.ContextConsumer;
|
||||||
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
|
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
|
||||||
|
import org.springframework.boot.testsupport.BuildOutput;
|
||||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@ -68,7 +70,9 @@ abstract class AbstractJpaAutoConfigurationTests {
|
|||||||
protected AbstractJpaAutoConfigurationTests(Class<?> autoConfiguredClass) {
|
protected AbstractJpaAutoConfigurationTests(Class<?> autoConfiguredClass) {
|
||||||
this.autoConfiguredClass = autoConfiguredClass;
|
this.autoConfiguredClass = autoConfiguredClass;
|
||||||
this.contextRunner = new ApplicationContextRunner()
|
this.contextRunner = new ApplicationContextRunner()
|
||||||
.withPropertyValues("spring.datasource.generate-unique-name=true")
|
.withPropertyValues("spring.datasource.generate-unique-name=true",
|
||||||
|
"spring.jta.log-dir="
|
||||||
|
+ new File(new BuildOutput(getClass()).getRootLocation(), "transaction-logs"))
|
||||||
.withUserConfiguration(TestConfiguration.class).withConfiguration(AutoConfigurations.of(
|
.withUserConfiguration(TestConfiguration.class).withConfiguration(AutoConfigurations.of(
|
||||||
DataSourceAutoConfiguration.class, TransactionAutoConfiguration.class, autoConfiguredClass));
|
DataSourceAutoConfiguration.class, TransactionAutoConfiguration.class, autoConfiguredClass));
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012-2020 the original author or authors.
|
* Copyright 2012-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -51,6 +51,7 @@ import org.springframework.boot.jta.bitronix.BitronixDependentBeanFactoryPostPro
|
|||||||
import org.springframework.boot.jta.bitronix.PoolingConnectionFactoryBean;
|
import org.springframework.boot.jta.bitronix.PoolingConnectionFactoryBean;
|
||||||
import org.springframework.boot.jta.bitronix.PoolingDataSourceBean;
|
import org.springframework.boot.jta.bitronix.PoolingDataSourceBean;
|
||||||
import org.springframework.boot.test.util.TestPropertyValues;
|
import org.springframework.boot.test.util.TestPropertyValues;
|
||||||
|
import org.springframework.boot.testsupport.BuildOutput;
|
||||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@ -74,6 +75,8 @@ import static org.mockito.Mockito.mock;
|
|||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
class JtaAutoConfigurationTests {
|
class JtaAutoConfigurationTests {
|
||||||
|
|
||||||
|
private final File buildOutput = new BuildOutput(JtaAutoConfigurationTests.class).getRootLocation();
|
||||||
|
|
||||||
private AnnotationConfigApplicationContext context;
|
private AnnotationConfigApplicationContext context;
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
@ -104,7 +107,11 @@ class JtaAutoConfigurationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void atomikosSanityCheck() {
|
void atomikosSanityCheck() {
|
||||||
this.context = new AnnotationConfigApplicationContext(JtaProperties.class, AtomikosJtaConfiguration.class);
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
|
TestPropertyValues.of("spring.jta.log-dir:" + new File(this.buildOutput, "atomikos-logs"))
|
||||||
|
.applyTo(this.context);
|
||||||
|
this.context.register(JtaProperties.class, AtomikosJtaConfiguration.class);
|
||||||
|
this.context.refresh();
|
||||||
this.context.getBean(AtomikosProperties.class);
|
this.context.getBean(AtomikosProperties.class);
|
||||||
this.context.getBean(UserTransactionService.class);
|
this.context.getBean(UserTransactionService.class);
|
||||||
this.context.getBean(UserTransactionManager.class);
|
this.context.getBean(UserTransactionManager.class);
|
||||||
@ -118,7 +125,11 @@ class JtaAutoConfigurationTests {
|
|||||||
@Test
|
@Test
|
||||||
@Deprecated
|
@Deprecated
|
||||||
void bitronixSanityCheck() {
|
void bitronixSanityCheck() {
|
||||||
this.context = new AnnotationConfigApplicationContext(JtaProperties.class, BitronixJtaConfiguration.class);
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
|
TestPropertyValues.of("spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs"))
|
||||||
|
.applyTo(this.context);
|
||||||
|
this.context.register(JtaProperties.class, BitronixJtaConfiguration.class);
|
||||||
|
this.context.refresh();
|
||||||
this.context.getBean(bitronix.tm.Configuration.class);
|
this.context.getBean(bitronix.tm.Configuration.class);
|
||||||
this.context.getBean(TransactionManager.class);
|
this.context.getBean(TransactionManager.class);
|
||||||
this.context.getBean(XADataSourceWrapper.class);
|
this.context.getBean(XADataSourceWrapper.class);
|
||||||
@ -130,7 +141,11 @@ class JtaAutoConfigurationTests {
|
|||||||
@Test
|
@Test
|
||||||
@Deprecated
|
@Deprecated
|
||||||
void defaultBitronixServerId() throws UnknownHostException {
|
void defaultBitronixServerId() throws UnknownHostException {
|
||||||
this.context = new AnnotationConfigApplicationContext(BitronixJtaConfiguration.class);
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
|
TestPropertyValues.of("spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs"))
|
||||||
|
.applyTo(this.context);
|
||||||
|
this.context.register(BitronixJtaConfiguration.class);
|
||||||
|
this.context.refresh();
|
||||||
String serverId = this.context.getBean(bitronix.tm.Configuration.class).getServerId();
|
String serverId = this.context.getBean(bitronix.tm.Configuration.class).getServerId();
|
||||||
assertThat(serverId).isEqualTo(InetAddress.getLocalHost().getHostAddress());
|
assertThat(serverId).isEqualTo(InetAddress.getLocalHost().getHostAddress());
|
||||||
}
|
}
|
||||||
@ -139,7 +154,8 @@ class JtaAutoConfigurationTests {
|
|||||||
@Deprecated
|
@Deprecated
|
||||||
void customBitronixServerId() {
|
void customBitronixServerId() {
|
||||||
this.context = new AnnotationConfigApplicationContext();
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
TestPropertyValues.of("spring.jta.transactionManagerId:custom").applyTo(this.context);
|
TestPropertyValues.of("spring.jta.transactionManagerId:custom",
|
||||||
|
"spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs")).applyTo(this.context);
|
||||||
this.context.register(BitronixJtaConfiguration.class);
|
this.context.register(BitronixJtaConfiguration.class);
|
||||||
this.context.refresh();
|
this.context.refresh();
|
||||||
String serverId = this.context.getBean(bitronix.tm.Configuration.class).getServerId();
|
String serverId = this.context.getBean(bitronix.tm.Configuration.class).getServerId();
|
||||||
@ -162,7 +178,8 @@ class JtaAutoConfigurationTests {
|
|||||||
void atomikosConnectionFactoryPoolConfiguration() {
|
void atomikosConnectionFactoryPoolConfiguration() {
|
||||||
this.context = new AnnotationConfigApplicationContext();
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
TestPropertyValues.of("spring.jta.atomikos.connectionfactory.minPoolSize:5",
|
TestPropertyValues.of("spring.jta.atomikos.connectionfactory.minPoolSize:5",
|
||||||
"spring.jta.atomikos.connectionfactory.maxPoolSize:10").applyTo(this.context);
|
"spring.jta.atomikos.connectionfactory.maxPoolSize:10",
|
||||||
|
"spring.jta.log-dir:" + new File(this.buildOutput, "atomikos-logs")).applyTo(this.context);
|
||||||
this.context.register(AtomikosJtaConfiguration.class, PoolConfiguration.class);
|
this.context.register(AtomikosJtaConfiguration.class, PoolConfiguration.class);
|
||||||
this.context.refresh();
|
this.context.refresh();
|
||||||
AtomikosConnectionFactoryBean connectionFactory = this.context.getBean(AtomikosConnectionFactoryBean.class);
|
AtomikosConnectionFactoryBean connectionFactory = this.context.getBean(AtomikosConnectionFactoryBean.class);
|
||||||
@ -175,7 +192,8 @@ class JtaAutoConfigurationTests {
|
|||||||
void bitronixConnectionFactoryPoolConfiguration() {
|
void bitronixConnectionFactoryPoolConfiguration() {
|
||||||
this.context = new AnnotationConfigApplicationContext();
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
TestPropertyValues.of("spring.jta.bitronix.connectionfactory.minPoolSize:5",
|
TestPropertyValues.of("spring.jta.bitronix.connectionfactory.minPoolSize:5",
|
||||||
"spring.jta.bitronix.connectionfactory.maxPoolSize:10").applyTo(this.context);
|
"spring.jta.bitronix.connectionfactory.maxPoolSize:10",
|
||||||
|
"spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs")).applyTo(this.context);
|
||||||
this.context.register(BitronixJtaConfiguration.class, PoolConfiguration.class);
|
this.context.register(BitronixJtaConfiguration.class, PoolConfiguration.class);
|
||||||
this.context.refresh();
|
this.context.refresh();
|
||||||
PoolingConnectionFactoryBean connectionFactory = this.context.getBean(PoolingConnectionFactoryBean.class);
|
PoolingConnectionFactoryBean connectionFactory = this.context.getBean(PoolingConnectionFactoryBean.class);
|
||||||
@ -187,7 +205,8 @@ class JtaAutoConfigurationTests {
|
|||||||
void atomikosDataSourcePoolConfiguration() {
|
void atomikosDataSourcePoolConfiguration() {
|
||||||
this.context = new AnnotationConfigApplicationContext();
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
TestPropertyValues
|
TestPropertyValues
|
||||||
.of("spring.jta.atomikos.datasource.minPoolSize:5", "spring.jta.atomikos.datasource.maxPoolSize:10")
|
.of("spring.jta.atomikos.datasource.minPoolSize:5", "spring.jta.atomikos.datasource.maxPoolSize:10",
|
||||||
|
"spring.jta.log-dir:" + new File(this.buildOutput, "atomikos-logs"))
|
||||||
.applyTo(this.context);
|
.applyTo(this.context);
|
||||||
this.context.register(AtomikosJtaConfiguration.class, PoolConfiguration.class);
|
this.context.register(AtomikosJtaConfiguration.class, PoolConfiguration.class);
|
||||||
this.context.refresh();
|
this.context.refresh();
|
||||||
@ -201,7 +220,8 @@ class JtaAutoConfigurationTests {
|
|||||||
void bitronixDataSourcePoolConfiguration() {
|
void bitronixDataSourcePoolConfiguration() {
|
||||||
this.context = new AnnotationConfigApplicationContext();
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
TestPropertyValues
|
TestPropertyValues
|
||||||
.of("spring.jta.bitronix.datasource.minPoolSize:5", "spring.jta.bitronix.datasource.maxPoolSize:10")
|
.of("spring.jta.bitronix.datasource.minPoolSize:5", "spring.jta.bitronix.datasource.maxPoolSize:10",
|
||||||
|
"spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs"))
|
||||||
.applyTo(this.context);
|
.applyTo(this.context);
|
||||||
this.context.register(BitronixJtaConfiguration.class, PoolConfiguration.class);
|
this.context.register(BitronixJtaConfiguration.class, PoolConfiguration.class);
|
||||||
this.context.refresh();
|
this.context.refresh();
|
||||||
@ -214,7 +234,8 @@ class JtaAutoConfigurationTests {
|
|||||||
void atomikosCustomizeJtaTransactionManagerUsingProperties() {
|
void atomikosCustomizeJtaTransactionManagerUsingProperties() {
|
||||||
this.context = new AnnotationConfigApplicationContext();
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
TestPropertyValues
|
TestPropertyValues
|
||||||
.of("spring.transaction.default-timeout:30", "spring.transaction.rollback-on-commit-failure:true")
|
.of("spring.transaction.default-timeout:30", "spring.transaction.rollback-on-commit-failure:true",
|
||||||
|
"spring.jta.log-dir:" + new File(this.buildOutput, "atomikos-logs"))
|
||||||
.applyTo(this.context);
|
.applyTo(this.context);
|
||||||
this.context.register(AtomikosJtaConfiguration.class, TransactionAutoConfiguration.class);
|
this.context.register(AtomikosJtaConfiguration.class, TransactionAutoConfiguration.class);
|
||||||
this.context.refresh();
|
this.context.refresh();
|
||||||
@ -228,7 +249,8 @@ class JtaAutoConfigurationTests {
|
|||||||
void bitronixCustomizeJtaTransactionManagerUsingProperties() {
|
void bitronixCustomizeJtaTransactionManagerUsingProperties() {
|
||||||
this.context = new AnnotationConfigApplicationContext();
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
TestPropertyValues
|
TestPropertyValues
|
||||||
.of("spring.transaction.default-timeout:30", "spring.transaction.rollback-on-commit-failure:true")
|
.of("spring.transaction.default-timeout:30", "spring.transaction.rollback-on-commit-failure:true",
|
||||||
|
"spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs"))
|
||||||
.applyTo(this.context);
|
.applyTo(this.context);
|
||||||
this.context.register(BitronixJtaConfiguration.class, TransactionAutoConfiguration.class);
|
this.context.register(BitronixJtaConfiguration.class, TransactionAutoConfiguration.class);
|
||||||
this.context.refresh();
|
this.context.refresh();
|
||||||
|
@ -9,6 +9,7 @@ dependencies {
|
|||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-artemis"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-artemis"))
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-jpa"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-jpa"))
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jta-atomikos"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jta-atomikos"))
|
||||||
|
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||||
if (JavaVersion.current().java9Compatible) {
|
if (JavaVersion.current().java9Compatible) {
|
||||||
implementation("jakarta.xml.bind:jakarta.xml.bind-api")
|
implementation("jakarta.xml.bind:jakarta.xml.bind-api")
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012-2019 the original author or authors.
|
* Copyright 2012-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package smoketest.atomikos;
|
package smoketest.atomikos;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
@ -23,6 +24,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
|
|||||||
|
|
||||||
import org.springframework.boot.test.system.CapturedOutput;
|
import org.springframework.boot.test.system.CapturedOutput;
|
||||||
import org.springframework.boot.test.system.OutputCaptureExtension;
|
import org.springframework.boot.test.system.OutputCaptureExtension;
|
||||||
|
import org.springframework.boot.testsupport.BuildOutput;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
@ -37,7 +39,8 @@ class SampleAtomikosApplicationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testTransactionRollback(CapturedOutput output) throws Exception {
|
void testTransactionRollback(CapturedOutput output) throws Exception {
|
||||||
SampleAtomikosApplication.main(new String[] {});
|
File logDir = new File(new BuildOutput(getClass()).getRootLocation(), "atomikos-logs");
|
||||||
|
SampleAtomikosApplication.main(new String[] { "--spring.jta.log-dir=" + logDir });
|
||||||
assertThat(output).satisfies(numberOfOccurrences("---->", 1));
|
assertThat(output).satisfies(numberOfOccurrences("---->", 1));
|
||||||
assertThat(output).satisfies(numberOfOccurrences("----> josh", 1));
|
assertThat(output).satisfies(numberOfOccurrences("----> josh", 1));
|
||||||
assertThat(output).satisfies(numberOfOccurrences("Count is 1", 2));
|
assertThat(output).satisfies(numberOfOccurrences("Count is 1", 2));
|
||||||
|
@ -9,6 +9,7 @@ dependencies {
|
|||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-artemis"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-artemis"))
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-jpa"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-jpa"))
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jta-bitronix"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jta-bitronix"))
|
||||||
|
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||||
if (JavaVersion.current().java9Compatible) {
|
if (JavaVersion.current().java9Compatible) {
|
||||||
implementation("jakarta.xml.bind:jakarta.xml.bind-api")
|
implementation("jakarta.xml.bind:jakarta.xml.bind-api")
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012-2019 the original author or authors.
|
* Copyright 2012-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package smoketest.bitronix;
|
package smoketest.bitronix;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
import bitronix.tm.resource.jms.PoolingConnectionFactory;
|
import bitronix.tm.resource.jms.PoolingConnectionFactory;
|
||||||
@ -25,6 +26,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
|
|||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.test.system.CapturedOutput;
|
import org.springframework.boot.test.system.CapturedOutput;
|
||||||
import org.springframework.boot.test.system.OutputCaptureExtension;
|
import org.springframework.boot.test.system.OutputCaptureExtension;
|
||||||
|
import org.springframework.boot.testsupport.BuildOutput;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
@ -38,9 +40,11 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
@ExtendWith(OutputCaptureExtension.class)
|
@ExtendWith(OutputCaptureExtension.class)
|
||||||
class SampleBitronixApplicationTests {
|
class SampleBitronixApplicationTests {
|
||||||
|
|
||||||
|
private final File jtaLogDir = new File(new BuildOutput(getClass()).getRootLocation(), "bitronix-logs");
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testTransactionRollback(CapturedOutput output) throws Exception {
|
void testTransactionRollback(CapturedOutput output) throws Exception {
|
||||||
SampleBitronixApplication.main(new String[] {});
|
SampleBitronixApplication.main(new String[] { "--spring.jta.log-dir=" + this.jtaLogDir });
|
||||||
assertThat(output).satisfies(numberOfOccurrences("---->", 1));
|
assertThat(output).satisfies(numberOfOccurrences("---->", 1));
|
||||||
assertThat(output).satisfies(numberOfOccurrences("----> josh", 1));
|
assertThat(output).satisfies(numberOfOccurrences("----> josh", 1));
|
||||||
assertThat(output).satisfies(numberOfOccurrences("Count is 1", 2));
|
assertThat(output).satisfies(numberOfOccurrences("Count is 1", 2));
|
||||||
@ -49,7 +53,8 @@ class SampleBitronixApplicationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testExposesXaAndNonXa() {
|
void testExposesXaAndNonXa() {
|
||||||
ApplicationContext context = SpringApplication.run(SampleBitronixApplication.class);
|
ApplicationContext context = SpringApplication.run(SampleBitronixApplication.class,
|
||||||
|
"--spring.jta.log-dir=" + this.jtaLogDir);
|
||||||
Object jmsConnectionFactory = context.getBean("jmsConnectionFactory");
|
Object jmsConnectionFactory = context.getBean("jmsConnectionFactory");
|
||||||
Object xaJmsConnectionFactory = context.getBean("xaJmsConnectionFactory");
|
Object xaJmsConnectionFactory = context.getBean("xaJmsConnectionFactory");
|
||||||
Object nonXaJmsConnectionFactory = context.getBean("nonXaJmsConnectionFactory");
|
Object nonXaJmsConnectionFactory = context.getBean("nonXaJmsConnectionFactory");
|
||||||
|
Loading…
Reference in New Issue
Block a user