Skip to content

Commit 23e5726

Browse files
Added Transaction test
1 parent e1b8c51 commit 23e5726

2 files changed

Lines changed: 21 additions & 8 deletions

File tree

spring-data-eclipse-store/src/test/java/software/xdev/spring/data/eclipse/store/integration/isolated/tests/transactions/TransactionsAnnotationTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,11 @@
3333
@Transactional
3434
class TransactionsAnnotationTest
3535
{
36-
private final TransactionsTestConfiguration configuration;
3736
private final AccountRepository repository;
3837

3938
@Autowired
40-
public TransactionsAnnotationTest(
41-
final TransactionsTestConfiguration configuration,
42-
final AccountRepository repository)
39+
public TransactionsAnnotationTest(final AccountRepository repository)
4340
{
44-
this.configuration = configuration;
4541
this.repository = repository;
4642
}
4743

spring-data-eclipse-store/src/test/java/software/xdev/spring/data/eclipse/store/integration/isolated/tests/transactions/TransactionsTest.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.springframework.beans.factory.annotation.Autowired;
2525
import org.springframework.test.context.ContextConfiguration;
2626
import org.springframework.transaction.PlatformTransactionManager;
27+
import org.springframework.transaction.TransactionSystemException;
2728
import org.springframework.transaction.support.TransactionTemplate;
2829

2930
import software.xdev.spring.data.eclipse.store.integration.isolated.IsolatedTestAnnotations;
@@ -33,7 +34,6 @@
3334
@ContextConfiguration(classes = {TransactionsTestConfiguration.class})
3435
class TransactionsTest
3536
{
36-
private final TransactionsTestConfiguration configuration;
3737
private final AccountRepository accountRepository;
3838
private final CounterRepository counterRepository;
3939
private Account account1;
@@ -43,11 +43,9 @@ class TransactionsTest
4343

4444
@Autowired
4545
public TransactionsTest(
46-
final TransactionsTestConfiguration configuration,
4746
final AccountRepository accountRepository,
4847
final CounterRepository counterRepository)
4948
{
50-
this.configuration = configuration;
5149
this.accountRepository = accountRepository;
5250
this.counterRepository = counterRepository;
5351
}
@@ -153,6 +151,25 @@ void accountAndCounterTransaction_Sequential(@Autowired final PlatformTransactio
153151
this.counterRepository.findById(this.counter2.getId()).get().getCount());
154152
}
155153

154+
/**
155+
* Other implementations of Spring Data can do this, but we can't for now.
156+
*/
157+
@Test
158+
void doubleTransaction(@Autowired final PlatformTransactionManager transactionManager)
159+
{
160+
new TransactionTemplate(transactionManager).execute(
161+
status1 ->
162+
{
163+
final TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
164+
Assertions.assertThrows(
165+
TransactionSystemException.class,
166+
() -> transactionTemplate.execute(status2 -> null)
167+
);
168+
return null;
169+
}
170+
);
171+
}
172+
156173
@Test
157174
void accountAndCounterTransaction_SameTransaction(@Autowired final PlatformTransactionManager transactionManager)
158175
{

0 commit comments

Comments
 (0)