|
|
|
@ -16,15 +16,10 @@ |
|
|
|
|
|
|
|
|
|
|
|
package org.springframework.transaction.interceptor; |
|
|
|
package org.springframework.transaction.interceptor; |
|
|
|
|
|
|
|
|
|
|
|
import org.junit.Rule; |
|
|
|
|
|
|
|
import org.junit.rules.ExpectedException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.aop.framework.ProxyFactory; |
|
|
|
import org.springframework.aop.framework.ProxyFactory; |
|
|
|
import org.springframework.beans.factory.BeanFactory; |
|
|
|
|
|
|
|
import org.springframework.transaction.ReactiveTransactionManager; |
|
|
|
import org.springframework.transaction.ReactiveTransactionManager; |
|
|
|
|
|
|
|
|
|
|
|
import static org.assertj.core.api.Assertions.*; |
|
|
|
import static org.assertj.core.api.Assertions.*; |
|
|
|
import static org.mockito.Mockito.*; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Unit tests for {@link TransactionInterceptor} with reactive methods. |
|
|
|
* Unit tests for {@link TransactionInterceptor} with reactive methods. |
|
|
|
@ -33,10 +28,6 @@ import static org.mockito.Mockito.*; |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public class ReactiveTransactionInterceptorTests extends AbstractReactiveTransactionAspectTests { |
|
|
|
public class ReactiveTransactionInterceptorTests extends AbstractReactiveTransactionAspectTests { |
|
|
|
|
|
|
|
|
|
|
|
@Rule |
|
|
|
|
|
|
|
public final ExpectedException thrown = ExpectedException.none(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
protected Object advised(Object target, ReactiveTransactionManager ptm, TransactionAttributeSource[] tas) { |
|
|
|
protected Object advised(Object target, ReactiveTransactionManager ptm, TransactionAttributeSource[] tas) { |
|
|
|
TransactionInterceptor ti = new TransactionInterceptor(); |
|
|
|
TransactionInterceptor ti = new TransactionInterceptor(); |
|
|
|
@ -66,47 +57,5 @@ public class ReactiveTransactionInterceptorTests extends AbstractReactiveTransac |
|
|
|
pf.addAdvice(0, ti); |
|
|
|
pf.addAdvice(0, ti); |
|
|
|
return pf.getProxy(); |
|
|
|
return pf.getProxy(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private TransactionInterceptor createTransactionInterceptor(BeanFactory beanFactory, |
|
|
|
|
|
|
|
String transactionManagerName, ReactiveTransactionManager transactionManager) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TransactionInterceptor ti = new TransactionInterceptor(); |
|
|
|
|
|
|
|
if (beanFactory != null) { |
|
|
|
|
|
|
|
ti.setBeanFactory(beanFactory); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (transactionManagerName != null) { |
|
|
|
|
|
|
|
ti.setTransactionManagerBeanName(transactionManagerName); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (transactionManager != null) { |
|
|
|
|
|
|
|
ti.setTransactionManager(transactionManager); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
ti.setTransactionAttributeSource(new NameMatchTransactionAttributeSource()); |
|
|
|
|
|
|
|
ti.afterPropertiesSet(); |
|
|
|
|
|
|
|
return ti; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private TransactionInterceptor transactionInterceptorWithTransactionManager( |
|
|
|
|
|
|
|
ReactiveTransactionManager transactionManager, BeanFactory beanFactory) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return createTransactionInterceptor(beanFactory, null, transactionManager); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private TransactionInterceptor transactionInterceptorWithTransactionManagerName( |
|
|
|
|
|
|
|
String transactionManagerName, BeanFactory beanFactory) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return createTransactionInterceptor(beanFactory, transactionManagerName, null); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private TransactionInterceptor simpleTransactionInterceptor(BeanFactory beanFactory) { |
|
|
|
|
|
|
|
return createTransactionInterceptor(beanFactory, null, null); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private ReactiveTransactionManager associateTransactionManager(BeanFactory beanFactory, String name) { |
|
|
|
|
|
|
|
ReactiveTransactionManager transactionManager = mock(ReactiveTransactionManager.class); |
|
|
|
|
|
|
|
when(beanFactory.containsBean(name)).thenReturn(true); |
|
|
|
|
|
|
|
when(beanFactory.getBean(name, ReactiveTransactionManager.class)).thenReturn(transactionManager); |
|
|
|
|
|
|
|
return transactionManager; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |