DATACMNS-1745 - Polishing.

Made the reference to RepositoryInformation non-nullable from the RepositoryAnnotationTransactionAttributeSource (previously RepositoryInformationPreferring…). Adapted test cases accordingly.
This commit is contained in:
Oliver Drotbohm
2020-06-16 14:29:51 +02:00
parent a76ed28fe7
commit f65451d777
3 changed files with 43 additions and 35 deletions

View File

@@ -16,23 +16,29 @@
package org.springframework.data.repository.core.support;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import org.junit.jupiter.api.Test;
import org.springframework.data.repository.core.support.TransactionalRepositoryProxyPostProcessor.RepositoryInformationPreferringAnnotationTransactionAttributeSource;
import org.springframework.data.repository.core.RepositoryInformation;
import org.springframework.data.repository.core.support.TransactionalRepositoryProxyPostProcessor.RepositoryAnnotationTransactionAttributeSource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAttribute;
/**
* Unit tests for {@link RepositoryInformationPreferringAnnotationTransactionAttributeSource}.
* Unit tests for {@link RepositoryAnnotationTransactionAttributeSource}.
*
* @author Oliver Gierke
* @author Mark Paluch
*/
class RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests {
@Test
void usesCustomTransactionConfigurationOnInterface() throws SecurityException, NoSuchMethodException {
void usesCustomTransactionConfigurationOnInterface() throws Exception {
RepositoryInformationPreferringAnnotationTransactionAttributeSource source = new RepositoryInformationPreferringAnnotationTransactionAttributeSource();
RepositoryInformation information = mock(RepositoryInformation.class);
RepositoryAnnotationTransactionAttributeSource source = new RepositoryAnnotationTransactionAttributeSource(
information, true);
TransactionAttribute attribute = source.getTransactionAttribute(Bar.class.getMethod("bar", Object.class),
FooImpl.class);

View File

@@ -26,12 +26,11 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.aop.framework.ProxyFactory;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.data.repository.Repository;
import org.springframework.data.repository.core.RepositoryInformation;
import org.springframework.data.repository.core.support.TransactionalRepositoryProxyPostProcessor.RepositoryInformationPreferringAnnotationTransactionAttributeSource;
import org.springframework.data.repository.core.support.TransactionalRepositoryProxyPostProcessor.RepositoryAnnotationTransactionAttributeSource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAttribute;
import org.springframework.transaction.interceptor.TransactionAttributeSource;
@@ -87,7 +86,8 @@ class TransactionRepositoryProxyPostProcessorUnitTests {
Method method = SampleRepository.class.getMethod("methodWithJtaOneDotTwoAtTransactional");
TransactionAttributeSource attributeSource = new RepositoryInformationPreferringAnnotationTransactionAttributeSource();
TransactionAttributeSource attributeSource = new RepositoryAnnotationTransactionAttributeSource(
repositoryInformation, true);
TransactionAttribute attribute = attributeSource.getTransactionAttribute(method, SampleRepository.class);
assertThat(attribute).isNotNull();
@@ -100,8 +100,8 @@ class TransactionRepositoryProxyPostProcessorUnitTests {
when(repositoryInformation.getTargetClassMethod(repositorySaveMethod)).thenReturn(implementationClassMethod);
RepositoryInformationPreferringAnnotationTransactionAttributeSource attributeSource = new RepositoryInformationPreferringAnnotationTransactionAttributeSource(
true, repositoryInformation);
RepositoryAnnotationTransactionAttributeSource attributeSource = new RepositoryAnnotationTransactionAttributeSource(
repositoryInformation, true);
TransactionAttribute attribute = attributeSource.getTransactionAttribute(repositorySaveMethod,
SampleImplementation.class);