@ -126,7 +126,7 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
@Test
@Test
public void determineTransactionManagerWithNoBeanFactory ( ) {
public void determineTransactionManagerWithNoBeanFactory ( ) {
PlatformTransactionManager transactionManager = mock ( PlatformTransactionManager . class ) ;
PlatformTransactionManager transactionManager = mock ( PlatformTransactionManager . class ) ;
TransactionInterceptor ti = createTestTransactionInterceptor ( null , transactionManager ) ;
TransactionInterceptor ti = transactionInterceptorWithTransactionManager ( transactionManager , null ) ;
assertSame ( transactionManager , ti . determineTransactionManager ( new DefaultTransactionAttribute ( ) ) ) ;
assertSame ( transactionManager , ti . determineTransactionManager ( new DefaultTransactionAttribute ( ) ) ) ;
}
}
@ -134,7 +134,7 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
@Test
@Test
public void determineTransactionManagerWithNoBeanFactoryAndNoTransactionAttribute ( ) {
public void determineTransactionManagerWithNoBeanFactoryAndNoTransactionAttribute ( ) {
PlatformTransactionManager transactionManager = mock ( PlatformTransactionManager . class ) ;
PlatformTransactionManager transactionManager = mock ( PlatformTransactionManager . class ) ;
TransactionInterceptor ti = createTestTransactionInterceptor ( null , transactionManager ) ;
TransactionInterceptor ti = transactionInterceptorWithTransactionManager ( transactionManager , null ) ;
assertSame ( transactionManager , ti . determineTransactionManager ( null ) ) ;
assertSame ( transactionManager , ti . determineTransactionManager ( null ) ) ;
}
}
@ -142,7 +142,7 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
@Test
@Test
public void determineTransactionManagerWithNoTransactionAttribute ( ) {
public void determineTransactionManagerWithNoTransactionAttribute ( ) {
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
TransactionInterceptor ti = createTest TransactionInterceptor( beanFactory , null ) ;
TransactionInterceptor ti = simple TransactionInterceptor( beanFactory ) ;
assertNull ( ti . determineTransactionManager ( null ) ) ;
assertNull ( ti . determineTransactionManager ( null ) ) ;
}
}
@ -150,7 +150,7 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
@Test
@Test
public void determineTransactionManagerWithQualifierUnknown ( ) {
public void determineTransactionManagerWithQualifierUnknown ( ) {
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
TransactionInterceptor ti = createTest TransactionInterceptor( beanFactory ) ;
TransactionInterceptor ti = simple TransactionInterceptor( beanFactory ) ;
DefaultTransactionAttribute attribute = new DefaultTransactionAttribute ( ) ;
DefaultTransactionAttribute attribute = new DefaultTransactionAttribute ( ) ;
attribute . setQualifier ( "fooTransactionManager" ) ;
attribute . setQualifier ( "fooTransactionManager" ) ;
@ -163,7 +163,7 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
public void determineTransactionManagerWithQualifierAndDefault ( ) {
public void determineTransactionManagerWithQualifierAndDefault ( ) {
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
PlatformTransactionManager transactionManager = mock ( PlatformTransactionManager . class ) ;
PlatformTransactionManager transactionManager = mock ( PlatformTransactionManager . class ) ;
TransactionInterceptor ti = createTestTransactionInterceptor ( beanFactory , transactionManager ) ;
TransactionInterceptor ti = transactionInterceptorWithTransactionManager ( transactionManager , beanFactory ) ;
PlatformTransactionManager fooTransactionManager =
PlatformTransactionManager fooTransactionManager =
associateTransactionManager ( beanFactory , "fooTransactionManager" ) ;
associateTransactionManager ( beanFactory , "fooTransactionManager" ) ;
@ -177,8 +177,8 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
public void determineTransactionManagerWithQualifierAndDefaultName ( ) {
public void determineTransactionManagerWithQualifierAndDefaultName ( ) {
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
associateTransactionManager ( beanFactory , "defaultTransactionManager" ) ;
associateTransactionManager ( beanFactory , "defaultTransactionManager" ) ;
TransactionInterceptor ti = createTestTransactionInterceptor ( beanFactory ) ;
TransactionInterceptor ti = transactionInterceptorWithTransactionManagerName (
ti . setTransactionManagerBeanName ( "defaultTransactionManager" ) ;
"defaultTransactionManager" , beanFactory ) ;
PlatformTransactionManager fooTransactionManager =
PlatformTransactionManager fooTransactionManager =
associateTransactionManager ( beanFactory , "fooTransactionManager" ) ;
associateTransactionManager ( beanFactory , "fooTransactionManager" ) ;
@ -188,10 +188,24 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
assertSame ( fooTransactionManager , ti . determineTransactionManager ( attribute ) ) ;
assertSame ( fooTransactionManager , ti . determineTransactionManager ( attribute ) ) ;
}
}
@Test
public void determineTransactionManagerWithEmptyQualifierAndDefaultName ( ) {
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
PlatformTransactionManager defaultTransactionManager
= associateTransactionManager ( beanFactory , "defaultTransactionManager" ) ;
TransactionInterceptor ti = transactionInterceptorWithTransactionManagerName (
"defaultTransactionManager" , beanFactory ) ;
DefaultTransactionAttribute attribute = new DefaultTransactionAttribute ( ) ;
attribute . setQualifier ( "" ) ;
assertSame ( defaultTransactionManager , ti . determineTransactionManager ( attribute ) ) ;
}
@Test
@Test
public void determineTransactionManagerWithQualifierSeveralTimes ( ) {
public void determineTransactionManagerWithQualifierSeveralTimes ( ) {
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
TransactionInterceptor ti = createTestTransactionInterceptor ( beanFactory ) ;
TransactionInterceptor ti = simple TransactionInterceptor( beanFactory ) ;
PlatformTransactionManager txManager = associateTransactionManager ( beanFactory , "fooTransactionManager" ) ;
PlatformTransactionManager txManager = associateTransactionManager ( beanFactory , "fooTransactionManager" ) ;
@ -210,8 +224,8 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
@Test
@Test
public void determineTransactionManagerWithBeanNameSeveralTimes ( ) {
public void determineTransactionManagerWithBeanNameSeveralTimes ( ) {
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
TransactionInterceptor ti = createTestTransactionInterceptor ( beanFactory ) ;
TransactionInterceptor ti = transactionInterceptorWithTransactionManagerName (
ti . setTransactionManagerBeanName ( "fooTransactionManager" ) ;
"fooTransactionManager" , beanFactory ) ;
PlatformTransactionManager txManager = associateTransactionManager ( beanFactory , "fooTransactionManager" ) ;
PlatformTransactionManager txManager = associateTransactionManager ( beanFactory , "fooTransactionManager" ) ;
@ -228,7 +242,7 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
@Test
@Test
public void determineTransactionManagerDefaultSeveralTimes ( ) {
public void determineTransactionManagerDefaultSeveralTimes ( ) {
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
BeanFactory beanFactory = mock ( BeanFactory . class ) ;
TransactionInterceptor ti = createTest TransactionInterceptor( beanFactory ) ;
TransactionInterceptor ti = simple TransactionInterceptor( beanFactory ) ;
PlatformTransactionManager txManager = mock ( PlatformTransactionManager . class ) ;
PlatformTransactionManager txManager = mock ( PlatformTransactionManager . class ) ;
given ( beanFactory . getBean ( PlatformTransactionManager . class ) ) . willReturn ( txManager ) ;
given ( beanFactory . getBean ( PlatformTransactionManager . class ) ) . willReturn ( txManager ) ;
@ -243,12 +257,16 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
verify ( beanFactory , times ( 1 ) ) . getBean ( PlatformTransactionManager . class ) ;
verify ( beanFactory , times ( 1 ) ) . getBean ( PlatformTransactionManager . class ) ;
}
}
private TransactionInterceptor createTestT ransactionInterceptor ( BeanFactory beanFactory ,
private TransactionInterceptor createTransactionInterceptor ( BeanFactory beanFactory ,
PlatformTransactionManager transactionManager ) {
String transactionManagerName , PlatformTransactionManager transactionManager ) {
TransactionInterceptor ti = new TransactionInterceptor ( ) ;
TransactionInterceptor ti = new TransactionInterceptor ( ) ;
if ( beanFactory ! = null ) {
if ( beanFactory ! = null ) {
ti . setBeanFactory ( beanFactory ) ;
ti . setBeanFactory ( beanFactory ) ;
}
}
if ( transactionManagerName ! = null ) {
ti . setTransactionManagerBeanName ( transactionManagerName ) ;
}
if ( transactionManager ! = null ) {
if ( transactionManager ! = null ) {
ti . setTransactionManager ( transactionManager ) ;
ti . setTransactionManager ( transactionManager ) ;
}
}
@ -257,8 +275,20 @@ public class TransactionInterceptorTests extends AbstractTransactionAspectTests
return ti ;
return ti ;
}
}
private TransactionInterceptor createTestTransactionInterceptor ( BeanFactory beanFactory ) {
private TransactionInterceptor transactionInterceptorWithTransactionManager (
return createTestTransactionInterceptor ( beanFactory , null ) ;
PlatformTransactionManager 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 PlatformTransactionManager associateTransactionManager ( BeanFactory beanFactory , String name ) {
private PlatformTransactionManager associateTransactionManager ( BeanFactory beanFactory , String name ) {