Polishing.
Reformat code, add ticket references to test methods. See #3137 Original Pull Request: #3173
This commit is contained in:
@@ -15,15 +15,11 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.query;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.ArgumentMatchers.*;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.*;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.LockModeType;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
@@ -31,12 +27,14 @@ import jakarta.persistence.Query;
|
||||
import jakarta.persistence.QueryHint;
|
||||
import jakarta.persistence.TypedQuery;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Assume;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
import org.springframework.data.jpa.provider.PersistenceProvider;
|
||||
import org.springframework.data.jpa.repository.EntityGraph;
|
||||
@@ -80,7 +78,6 @@ public class AbstractJpaQueryTests {
|
||||
void addsHintsToQueryObject() throws Exception {
|
||||
|
||||
JpaQueryMethod queryMethod = getMethod("findByLastname", String.class);
|
||||
|
||||
AbstractJpaQuery jpaQuery = new DummyJpaQuery(queryMethod, em);
|
||||
|
||||
Query result = jpaQuery
|
||||
@@ -113,8 +110,8 @@ public class AbstractJpaQueryTests {
|
||||
when(query.setLockMode(any(LockModeType.class))).thenReturn(query);
|
||||
|
||||
JpaQueryMethod queryMethod = getMethod("findOneLocked", Integer.class);
|
||||
|
||||
AbstractJpaQuery jpaQuery = new DummyJpaQuery(queryMethod, em);
|
||||
|
||||
Query result = jpaQuery.createQuery(
|
||||
new JpaParametersParameterAccessor(queryMethod.getParameters(), new Object[] { Integer.valueOf(1) }));
|
||||
verify(result).setLockMode(LockModeType.PESSIMISTIC_WRITE);
|
||||
@@ -127,7 +124,6 @@ public class AbstractJpaQueryTests {
|
||||
Assume.assumeTrue(currentEntityManagerIsAJpa21EntityManager(em));
|
||||
|
||||
JpaQueryMethod queryMethod = getMethod("findAll");
|
||||
|
||||
jakarta.persistence.EntityGraph<?> entityGraph = em.getEntityGraph("User.overview");
|
||||
|
||||
AbstractJpaQuery jpaQuery = new DummyJpaQuery(queryMethod, em);
|
||||
@@ -143,7 +139,6 @@ public class AbstractJpaQueryTests {
|
||||
Assume.assumeTrue(currentEntityManagerIsAJpa21EntityManager(em));
|
||||
|
||||
JpaQueryMethod queryMethod = getMethod("getById", Integer.class);
|
||||
|
||||
jakarta.persistence.EntityGraph<?> entityGraph = em.getEntityGraph("User.detail");
|
||||
|
||||
AbstractJpaQuery jpaQuery = new DummyJpaQuery(queryMethod, em);
|
||||
@@ -157,12 +152,12 @@ public class AbstractJpaQueryTests {
|
||||
void shouldCreateHibernateJpaParameterParametersAccessorForNativeQuery() throws Exception {
|
||||
|
||||
JpaQueryMethod queryMethod = getMethod("findByLastnameNativeQuery", String.class);
|
||||
|
||||
AbstractJpaQuery jpaQuery = new DummyJpaQuery(queryMethod, em);
|
||||
|
||||
jpaQuery.execute(new Object[] {"some last name"});
|
||||
jpaQuery.execute(new Object[] { "some last name" });
|
||||
|
||||
ArgumentCaptor<JpaParametersParameterAccessor> captor = ArgumentCaptor.forClass(JpaParametersParameterAccessor.class);
|
||||
ArgumentCaptor<JpaParametersParameterAccessor> captor = ArgumentCaptor
|
||||
.forClass(JpaParametersParameterAccessor.class);
|
||||
verify(execution).execute(eq(jpaQuery), captor.capture());
|
||||
JpaParametersParameterAccessor parameterAccessor = captor.getValue();
|
||||
|
||||
@@ -175,9 +170,10 @@ public class AbstractJpaQueryTests {
|
||||
JpaQueryMethod queryMethod = getMethod("findByFirstname", String.class);
|
||||
AbstractJpaQuery jpaQuery = new DummyJpaQuery(queryMethod, em);
|
||||
|
||||
jpaQuery.execute(new Object[] {"some first name"});
|
||||
jpaQuery.execute(new Object[] { "some first name" });
|
||||
|
||||
ArgumentCaptor<JpaParametersParameterAccessor> captor = ArgumentCaptor.forClass(JpaParametersParameterAccessor.class);
|
||||
ArgumentCaptor<JpaParametersParameterAccessor> captor = ArgumentCaptor
|
||||
.forClass(JpaParametersParameterAccessor.class);
|
||||
verify(execution).execute(eq(jpaQuery), captor.capture());
|
||||
JpaParametersParameterAccessor parameterAccessor = captor.getValue();
|
||||
|
||||
@@ -198,7 +194,8 @@ public class AbstractJpaQueryTests {
|
||||
@QueryHints({ @QueryHint(name = "foo", value = "bar") })
|
||||
List<User> findByLastname(String lastname);
|
||||
|
||||
@org.springframework.data.jpa.repository.Query(value = "select u from User u where u.lastname = ?1", nativeQuery = true)
|
||||
@org.springframework.data.jpa.repository.Query(value = "select u from User u where u.lastname = ?1",
|
||||
nativeQuery = true)
|
||||
List<User> findByLastnameNativeQuery(String lastname);
|
||||
|
||||
@QueryHints(value = { @QueryHint(name = "bar", value = "foo") }, forCounting = false)
|
||||
|
||||
@@ -18,14 +18,11 @@ package org.springframework.data.jpa.repository.query;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||
|
||||
import org.eclipse.persistence.internal.jpa.querydef.ParameterExpressionImpl;
|
||||
import org.springframework.data.repository.query.Parameters;
|
||||
import org.springframework.data.repository.query.parser.Part;
|
||||
import java.util.Collections;
|
||||
|
||||
import org.eclipse.persistence.internal.jpa.querydef.ParameterExpressionImpl;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Answers;
|
||||
@@ -33,6 +30,8 @@ import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.mockito.junit.jupiter.MockitoSettings;
|
||||
import org.mockito.quality.Strictness;
|
||||
import org.springframework.data.repository.query.Parameters;
|
||||
import org.springframework.data.repository.query.parser.Part;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link ParameterMetadataProvider}.
|
||||
@@ -46,10 +45,11 @@ class ParameterMetadataProviderUnitTests {
|
||||
|
||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS) Part part;
|
||||
|
||||
private ParameterExpressionImpl parameterExpression = new ParameterExpressionImpl(null, String.class);
|
||||
@SuppressWarnings("rawtypes") //
|
||||
private final ParameterExpressionImpl parameterExpression = new ParameterExpressionImpl<>(null, String.class);
|
||||
|
||||
@Test // DATAJPA-863
|
||||
void errorMessageMentionesParametersWhenParametersAreExhausted() {
|
||||
void errorMessageMentionsParametersWhenParametersAreExhausted() {
|
||||
|
||||
CriteriaBuilder builder = mock(CriteriaBuilder.class);
|
||||
|
||||
@@ -66,17 +66,21 @@ class ParameterMetadataProviderUnitTests {
|
||||
|
||||
@Test // GH-3137
|
||||
void returnAugmentedValueForStringExpressions() {
|
||||
|
||||
when(part.getProperty().getLeafProperty().isCollection()).thenReturn(false);
|
||||
|
||||
assertThat(createParameterMetadata(Part.Type.STARTING_WITH).prepare("starting with")).isEqualTo("starting with%");
|
||||
assertThat(createParameterMetadata(Part.Type.ENDING_WITH).prepare("ending with")).isEqualTo("%ending with");
|
||||
assertThat(createParameterMetadata(Part.Type.CONTAINING).prepare("containing")).isEqualTo("%containing%");
|
||||
assertThat(createParameterMetadata(Part.Type.NOT_CONTAINING).prepare("not containing")).isEqualTo("%not containing%");
|
||||
assertThat(createParameterMetadata(Part.Type.NOT_CONTAINING).prepare("not containing"))
|
||||
.isEqualTo("%not containing%");
|
||||
assertThat(createParameterMetadata(Part.Type.LIKE).prepare("%like%")).isEqualTo("%like%");
|
||||
assertThat(createParameterMetadata(Part.Type.IS_NULL).prepare(null)).isEqualTo(null);
|
||||
}
|
||||
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
private ParameterMetadataProvider.ParameterMetadata createParameterMetadata(Part.Type partType) {
|
||||
|
||||
when(part.getType()).thenReturn(partType);
|
||||
return new ParameterMetadataProvider.ParameterMetadata<>(parameterExpression, part, null, EscapeCharacter.DEFAULT);
|
||||
}
|
||||
|
||||
@@ -278,8 +278,9 @@ public class QueryWithNullLikeHibernateIntegrationTests {
|
||||
{ "Frodo Baggins", "Frodo Baggins with suffix" }, { "Bilbo Baggins", "Bilbo Baggins with suffix" }, { null, null} });
|
||||
}
|
||||
|
||||
@Test
|
||||
@Test // GH-3137
|
||||
void nullOptionalParameterShouldReturnAllEntries() {
|
||||
|
||||
List<EmployeeWithName> result = repository.customQueryWithOptionalParameter(null);
|
||||
|
||||
assertThat(result).hasSize(3);
|
||||
|
||||
Reference in New Issue
Block a user