@@ -15,8 +15,10 @@
|
||||
*/
|
||||
package org.springframework.data.envers.repository.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.springframework.data.history.RevisionMetadata.RevisionType.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.springframework.data.history.RevisionMetadata.RevisionType.DELETE;
|
||||
import static org.springframework.data.history.RevisionMetadata.RevisionType.INSERT;
|
||||
import static org.springframework.data.history.RevisionMetadata.RevisionType.UPDATE;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
@@ -27,7 +29,6 @@ import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
@@ -53,10 +54,8 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
@ContextConfiguration(classes = Config.class)
|
||||
class RepositoryIntegrationTests {
|
||||
|
||||
@Autowired
|
||||
LicenseRepository licenseRepository;
|
||||
@Autowired
|
||||
CountryRepository countryRepository;
|
||||
@Autowired LicenseRepository licenseRepository;
|
||||
@Autowired CountryRepository countryRepository;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
|
||||
@@ -15,9 +15,12 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.convert.threeten;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assumptions.*;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assumptions.assumeThat;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.currentEntityManagerIsAJpa21EntityManager;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
@@ -26,9 +29,6 @@ import java.time.LocalTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.jpa.domain.support.AbstractAttributeConverterIntegrationTests;
|
||||
|
||||
@@ -15,14 +15,13 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.domain.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Auditable;
|
||||
import org.springframework.data.jpa.domain.sample.AnnotatedAuditableUser;
|
||||
|
||||
@@ -15,14 +15,13 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.provider;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.ComponentScan.Filter;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -60,6 +59,7 @@ public class PersistenceProviderIntegrationTests {
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
|
||||
this.product = products.save(new Product());
|
||||
this.category = categories.save(new Category(product));
|
||||
}
|
||||
|
||||
@@ -15,13 +15,12 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import jakarta.persistence.Query;
|
||||
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.data.jpa.repository.sample.UserRepository;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
|
||||
@@ -43,8 +42,7 @@ class EclipseLinkNamespaceUserRepositoryTests extends NamespaceUserRepositoryTes
|
||||
* Ignored until https://bugs.eclipse.org/bugs/show_bug.cgi?id=422450 is resolved.
|
||||
*/
|
||||
@Override
|
||||
void sortByAssociationPropertyShouldUseLeftOuterJoin() {
|
||||
}
|
||||
void sortByAssociationPropertyShouldUseLeftOuterJoin() {}
|
||||
|
||||
/**
|
||||
* Ignored until https://bugs.eclipse.org/bugs/show_bug.cgi?id=422450 is resolved.
|
||||
@@ -67,7 +65,8 @@ class EclipseLinkNamespaceUserRepositoryTests extends NamespaceUserRepositoryTes
|
||||
|
||||
Query query = em.createNativeQuery("select 1 from User where firstname=? and lastname=?");
|
||||
assertThat(query.getParameters()).describedAs(
|
||||
"Due to a bug eclipse has size 0; If this is no longer the case the special code path triggered in NamedOrIndexedQueryParameterSetter.registerExcessParameters can be removed").isEmpty();
|
||||
"Due to a bug eclipse has size 0; If this is no longer the case the special code path triggered in NamedOrIndexedQueryParameterSetter.registerExcessParameters can be removed")
|
||||
.isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -112,8 +111,7 @@ class EclipseLinkNamespaceUserRepositoryTests extends NamespaceUserRepositoryTes
|
||||
* Ignores the test. Reconsider once https://bugs.eclipse.org/bugs/show_bug.cgi?id=533240 is fixed.
|
||||
*/
|
||||
@Override
|
||||
void findByAgeWithEmptyArrayOfIntegersOrFirstName() {
|
||||
}
|
||||
void findByAgeWithEmptyArrayOfIntegersOrFirstName() {}
|
||||
|
||||
/**
|
||||
* Ignores the test. Reconsider once https://bugs.eclipse.org/bugs/show_bug.cgi?id=533240 is fixed.
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assumptions.*;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assumptions.assumeThat;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.currentEntityManagerIsAJpa21EntityManager;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.Persistence;
|
||||
|
||||
@@ -15,15 +15,15 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.util.List;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatCode;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
|
||||
@@ -15,11 +15,8 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
@@ -29,6 +26,10 @@ import jakarta.persistence.criteria.CriteriaQuery;
|
||||
import jakarta.persistence.criteria.ParameterExpression;
|
||||
import jakarta.persistence.criteria.Root;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
@@ -50,12 +51,8 @@ class OpenJpaNamespaceUserRepositoryTests extends NamespaceUserRepositoryTests {
|
||||
@Test
|
||||
void checkQueryValidationWithOpenJpa() {
|
||||
|
||||
assertThatThrownBy(() -> em.createQuery("something absurd"))
|
||||
.isInstanceOf(RuntimeException.class);
|
||||
|
||||
assertThatThrownBy(() -> em.createNamedQuery("not available"))
|
||||
.isInstanceOf(RuntimeException.class);
|
||||
|
||||
assertThatThrownBy(() -> em.createQuery("something absurd")).isInstanceOf(RuntimeException.class);
|
||||
assertThatThrownBy(() -> em.createNamedQuery("not available")).isInstanceOf(RuntimeException.class);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -15,10 +15,7 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||
import jakarta.persistence.criteria.CriteriaQuery;
|
||||
@@ -26,10 +23,12 @@ import jakarta.persistence.criteria.Path;
|
||||
import jakarta.persistence.criteria.Predicate;
|
||||
import jakarta.persistence.criteria.Root;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
@@ -86,6 +85,7 @@ public class ParentRepositoryIntegrationTests {
|
||||
|
||||
@Test // DATAJPA-287
|
||||
void testWithJoin() {
|
||||
|
||||
Page<Parent> page = repository.findAll(new Specification<Parent>() {
|
||||
@Override
|
||||
public Predicate toPredicate(Root<Parent> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
|
||||
|
||||
@@ -15,14 +15,13 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -15,13 +15,12 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.ImportResource;
|
||||
|
||||
@@ -15,11 +15,10 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.jpa.domain.sample.Role;
|
||||
import org.springframework.data.jpa.repository.sample.RoleRepository;
|
||||
|
||||
@@ -15,13 +15,12 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.data.jpa.repository.sample.UserRepository;
|
||||
@@ -29,6 +28,7 @@ import org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean;
|
||||
import org.springframework.data.repository.core.support.RepositoryFactoryInformation;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
/**
|
||||
* @author Jens Schauder
|
||||
* @author Krzysztof Krason
|
||||
|
||||
@@ -15,11 +15,7 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
@@ -29,10 +25,13 @@ import jakarta.persistence.criteria.CriteriaQuery;
|
||||
import jakarta.persistence.criteria.ParameterExpression;
|
||||
import jakarta.persistence.criteria.Root;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
@@ -45,8 +44,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration({ "classpath:application-context.xml"
|
||||
// , "classpath:eclipselink.xml"
|
||||
// , "classpath:openjpa.xml"
|
||||
// , "classpath:eclipselink.xml"
|
||||
// , "classpath:openjpa.xml"
|
||||
})
|
||||
@Transactional
|
||||
class SimpleJpaParameterBindingTests {
|
||||
|
||||
@@ -15,15 +15,15 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assumptions.*;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.*;
|
||||
|
||||
import java.util.List;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assumptions.assumeThat;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.currentEntityManagerIsAJpa21EntityManager;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.springframework.data.domain.Sort.Direction.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.springframework.data.domain.Sort.Direction.ASC;
|
||||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
|
||||
@@ -16,14 +16,22 @@
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.springframework.data.domain.Example.of;
|
||||
import static org.springframework.data.domain.ExampleMatcher.*;
|
||||
import static org.springframework.data.domain.ExampleMatcher.GenericPropertyMatcher;
|
||||
import static org.springframework.data.domain.ExampleMatcher.StringMatcher;
|
||||
import static org.springframework.data.domain.ExampleMatcher.matching;
|
||||
import static org.springframework.data.domain.Sort.Direction.ASC;
|
||||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
import static org.springframework.data.jpa.domain.Specification.not;
|
||||
import static org.springframework.data.jpa.domain.Specification.where;
|
||||
import static org.springframework.data.jpa.domain.sample.UserSpecifications.*;
|
||||
import static org.springframework.data.jpa.domain.sample.UserSpecifications.userHasAgeLess;
|
||||
import static org.springframework.data.jpa.domain.sample.UserSpecifications.userHasFirstname;
|
||||
import static org.springframework.data.jpa.domain.sample.UserSpecifications.userHasFirstnameLike;
|
||||
import static org.springframework.data.jpa.domain.sample.UserSpecifications.userHasLastname;
|
||||
import static org.springframework.data.jpa.domain.sample.UserSpecifications.userHasLastnameLikeWithSort;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
@@ -34,7 +42,14 @@ import jakarta.persistence.criteria.Predicate;
|
||||
import jakarta.persistence.criteria.Root;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.assertj.core.api.SoftAssertions;
|
||||
@@ -48,7 +63,14 @@ import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.dao.DataIntegrityViolationException;
|
||||
import org.springframework.dao.IncorrectResultSizeDataAccessException;
|
||||
import org.springframework.dao.InvalidDataAccessApiUsageException;
|
||||
import org.springframework.data.domain.*;
|
||||
import org.springframework.data.domain.Example;
|
||||
import org.springframework.data.domain.ExampleMatcher;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Slice;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.domain.Sort.Direction;
|
||||
import org.springframework.data.domain.Sort.Order;
|
||||
import org.springframework.data.jpa.domain.Specification;
|
||||
|
||||
@@ -15,20 +15,20 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.cdi;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.util.Set;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.enterprise.inject.se.SeContainer;
|
||||
import jakarta.enterprise.inject.se.SeContainerInitializer;
|
||||
import jakarta.enterprise.inject.spi.Bean;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* Integration tests for Spring Data JPA CDI extension.
|
||||
|
||||
@@ -15,8 +15,13 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.cdi;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import jakarta.enterprise.inject.spi.Bean;
|
||||
import jakarta.enterprise.inject.spi.ProcessBean;
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.Type;
|
||||
@@ -24,10 +29,6 @@ import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import jakarta.enterprise.inject.spi.Bean;
|
||||
import jakarta.enterprise.inject.spi.ProcessBean;
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.config;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
@@ -25,14 +27,11 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.config;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.PropertyValue;
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.query;
|
||||
|
||||
import static org.assertj.core.api.Assumptions.*;
|
||||
import static org.mockito.ArgumentMatchers.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.*;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
import static org.assertj.core.api.Assumptions.assumeThat;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.currentEntityManagerIsAJpa21EntityManager;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.LockModeType;
|
||||
@@ -30,10 +30,12 @@ import jakarta.persistence.Query;
|
||||
import jakarta.persistence.QueryHint;
|
||||
import jakarta.persistence.TypedQuery;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
import org.springframework.data.jpa.provider.PersistenceProvider;
|
||||
import org.springframework.data.jpa.repository.EntityGraph;
|
||||
|
||||
@@ -15,10 +15,14 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.query;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assumptions.*;
|
||||
import static org.junit.Assume.*;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.*;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assumptions.assumeThat;
|
||||
import static org.springframework.data.jpa.support.EntityManagerTestUtils.currentEntityManagerIsAJpa21EntityManager;
|
||||
|
||||
import jakarta.persistence.AttributeNode;
|
||||
import jakarta.persistence.EntityGraph;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.Subgraph;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -26,18 +30,11 @@ import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.persistence.AttributeNode;
|
||||
import jakarta.persistence.EntityGraph;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.Subgraph;
|
||||
|
||||
import org.assertj.core.api.AbstractAssert;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.assertj.core.api.Assumptions;
|
||||
import org.assertj.core.api.SoftAssertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
import org.springframework.data.jpa.repository.EntityGraph.EntityGraphType;
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.query;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.entry;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@@ -17,7 +17,9 @@ import org.springframework.aop.framework.Advised;
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.query;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
@@ -136,8 +138,7 @@ public class PartTreeJpaQueryIntegrationTests {
|
||||
assertThat(HibernateUtils.getHibernateQuery(query.unwrap(HIBERNATE_NATIVE_QUERY))).contains(".id from User as");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1074
|
||||
@Disabled // HHH-15432
|
||||
@Test // DATAJPA-1074, HHH-15432
|
||||
void isEmptyCollection() throws Exception {
|
||||
|
||||
JpaQueryMethod queryMethod = getQueryMethod("findByRolesIsEmpty");
|
||||
@@ -148,8 +149,7 @@ public class PartTreeJpaQueryIntegrationTests {
|
||||
assertThat(HibernateUtils.getHibernateQuery(query.unwrap(HIBERNATE_NATIVE_QUERY))).endsWith("roles is empty");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1074
|
||||
@Disabled // HHH-15432
|
||||
@Test // DATAJPA-1074, HHH-15432
|
||||
void isNotEmptyCollection() throws Exception {
|
||||
|
||||
JpaQueryMethod queryMethod = getQueryMethod("findByRolesIsNotEmpty");
|
||||
|
||||
@@ -15,7 +15,9 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.query;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -99,13 +101,11 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
@Test
|
||||
void createsCountQueryForAliasesCorrectly() {
|
||||
|
||||
assertCountQuery("select u from User as u", "select count(u) from User as u", true);
|
||||
}
|
||||
|
||||
@Test
|
||||
void allowsShortJpaSyntax() {
|
||||
|
||||
assertCountQuery(SIMPLE_QUERY, COUNT_QUERY, false);
|
||||
}
|
||||
|
||||
@@ -143,9 +143,10 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
StringQuery query = new StringQuery("select p from Person p left join p.address address", true);
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(Sort.by("address.city")), "order by address.city asc");
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(Sort.by("address.city", "lastname"), "p"),
|
||||
"order by address.city asc, p.lastname asc");
|
||||
assertThat(getEnhancer(query).applySorting(Sort.by("address.city")))
|
||||
.endsWithIgnoringCase("order by address.city asc");
|
||||
assertThat(getEnhancer(query).applySorting(Sort.by("address.city", "lastname"), "p"))
|
||||
.endsWithIgnoringCase("order by address.city asc, p.lastname asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-252
|
||||
@@ -153,8 +154,8 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
StringQuery query = new StringQuery("select p from Person p order by p.lastname asc", true);
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(Sort.by("firstname"), "p"),
|
||||
"order by p.lastname asc, p.firstname asc");
|
||||
assertThat(getEnhancer(query).applySorting(Sort.by("firstname"), "p"))
|
||||
.endsWithIgnoringCase("order by p.lastname asc, p.firstname asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-296
|
||||
@@ -164,7 +165,7 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
StringQuery query = new StringQuery("select p from Person p", true);
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "p"), "order by lower(p.firstname) asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "p")).endsWithIgnoringCase("order by lower(p.firstname) asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-296
|
||||
@@ -174,7 +175,8 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
StringQuery query = new StringQuery("select p from Person p order by p.lastname asc", true);
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "p"), "order by p.lastname asc, lower(p.firstname) asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "p"))
|
||||
.endsWithIgnoringCase("order by p.lastname asc, lower(p.firstname) asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-342
|
||||
@@ -217,7 +219,7 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery originalQuery = new StringQuery("select p from Person p ORDER BY p.firstname", true);
|
||||
String query = getEnhancer(originalQuery).applySorting(sort, "p");
|
||||
|
||||
endsIgnoringCase(query, "ORDER BY p.firstname, p.lastname asc");
|
||||
assertThat(query).endsWithIgnoringCase("ORDER BY p.firstname, p.lastname asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-409
|
||||
@@ -245,7 +247,7 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery query = new StringQuery("select p from Customer c join c.productOrder p where p.delay = true", true);
|
||||
Sort sort = Sort.by("p.lineItems");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "c"), "order by p.lineItems asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "c")).endsWithIgnoringCase("order by p.lineItems asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-736
|
||||
@@ -279,7 +281,8 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery query = new StringQuery("Select * from Cat c join Dog d", true);
|
||||
Sort sort = Sort.by("dPropertyStartingWithJoinAlias");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "c"), "order by c.dPropertyStartingWithJoinAlias asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "c"))
|
||||
.endsWithIgnoringCase("order by c.dPropertyStartingWithJoinAlias asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-938
|
||||
@@ -324,7 +327,7 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
StringQuery query = new StringQuery("Select * from mytable where ?1 is null", true);
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(Sort.by("firstname")), "order by firstname asc");
|
||||
assertThat(getEnhancer(query).applySorting(Sort.by("firstname"))).endsWithIgnoringCase("order by firstname asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-965, DATAJPA-970
|
||||
@@ -344,7 +347,7 @@ class QueryEnhancerUnitTests {
|
||||
JpaSort sort = JpaSort.unsafe("sum(foo)");
|
||||
StringQuery query = new StringQuery("select p from Person p", true);
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "p"), "order by sum(foo) asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "p")).endsWithIgnoringCase("order by sum(foo) asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-965, DATAJPA-970
|
||||
@@ -354,7 +357,7 @@ class QueryEnhancerUnitTests {
|
||||
true);
|
||||
Sort sort = Sort.by("avgPrice", "sumStocks");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "m"), "order by avgPrice asc, sumStocks asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "m")).endsWithIgnoringCase("order by avgPrice asc, sumStocks asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-965, DATAJPA-970
|
||||
@@ -363,7 +366,7 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery query = new StringQuery("SELECT AVG(m.price) AS avgPrice FROM Magazine m", true);
|
||||
Sort sort = Sort.by("avgPrice");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "m"), "order by avgPrice asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "m")).endsWithIgnoringCase("order by avgPrice asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-965, DATAJPA-970
|
||||
@@ -372,7 +375,7 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery query = new StringQuery("SELECT AVG(m.price) AS avgPrice FROM Magazine m", true);
|
||||
Sort sort = Sort.by("someOtherProperty");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "m"), "order by m.someOtherProperty asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "m")).endsWithIgnoringCase("order by m.someOtherProperty asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-965, DATAJPA-970
|
||||
@@ -381,7 +384,7 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery query = new StringQuery("SELECT m.name, AVG(m.price) AS avgPrice FROM Magazine m", true);
|
||||
Sort sort = Sort.by("name", "avgPrice");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "m"), "order by m.name asc, avgPrice asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "m")).endsWithIgnoringCase("order by m.name asc, avgPrice asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-965, DATAJPA-970
|
||||
@@ -390,7 +393,7 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery query = new StringQuery("SELECT SUBSTRING(m.name, 2, 5) AS trimmedName FROM Magazine m", true);
|
||||
Sort sort = Sort.by("trimmedName");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "m"), "order by trimmedName asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "m")).endsWithIgnoringCase("order by trimmedName asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-965, DATAJPA-970
|
||||
@@ -399,7 +402,7 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery query = new StringQuery("SELECT CONCAT(m.name, 'foo') AS extendedName FROM Magazine m", true);
|
||||
Sort sort = Sort.by("extendedName");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "m"), "order by extendedName asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "m")).endsWithIgnoringCase("order by extendedName asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-965, DATAJPA-970
|
||||
@@ -408,7 +411,7 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery query = new StringQuery("SELECT AVG(m.price) AS avg_price FROM Magazine m", true);
|
||||
Sort sort = Sort.by("avg_price");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "m"), "order by avg_price asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "m")).endsWithIgnoringCase("order by avg_price asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-965, DATAJPA-970
|
||||
@@ -434,7 +437,7 @@ class QueryEnhancerUnitTests {
|
||||
StringQuery query = new StringQuery("SELECT AVG( m.price ) AS avgPrice FROM Magazine m", true);
|
||||
Sort sort = Sort.by("avgPrice");
|
||||
|
||||
endsIgnoringCase(getEnhancer(query).applySorting(sort, "m"), "order by avgPrice asc");
|
||||
assertThat(getEnhancer(query).applySorting(sort, "m")).endsWithIgnoringCase("order by avgPrice asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1000
|
||||
@@ -452,7 +455,8 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
@Test // DATAJPA-1171
|
||||
void doesNotContainStaticClauseInExistsQuery() {
|
||||
endsIgnoringCase(QueryUtils.getExistsQueryString("entity", "x", Collections.singleton("id")), "WHERE x.id = :id");
|
||||
assertThat(QueryUtils.getExistsQueryString("entity", "x", Collections.singleton("id")))
|
||||
.endsWithIgnoringCase("WHERE x.id = :id");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1363
|
||||
@@ -512,7 +516,7 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
String fullQuery = getEnhancer(query).applySorting(sort);
|
||||
|
||||
endsIgnoringCase(fullQuery, "order by authorName asc");
|
||||
assertThat(fullQuery).endsWithIgnoringCase("order by authorName asc");
|
||||
}
|
||||
|
||||
@Test // GH-2280
|
||||
@@ -538,7 +542,7 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
String fullQuery = getEnhancer(query).applySorting(sort);
|
||||
|
||||
endsIgnoringCase(fullQuery, "order by title asc");
|
||||
assertThat(fullQuery).endsWithIgnoringCase("order by title asc");
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1061
|
||||
@@ -551,7 +555,7 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
String fullQuery = getEnhancer(query).applySorting(sort);
|
||||
|
||||
endsIgnoringCase(fullQuery, "order by m.price asc");
|
||||
assertThat(fullQuery).endsWithIgnoringCase("order by m.price asc");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -664,6 +668,7 @@ class QueryEnhancerUnitTests {
|
||||
|
||||
@Test
|
||||
void createsCountQueriesCorrectlyForCapitalLetter() {
|
||||
|
||||
assertCountQuery("SELECT u FROM User u where u.foo.bar = ?", "select count(u) FROM User u where u.foo.bar = ?",
|
||||
true);
|
||||
}
|
||||
@@ -977,13 +982,6 @@ class QueryEnhancerUnitTests {
|
||||
assertThat(getEnhancer(originalQuery).createCountQueryFor()).isEqualToIgnoringCase(countQuery);
|
||||
}
|
||||
|
||||
private static void endsIgnoringCase(String original, String endWithIgnoreCase) {
|
||||
|
||||
// https://github.com/assertj/assertj-core/pull/2451
|
||||
// can be removed when upgrading to version 3.23.0 assertJ
|
||||
assertThat(original.toUpperCase()).endsWith(endWithIgnoreCase.toUpperCase());
|
||||
}
|
||||
|
||||
private static QueryEnhancer getEnhancer(DeclaredQuery query) {
|
||||
return QueryEnhancerFactory.forQuery(query);
|
||||
}
|
||||
|
||||
@@ -15,15 +15,11 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.query;
|
||||
|
||||
import static java.util.Collections.*;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
import static java.util.Collections.singletonList;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EntityManager;
|
||||
@@ -43,6 +39,12 @@ import jakarta.persistence.spi.PersistenceProvider;
|
||||
import jakarta.persistence.spi.PersistenceProviderResolver;
|
||||
import jakarta.persistence.spi.PersistenceProviderResolverHolder;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
@@ -15,9 +15,15 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.query;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.ArgumentMatchers.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityManagerFactory;
|
||||
@@ -37,7 +43,6 @@ import org.mockito.Mockito;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.mockito.junit.jupiter.MockitoSettings;
|
||||
import org.mockito.quality.Strictness;
|
||||
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.query;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import jakarta.persistence.EntityManagerFactory;
|
||||
|
||||
@@ -46,7 +46,7 @@ public class EntityManagerFactoryRefUnitTests {
|
||||
reader.loadBeanDefinitions(new ClassPathResource("multiple-entity-manager-context.xml"));
|
||||
|
||||
BeanDefinition bean = factory.getBeanDefinition("userRepository");
|
||||
Object value = getPropertyValue(bean, "entityManager");
|
||||
Object value = bean.getPropertyValues().getPropertyValue("entityManager").getValue();
|
||||
assertThat(value).isInstanceOf(RuntimeBeanNameReference.class);
|
||||
BeanDefinition emCreator = (BeanDefinition) value;
|
||||
|
||||
@@ -55,7 +55,6 @@ public class EntityManagerFactoryRefUnitTests {
|
||||
}
|
||||
|
||||
private Object getPropertyValue(BeanDefinition definition, String propertyName) {
|
||||
|
||||
return definition.getPropertyValues().getPropertyValue(propertyName).getValue();
|
||||
}
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityManagerFactory;
|
||||
@@ -24,6 +24,7 @@ import jakarta.persistence.PersistenceUnitUtil;
|
||||
import jakarta.persistence.metamodel.EntityType;
|
||||
import jakarta.persistence.metamodel.Metamodel;
|
||||
import jakarta.persistence.metamodel.Type;
|
||||
import lombok.Getter;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -86,17 +87,10 @@ class JpaPersistableEntityInformationUnitTests {
|
||||
@SuppressWarnings("serial")
|
||||
class Foo implements Persistable<Long> {
|
||||
|
||||
Long id;
|
||||
|
||||
@Override
|
||||
public Long getId() {
|
||||
|
||||
return id;
|
||||
}
|
||||
@Getter Long id;
|
||||
|
||||
@Override
|
||||
public boolean isNew() {
|
||||
|
||||
return id != null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,17 +15,19 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.util.Optional;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityManagerFactory;
|
||||
import jakarta.persistence.metamodel.Metamodel;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
@@ -33,7 +35,6 @@ import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.mockito.junit.jupiter.MockitoSettings;
|
||||
import org.mockito.quality.Strictness;
|
||||
|
||||
import org.springframework.aop.framework.Advised;
|
||||
import org.springframework.core.OverridingClassLoader;
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
@@ -62,7 +63,8 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
|
||||
@Mock EntityManager entityManager;
|
||||
@Mock Metamodel metamodel;
|
||||
@Mock @SuppressWarnings("rawtypes") JpaEntityInformation entityInformation;
|
||||
@Mock
|
||||
@SuppressWarnings("rawtypes") JpaEntityInformation entityInformation;
|
||||
@Mock EntityManagerFactory emf;
|
||||
|
||||
@BeforeEach
|
||||
@@ -91,7 +93,6 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
*/
|
||||
@Test
|
||||
void setsUpBasicInstanceCorrectly() {
|
||||
|
||||
assertThat(factory.getRepository(SimpleSampleRepository.class)).isNotNull();
|
||||
}
|
||||
|
||||
@@ -109,7 +110,6 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
* Asserts that the factory recognized configured predicateExecutor classes that contain custom method but no custom
|
||||
* implementation could be found. Furthremore the exception has to contain the name of the predicateExecutor interface
|
||||
* as for a large predicateExecutor configuration it's hard to find out where this error occured.
|
||||
*
|
||||
*/
|
||||
@Test
|
||||
void capturesMissingCustomImplementationAndProvidesInterfacename() {
|
||||
@@ -125,6 +125,7 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
void handlesRuntimeExceptionsCorrectly() {
|
||||
|
||||
SampleRepository repository = factory.getRepository(SampleRepository.class, new SampleCustomRepositoryImpl());
|
||||
|
||||
assertThatIllegalArgumentException().isThrownBy(repository::throwingRuntimeException);
|
||||
}
|
||||
|
||||
@@ -132,6 +133,7 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
void handlesCheckedExceptionsCorrectly() {
|
||||
|
||||
SampleRepository repository = factory.getRepository(SampleRepository.class, new SampleCustomRepositoryImpl());
|
||||
|
||||
assertThatExceptionOfType(IOException.class).isThrownBy(repository::throwingCheckedException);
|
||||
}
|
||||
|
||||
@@ -149,8 +151,8 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
void usesConfiguredRepositoryBaseClass() {
|
||||
|
||||
factory.setRepositoryBaseClass(CustomJpaRepository.class);
|
||||
|
||||
SampleRepository repository = factory.getRepository(SampleRepository.class);
|
||||
|
||||
assertThat(((Advised) repository).getTargetClass()).isEqualTo(CustomJpaRepository.class);
|
||||
}
|
||||
|
||||
@@ -158,10 +160,9 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
void crudMethodMetadataPostProcessorUsesBeanClassLoader() {
|
||||
|
||||
ClassLoader classLoader = new OverridingClassLoader(ClassUtils.getDefaultClassLoader());
|
||||
|
||||
factory.setBeanClassLoader(classLoader);
|
||||
|
||||
Object processor = ReflectionTestUtils.getField(factory, "crudMethodMetadataPostProcessor");
|
||||
|
||||
assertThat(ReflectionTestUtils.getField(processor, "classLoader")).isEqualTo((Object) classLoader);
|
||||
}
|
||||
|
||||
@@ -208,13 +209,11 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
|
||||
@Override
|
||||
public void throwingRuntimeException() {
|
||||
|
||||
throw new IllegalArgumentException("You lose");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void throwingCheckedException() throws IOException {
|
||||
|
||||
throw new IOException("You lose");
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
@@ -69,12 +69,14 @@ class JpaRepositoryTests {
|
||||
|
||||
SampleEntity entity = new SampleEntity("foo", "bar");
|
||||
repository.saveAndFlush(entity);
|
||||
|
||||
assertThat(repository.existsById(new SampleEntityPK("foo", "bar"))).isTrue();
|
||||
assertThat(repository.count()).isOne();
|
||||
assertThat(repository.findById(new SampleEntityPK("foo", "bar"))).contains(entity);
|
||||
|
||||
repository.deleteAll(Arrays.asList(entity));
|
||||
repository.flush();
|
||||
|
||||
assertThat(repository.count()).isZero();
|
||||
}
|
||||
|
||||
@@ -128,6 +130,7 @@ class JpaRepositoryTests {
|
||||
|
||||
repository
|
||||
.deleteAllByIdInBatch(Arrays.asList(new SampleEntityPK("one", "eins"), new SampleEntityPK("three", "drei")));
|
||||
|
||||
assertThat(repository.findAll()).containsExactly(two);
|
||||
}
|
||||
|
||||
@@ -143,7 +146,7 @@ class JpaRepositoryTests {
|
||||
/**
|
||||
* Wrap a {@link List} inside an {@link Iterable} to verify that {@link SimpleJpaRepository} can properly convert a
|
||||
* pure {@link Iterable} to a {@link Collection}.
|
||||
**/
|
||||
*/
|
||||
Iterable<SampleEntityPK> ids = new Iterable<SampleEntityPK>() {
|
||||
|
||||
private List<SampleEntityPK> ids = Arrays.asList(new SampleEntityPK("one", "eins"),
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
@@ -519,6 +520,7 @@ class QuerydslJpaPredicateExecutorUnitTests {
|
||||
}
|
||||
|
||||
private interface UserProjectionInterfaceBased {
|
||||
|
||||
String getFirstname();
|
||||
|
||||
Set<Role> getRoles();
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
|
||||
@@ -15,17 +15,17 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.util.List;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.data.jpa.domain.sample.QUser;
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
|
||||
@@ -15,13 +15,12 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
import org.springframework.data.jpa.repository.sample.UserRepository;
|
||||
@@ -48,13 +47,11 @@ public class TransactionalRepositoryTests {
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
|
||||
transactionManager.resetCount();
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
|
||||
repository.deleteAll();
|
||||
}
|
||||
|
||||
@@ -102,13 +99,11 @@ public class TransactionalRepositoryTests {
|
||||
private TransactionDefinition definition;
|
||||
|
||||
public DelegatingTransactionManager(PlatformTransactionManager txManager) {
|
||||
|
||||
this.txManager = txManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void commit(TransactionStatus status) throws TransactionException {
|
||||
|
||||
txManager.commit(status);
|
||||
}
|
||||
|
||||
@@ -122,12 +117,10 @@ public class TransactionalRepositoryTests {
|
||||
}
|
||||
|
||||
int getTransactionRequests() {
|
||||
|
||||
return transactionRequests;
|
||||
}
|
||||
|
||||
public TransactionDefinition getDefinition() {
|
||||
|
||||
return definition;
|
||||
}
|
||||
|
||||
@@ -139,7 +132,6 @@ public class TransactionalRepositoryTests {
|
||||
|
||||
@Override
|
||||
public void rollback(TransactionStatus status) throws TransactionException {
|
||||
|
||||
txManager.rollback(status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,22 +15,22 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.support;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import jakarta.persistence.spi.PersistenceUnitInfo;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
|
||||
import jakarta.persistence.spi.PersistenceUnitInfo;
|
||||
|
||||
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.mockito.junit.jupiter.MockitoSettings;
|
||||
import org.mockito.quality.Strictness;
|
||||
|
||||
import org.springframework.data.jpa.domain.sample.Role;
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
import org.springframework.orm.jpa.persistenceunit.MutablePersistenceUnitInfo;
|
||||
@@ -66,7 +66,7 @@ class MergingPersistenceUnitManagerUnitTests {
|
||||
|
||||
MergingPersistenceUnitManager manager = new MergingPersistenceUnitManager();
|
||||
manager.setPersistenceXmlLocations("classpath:org/springframework/data/jpa/support/persistence.xml",
|
||||
"classpath:org/springframework/data/jpa/support/persistence2.xml");
|
||||
"classpath:org/springframework/data/jpa/support/persistence2.xml");
|
||||
manager.preparePersistenceUnitInfos();
|
||||
|
||||
PersistenceUnitInfo info = manager.obtainPersistenceUnitInfo("pu");
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.util;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
import jakarta.persistence.metamodel.Metamodel;
|
||||
|
||||
@@ -26,7 +26,6 @@ import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.mockito.junit.jupiter.MockitoSettings;
|
||||
import org.mockito.quality.Strictness;
|
||||
|
||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||
import org.springframework.context.support.GenericApplicationContext;
|
||||
import org.springframework.data.jpa.repository.config.JpaRepositoryConfigExtension;
|
||||
|
||||
Reference in New Issue
Block a user