Migrate code to Java 17 style.
Use var instead of explicit local types where applicable. Use pattern variable instead instanceof and cast. Prefer loops and nullable types over Stream and Optional. Convert classes to records where applicable. See #2465
This commit is contained in:
committed by
Jens Schauder
parent
d4036ec0a9
commit
c735b58607
@@ -17,15 +17,12 @@ package org.springframework.data.web;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.core.MethodParameter;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.hateoas.server.mvc.UriComponentsContributor;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
import org.springframework.web.util.UriComponents;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
|
||||
/**
|
||||
@@ -39,7 +36,7 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
@Test
|
||||
void buildsUpRequestParameters() {
|
||||
|
||||
String basicString = String.format("page=%d&size=%d", PAGE_NUMBER, PAGE_SIZE);
|
||||
var basicString = String.format("page=%d&size=%d", PAGE_NUMBER, PAGE_SIZE);
|
||||
|
||||
assertUriStringFor(REFERENCE_WITHOUT_SORT, basicString);
|
||||
assertUriStringFor(REFERENCE_WITH_SORT, basicString + "&sort=firstname,lastname,desc");
|
||||
@@ -49,18 +46,18 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
@Test // DATACMNS-343
|
||||
void replacesExistingPaginationInformation() throws Exception {
|
||||
|
||||
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("supportedMethod", Pageable.class), 0);
|
||||
var parameter = new MethodParameter(Sample.class.getMethod("supportedMethod", Pageable.class), 0);
|
||||
UriComponentsContributor resolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080?page=0&size=10");
|
||||
var builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080?page=0&size=10");
|
||||
resolver.enhance(builder, parameter, PageRequest.of(1, 20));
|
||||
|
||||
MultiValueMap<String, String> params = builder.build().getQueryParams();
|
||||
var params = builder.build().getQueryParams();
|
||||
|
||||
List<String> page = params.get("page");
|
||||
var page = params.get("page");
|
||||
assertThat(page).hasSize(1);
|
||||
assertThat(page.get(0)).isEqualTo("1");
|
||||
|
||||
List<String> size = params.get("size");
|
||||
var size = params.get("size");
|
||||
assertThat(size).hasSize(1);
|
||||
assertThat(size.get(0)).isEqualTo("20");
|
||||
}
|
||||
@@ -84,11 +81,11 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
@Test // DATACMNS-418
|
||||
void returnsCustomizedTemplateVariables() {
|
||||
|
||||
UriComponents uriComponents = UriComponentsBuilder.fromPath("/foo").build();
|
||||
var uriComponents = UriComponentsBuilder.fromPath("/foo").build();
|
||||
|
||||
HateoasPageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setPageParameterName("foo");
|
||||
String variables = resolver.getPaginationTemplateVariables(null, uriComponents).toString();
|
||||
var variables = resolver.getPaginationTemplateVariables(null, uriComponents).toString();
|
||||
|
||||
assertThat(variables).isEqualTo("{?foo,size,sort}");
|
||||
}
|
||||
@@ -96,14 +93,14 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
@Test // DATACMNS-563
|
||||
void enablingOneIndexedParameterReturnsOneForFirstPage() {
|
||||
|
||||
HateoasPageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setOneIndexedParameters(true);
|
||||
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/");
|
||||
var builder = UriComponentsBuilder.fromPath("/");
|
||||
|
||||
resolver.enhance(builder, null, PageRequest.of(0, 10));
|
||||
|
||||
MultiValueMap<String, String> params = builder.build().getQueryParams();
|
||||
var params = builder.build().getQueryParams();
|
||||
|
||||
assertThat(params.containsKey(resolver.getPageParameterName())).isTrue();
|
||||
assertThat(params.getFirst(resolver.getPageParameterName())).isEqualTo("1");
|
||||
@@ -112,7 +109,7 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
@Test // DATACMNS-1455
|
||||
void enhancesUnpaged() {
|
||||
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/");
|
||||
var builder = UriComponentsBuilder.fromPath("/");
|
||||
|
||||
getResolver().enhance(builder, null, Pageable.unpaged());
|
||||
|
||||
@@ -122,15 +119,15 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
@Override
|
||||
protected HateoasPageableHandlerMethodArgumentResolver getResolver() {
|
||||
|
||||
HateoasPageableHandlerMethodArgumentResolver resolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
var resolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
resolver.setMaxPageSize(100);
|
||||
return resolver;
|
||||
}
|
||||
|
||||
protected void assertUriStringFor(Pageable pageable, String expected) {
|
||||
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/");
|
||||
MethodParameter parameter = getParameterOfMethod("supportedMethod");
|
||||
var builder = UriComponentsBuilder.fromPath("/");
|
||||
var parameter = getParameterOfMethod("supportedMethod");
|
||||
|
||||
getResolver().enhance(builder, parameter, pageable);
|
||||
|
||||
@@ -139,9 +136,9 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
|
||||
private void assertTemplateEnrichment(String baseUri, String expected) {
|
||||
|
||||
UriComponents uriComponents = UriComponentsBuilder.fromUriString(baseUri).build();
|
||||
var uriComponents = UriComponentsBuilder.fromUriString(baseUri).build();
|
||||
|
||||
HateoasPageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
assertThat(resolver.getPaginationTemplateVariables(null, uriComponents).toString()).isEqualTo(expected);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,9 +21,8 @@ import static org.springframework.data.domain.Sort.Direction.*;
|
||||
import java.net.URI;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.core.MethodParameter;
|
||||
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.web.util.UriComponents;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
|
||||
/**
|
||||
@@ -51,9 +50,9 @@ class HateoasSortHandlerMethodArgumentResolverUnitTests extends SortHandlerMetho
|
||||
@Test // DATACMNS-418
|
||||
void returnCorrectTemplateVariables() {
|
||||
|
||||
UriComponents uriComponents = UriComponentsBuilder.fromPath("/").build();
|
||||
var uriComponents = UriComponentsBuilder.fromPath("/").build();
|
||||
|
||||
HateoasSortHandlerMethodArgumentResolver resolver = new HateoasSortHandlerMethodArgumentResolver();
|
||||
var resolver = new HateoasSortHandlerMethodArgumentResolver();
|
||||
assertThat(resolver.getSortTemplateVariables(null, uriComponents).toString()).isEqualTo("{?sort}");
|
||||
}
|
||||
|
||||
@@ -63,8 +62,8 @@ class HateoasSortHandlerMethodArgumentResolverUnitTests extends SortHandlerMetho
|
||||
|
||||
private void assertUriStringFor(Sort sort, String expected, String baseUri) throws Exception {
|
||||
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromUri(new URI(baseUri));
|
||||
MethodParameter parameter = getParameterOfMethod("supportedMethod");
|
||||
var builder = UriComponentsBuilder.fromUri(new URI(baseUri));
|
||||
var parameter = getParameterOfMethod("supportedMethod");
|
||||
|
||||
new HateoasSortHandlerMethodArgumentResolver().enhance(builder, parameter, sort);
|
||||
|
||||
|
||||
@@ -54,14 +54,14 @@ class JsonProjectingMethodInterceptorFactoryUnitTests {
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
|
||||
String json = "{\"firstname\" : \"Dave\", "//
|
||||
var json = "{\"firstname\" : \"Dave\", "//
|
||||
+ "\"address\" : { \"zipCode\" : \"01097\", \"city\" : \"Dresden\" }," //
|
||||
+ "\"addresses\" : [ { \"zipCode\" : \"01097\", \"city\" : \"Dresden\" }, { \"zipCode\" : \"69469\", \"city\" : \"Weinheim\" }]"
|
||||
+ " }";
|
||||
|
||||
SpelAwareProxyProjectionFactory projectionFactory = new SpelAwareProxyProjectionFactory();
|
||||
var projectionFactory = new SpelAwareProxyProjectionFactory();
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
var objectMapper = new ObjectMapper();
|
||||
MappingProvider mappingProvider = new JacksonMappingProvider(objectMapper);
|
||||
JsonProvider jsonProvider = new JacksonJsonProvider(objectMapper);
|
||||
projectionFactory
|
||||
@@ -121,7 +121,7 @@ class JsonProjectingMethodInterceptorFactoryUnitTests {
|
||||
@Test // DATCMNS-885
|
||||
void accessCollectionPropertyThatUsesJsonPathProjectionInTurn() {
|
||||
|
||||
List<AnotherAddressProjection> projections = customer.getAnotherAddressProjections();
|
||||
var projections = customer.getAnotherAddressProjections();
|
||||
|
||||
assertThat(projections).hasSize(2);
|
||||
assertThat(projections.get(0).getZipCodeButNotCity()).isEqualTo("01097");
|
||||
@@ -130,7 +130,7 @@ class JsonProjectingMethodInterceptorFactoryUnitTests {
|
||||
@Test // DATCMNS-885
|
||||
void accessAsCollectionPropertyThatUsesJsonPathProjectionInTurn() {
|
||||
|
||||
Set<AnotherAddressProjection> projections = customer.getAnotherAddressProjectionAsCollection();
|
||||
var projections = customer.getAnotherAddressProjectionAsCollection();
|
||||
|
||||
assertThat(projections).hasSize(1);
|
||||
assertThat(projections.iterator().next().getZipCodeButNotCity()).isEqualTo("01097");
|
||||
@@ -139,7 +139,7 @@ class JsonProjectingMethodInterceptorFactoryUnitTests {
|
||||
@Test // DATCMNS-885
|
||||
void accessNestedPropertyButStayOnRootLevel() {
|
||||
|
||||
Name name = customer.getName();
|
||||
var name = customer.getName();
|
||||
|
||||
assertThat(name).isNotNull();
|
||||
assertThat(name.getFirstname()).isEqualTo("Dave");
|
||||
@@ -165,10 +165,10 @@ class JsonProjectingMethodInterceptorFactoryUnitTests {
|
||||
@Test // gh-2270
|
||||
void shouldProjectOnArray() {
|
||||
|
||||
String json = "[ { \"creationDate\": 1610111331413, \"changeDate\": 1610111332160, \"person\": { \"caption\": \"Test2 TEST2\", \"firstName\": \"Test2\", \"lastName\": \"Test2\" } }, "
|
||||
var json = "[ { \"creationDate\": 1610111331413, \"changeDate\": 1610111332160, \"person\": { \"caption\": \"Test2 TEST2\", \"firstName\": \"Test2\", \"lastName\": \"Test2\" } }, "
|
||||
+ "{ \"creationDate\": 1609775450502, \"changeDate\": 1609775451333, \"person\": { \"caption\": \"Test TEST\", \"firstName\": \"Test\", \"lastName\": \"Test\" } }]";
|
||||
|
||||
UserPayload projection = projectionFactory.createProjection(UserPayload.class,
|
||||
var projection = projectionFactory.createProjection(UserPayload.class,
|
||||
new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)));
|
||||
|
||||
assertThat(projection.users()).hasSize(2);
|
||||
|
||||
@@ -28,7 +28,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.ConfigurablePropertyAccessor;
|
||||
|
||||
import org.springframework.beans.MutablePropertyValues;
|
||||
import org.springframework.beans.NotWritablePropertyException;
|
||||
import org.springframework.beans.PropertyValues;
|
||||
@@ -47,9 +47,9 @@ class MapDataBinderUnitTests {
|
||||
@Test // DATACMNS-630
|
||||
void honorsFormattingAnnotationOnAccessor() {
|
||||
|
||||
Date reference = new Date();
|
||||
var reference = new Date();
|
||||
|
||||
MutablePropertyValues values = new MutablePropertyValues();
|
||||
var values = new MutablePropertyValues();
|
||||
values.add("foo.date", new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX").format(reference));
|
||||
|
||||
Map<String, Object> nested = new HashMap<>();
|
||||
@@ -61,10 +61,10 @@ class MapDataBinderUnitTests {
|
||||
@Test // DATACMNS-630
|
||||
void bindsNestedCollectionElement() {
|
||||
|
||||
MutablePropertyValues values = new MutablePropertyValues();
|
||||
var values = new MutablePropertyValues();
|
||||
values.add("foo.bar.fooBar[0]", "String");
|
||||
|
||||
Map<String, Object> result = bind(values);
|
||||
var result = bind(values);
|
||||
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("String");
|
||||
@@ -75,11 +75,11 @@ class MapDataBinderUnitTests {
|
||||
@Test // DATACMNS-630
|
||||
void bindsNestedPrimitive() {
|
||||
|
||||
MutablePropertyValues values = new MutablePropertyValues();
|
||||
var values = new MutablePropertyValues();
|
||||
values.add("foo.firstname", "Dave");
|
||||
values.add("foo.lastname", "Matthews");
|
||||
|
||||
Map<String, Object> result = bind(values);
|
||||
var result = bind(values);
|
||||
|
||||
Map<String, Object> dave = new HashMap<>();
|
||||
dave.put("firstname", "Dave");
|
||||
@@ -91,7 +91,7 @@ class MapDataBinderUnitTests {
|
||||
@Test // DATACMNS-630
|
||||
void skipsPropertyNotExposedByTheTypeHierarchy() {
|
||||
|
||||
MutablePropertyValues values = new MutablePropertyValues();
|
||||
var values = new MutablePropertyValues();
|
||||
values.add("somethingWeird", "Value");
|
||||
|
||||
assertThat(bind(values)).isEqualTo(Collections.emptyMap());
|
||||
@@ -100,7 +100,7 @@ class MapDataBinderUnitTests {
|
||||
@Test // DATACMNS-1264
|
||||
void dropsMapExpressionsForCollectionReferences() {
|
||||
|
||||
ConfigurablePropertyAccessor accessor = new MapDataBinder(Bar.class, new DefaultFormattingConversionService())
|
||||
var accessor = new MapDataBinder(Bar.class, new DefaultFormattingConversionService())
|
||||
.getPropertyAccessor();
|
||||
|
||||
assertThatExceptionOfType(NotWritablePropertyException.class) //
|
||||
@@ -111,7 +111,7 @@ class MapDataBinderUnitTests {
|
||||
@Test // DATACMNS-1264
|
||||
void rejectsExpressionContainingTypeExpression() {
|
||||
|
||||
ConfigurablePropertyAccessor accessor = new MapDataBinder(Bar.class, new DefaultFormattingConversionService())
|
||||
var accessor = new MapDataBinder(Bar.class, new DefaultFormattingConversionService())
|
||||
.getPropertyAccessor();
|
||||
|
||||
assertThatExceptionOfType(NotWritablePropertyException.class) //
|
||||
@@ -121,7 +121,7 @@ class MapDataBinderUnitTests {
|
||||
|
||||
private static Map<String, Object> bind(PropertyValues values) {
|
||||
|
||||
MapDataBinder binder = new MapDataBinder(Root.class, new DefaultFormattingConversionService());
|
||||
var binder = new MapDataBinder(Root.class, new DefaultFormattingConversionService());
|
||||
binder.bind(values);
|
||||
|
||||
return binder.getTarget();
|
||||
|
||||
@@ -60,7 +60,7 @@ abstract class PageableDefaultUnitTests {
|
||||
@Test
|
||||
void doesNotSupportNonPageable() {
|
||||
|
||||
MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
|
||||
var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
|
||||
assertThat(getResolver().supportsParameter(parameter)).isFalse();
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ abstract class PageableDefaultUnitTests {
|
||||
@Test
|
||||
void rejectsInvalidQulifiers() throws Exception {
|
||||
|
||||
MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "invalidQualifiers",
|
||||
var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "invalidQualifiers",
|
||||
Pageable.class, Pageable.class);
|
||||
|
||||
HandlerMethodArgumentResolver resolver = getResolver();
|
||||
@@ -112,7 +112,7 @@ abstract class PageableDefaultUnitTests {
|
||||
@Test
|
||||
void rejectsNoQualifiers() throws Exception {
|
||||
|
||||
MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "noQualifiers", Pageable.class,
|
||||
var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "noQualifiers", Pageable.class,
|
||||
Pageable.class);
|
||||
|
||||
HandlerMethodArgumentResolver resolver = getResolver();
|
||||
|
||||
@@ -50,7 +50,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
void preventsPageSizeFromExceedingMayValueIfConfigured() throws Exception {
|
||||
|
||||
// Read side
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "0");
|
||||
request.addParameter("size", "200");
|
||||
|
||||
@@ -84,9 +84,9 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test
|
||||
void qualifierIsUsedInParameterLookup() throws Exception {
|
||||
|
||||
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("validQualifier", Pageable.class), 0);
|
||||
var parameter = new MethodParameter(Sample.class.getMethod("validQualifier", Pageable.class), 0);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("foo_page", "2");
|
||||
request.addParameter("foo_size", "10");
|
||||
|
||||
@@ -96,7 +96,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-377
|
||||
void usesDefaultPageSizeIfRequestPageSizeIsLessThanOne() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "0");
|
||||
request.addParameter("size", "0");
|
||||
|
||||
@@ -106,7 +106,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-377
|
||||
void rejectsInvalidCustomDefaultForPageSize() throws Exception {
|
||||
|
||||
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class),
|
||||
var parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class),
|
||||
0);
|
||||
|
||||
assertThatIllegalStateException().isThrownBy(() -> assertSupportedAndResult(parameter, DEFAULT_PAGE_REQUEST)) //
|
||||
@@ -116,7 +116,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-408
|
||||
void fallsBackToFirstPageIfNegativePageNumberIsGiven() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "-1");
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request);
|
||||
@@ -125,7 +125,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-408
|
||||
void pageParamIsNotNumeric() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "a");
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request);
|
||||
@@ -134,7 +134,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-408
|
||||
void sizeParamIsNotNumeric() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("size", "a");
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request);
|
||||
@@ -143,7 +143,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-477
|
||||
void returnsNullIfFallbackIsUnpagedAndNoParametersGiven() throws Exception {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, Pageable.unpaged(),
|
||||
@@ -153,10 +153,10 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-477
|
||||
void returnsFallbackIfOnlyPageIsGiven() throws Exception {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "20");
|
||||
|
||||
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null))
|
||||
@@ -166,10 +166,10 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-477
|
||||
void returnsFallbackIfFallbackIsUnpagedAndOnlySizeIsGiven() throws Exception {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("size", "10");
|
||||
|
||||
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null))
|
||||
@@ -179,10 +179,10 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-563
|
||||
void considersOneIndexedParametersSetting() {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setOneIndexedParameters(true);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "1");
|
||||
|
||||
assertThat(
|
||||
@@ -193,14 +193,14 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-640
|
||||
void usesNullSortIfNoDefaultIsConfiguredAndPageAndSizeAreGiven() {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "0");
|
||||
request.addParameter("size", "10");
|
||||
|
||||
Pageable result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null);
|
||||
var result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(result.getPageNumber()).isEqualTo(0);
|
||||
assertThat(result.getPageSize()).isEqualTo(10);
|
||||
@@ -210,13 +210,13 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-692
|
||||
void oneIndexedParametersDefaultsIndexOutOfRange() {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setOneIndexedParameters(true);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "0");
|
||||
|
||||
Pageable result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null);
|
||||
var result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(result.getPageNumber()).isEqualTo(0);
|
||||
}
|
||||
@@ -224,13 +224,13 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-761
|
||||
void returnsCorrectPageSizeForOneIndexParameters() {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setOneIndexedParameters(true);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("size", "10");
|
||||
|
||||
Pageable result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null);
|
||||
var result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(result.getPageSize()).isEqualTo(10);
|
||||
}
|
||||
@@ -238,7 +238,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-929
|
||||
void detectsFallbackPageableIfNullOneIsConfigured() {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
assertThat(resolver.isFallbackPageable(null)).isFalse();
|
||||
@@ -248,9 +248,9 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-1827
|
||||
void emptyQualifierIsUsedInParameterLookup() throws Exception {
|
||||
|
||||
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("emptyQualifier", Pageable.class), 0);
|
||||
var parameter = new MethodParameter(Sample.class.getMethod("emptyQualifier", Pageable.class), 0);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "2");
|
||||
request.addParameter("size", "10");
|
||||
|
||||
@@ -260,9 +260,9 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
@Test // DATACMNS-1827
|
||||
void mergedQualifierIsUsedInParameterLookup() throws Exception {
|
||||
|
||||
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("mergedQualifier", Pageable.class), 0);
|
||||
var parameter = new MethodParameter(Sample.class.getMethod("mergedQualifier", Pageable.class), 0);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("merged_page", "2");
|
||||
request.addParameter("merged_size", "10");
|
||||
|
||||
@@ -271,7 +271,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit
|
||||
|
||||
@Override
|
||||
protected PageableHandlerMethodArgumentResolver getResolver() {
|
||||
PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();
|
||||
var resolver = new PageableHandlerMethodArgumentResolver();
|
||||
resolver.setMaxPageSize(100);
|
||||
return resolver;
|
||||
}
|
||||
|
||||
@@ -41,15 +41,15 @@ class PagedResourcesAssemblerArgumentResolverUnitTests {
|
||||
|
||||
WebTestUtils.initWebTest();
|
||||
|
||||
HateoasPageableHandlerMethodArgumentResolver hateoasPageableHandlerMethodArgumentResolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
var hateoasPageableHandlerMethodArgumentResolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
this.resolver = new PagedResourcesAssemblerArgumentResolver(hateoasPageableHandlerMethodArgumentResolver);
|
||||
}
|
||||
|
||||
@Test // DATACMNS-418
|
||||
void createsPlainAssemblerWithoutContext() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("noContext", PagedResourcesAssembler.class);
|
||||
Object result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null);
|
||||
var method = Controller.class.getMethod("noContext", PagedResourcesAssembler.class);
|
||||
var result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null);
|
||||
|
||||
assertThat(result).isInstanceOf(PagedResourcesAssembler.class);
|
||||
assertThat(result).isNotInstanceOf(MethodParameterAwarePagedResourcesAssembler.class);
|
||||
@@ -58,28 +58,28 @@ class PagedResourcesAssemblerArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-418
|
||||
void selectsUniquePageableParameter() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("unique", PagedResourcesAssembler.class, Pageable.class);
|
||||
var method = Controller.class.getMethod("unique", PagedResourcesAssembler.class, Pageable.class);
|
||||
assertSelectsParameter(method, 1);
|
||||
}
|
||||
|
||||
@Test // DATACMNS-418
|
||||
void selectsUniquePageableParameterForQualifiedAssembler() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("unnecessarilyQualified", PagedResourcesAssembler.class, Pageable.class);
|
||||
var method = Controller.class.getMethod("unnecessarilyQualified", PagedResourcesAssembler.class, Pageable.class);
|
||||
assertSelectsParameter(method, 1);
|
||||
}
|
||||
|
||||
@Test // DATACMNS-418
|
||||
void selectsUniqueQualifiedPageableParameter() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("qualifiedUnique", PagedResourcesAssembler.class, Pageable.class);
|
||||
var method = Controller.class.getMethod("qualifiedUnique", PagedResourcesAssembler.class, Pageable.class);
|
||||
assertSelectsParameter(method, 1);
|
||||
}
|
||||
|
||||
@Test // DATACMNS-418
|
||||
void selectsQualifiedPageableParameter() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("qualified", PagedResourcesAssembler.class, Pageable.class,
|
||||
var method = Controller.class.getMethod("qualified", PagedResourcesAssembler.class, Pageable.class,
|
||||
Pageable.class);
|
||||
assertSelectsParameter(method, 1);
|
||||
}
|
||||
@@ -102,31 +102,31 @@ class PagedResourcesAssemblerArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-419
|
||||
void doesNotFailForTemplatedMethodMapping() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("methodWithPathVariable", PagedResourcesAssembler.class);
|
||||
Object result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null);
|
||||
var method = Controller.class.getMethod("methodWithPathVariable", PagedResourcesAssembler.class);
|
||||
var result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null);
|
||||
|
||||
assertThat(result).isNotNull();
|
||||
}
|
||||
|
||||
private void assertSelectsParameter(Method method, int expectedIndex) {
|
||||
|
||||
MethodParameter parameter = new MethodParameter(method, 0);
|
||||
var parameter = new MethodParameter(method, 0);
|
||||
|
||||
Object result = resolver.resolveArgument(parameter, null, null, null);
|
||||
var result = resolver.resolveArgument(parameter, null, null, null);
|
||||
assertMethodParameterAwarePagedResourcesAssemblerFor(result, new MethodParameter(method, expectedIndex));
|
||||
}
|
||||
|
||||
private static void assertMethodParameterAwarePagedResourcesAssemblerFor(Object result, MethodParameter parameter) {
|
||||
|
||||
assertThat(result).isInstanceOf(MethodParameterAwarePagedResourcesAssembler.class);
|
||||
MethodParameterAwarePagedResourcesAssembler<?> assembler = (MethodParameterAwarePagedResourcesAssembler<?>) result;
|
||||
var assembler = (MethodParameterAwarePagedResourcesAssembler<?>) result;
|
||||
|
||||
assertThat(assembler.getMethodParameter()).isEqualTo(parameter);
|
||||
}
|
||||
|
||||
private void assertRejectsAmbiguity(String methodName) throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod(methodName, PagedResourcesAssembler.class, Pageable.class,
|
||||
var method = Controller.class.getMethod(methodName, PagedResourcesAssembler.class, Pageable.class,
|
||||
Pageable.class);
|
||||
|
||||
assertThatIllegalStateException()
|
||||
|
||||
@@ -65,7 +65,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test
|
||||
void addsNextLinkForFirstPage() {
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(0));
|
||||
var resources = assembler.toModel(createPage(0));
|
||||
|
||||
assertThat(resources.getLink(IanaLinkRelations.PREV)).isEmpty();
|
||||
assertThat(resources.getLink(IanaLinkRelations.SELF)).isNotEmpty();
|
||||
@@ -75,7 +75,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test
|
||||
void addsPreviousAndNextLinksForMiddlePage() {
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(1));
|
||||
var resources = assembler.toModel(createPage(1));
|
||||
|
||||
assertThat(resources.getLink(IanaLinkRelations.PREV)).isNotEmpty();
|
||||
assertThat(resources.getLink(IanaLinkRelations.SELF)).isNotEmpty();
|
||||
@@ -85,7 +85,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test
|
||||
void addsPreviousLinkForLastPage() {
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(2));
|
||||
var resources = assembler.toModel(createPage(2));
|
||||
|
||||
assertThat(resources.getLink(IanaLinkRelations.PREV)).isNotEmpty();
|
||||
assertThat(resources.getLink(IanaLinkRelations.SELF)).isNotEmpty();
|
||||
@@ -95,10 +95,10 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test
|
||||
void usesBaseUriIfConfigured() {
|
||||
|
||||
UriComponents baseUri = UriComponentsBuilder.fromUriString("https://foo:9090").build();
|
||||
var baseUri = UriComponentsBuilder.fromUriString("https://foo:9090").build();
|
||||
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(resolver, baseUri);
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(1));
|
||||
var assembler = new PagedResourcesAssembler<Person>(resolver, baseUri);
|
||||
var resources = assembler.toModel(createPage(1));
|
||||
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.PREV).getHref()).startsWith(baseUri.toUriString());
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.SELF)).isNotNull();
|
||||
@@ -108,9 +108,9 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test
|
||||
void usesCustomLinkProvided() {
|
||||
|
||||
Link link = Link.of("https://foo:9090", "rel");
|
||||
var link = Link.of("https://foo:9090", "rel");
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(1), link);
|
||||
var resources = assembler.toModel(createPage(1), link);
|
||||
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.PREV).getHref()).startsWith(link.getHref());
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.SELF)).isEqualTo(link.withSelfRel());
|
||||
@@ -131,7 +131,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-418, DATACMNS-515
|
||||
void createsACanonicalLinkWithoutTemplateParameters() {
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(1));
|
||||
var resources = assembler.toModel(createPage(1));
|
||||
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.SELF).getHref()).doesNotContain("{").doesNotContain("}");
|
||||
}
|
||||
@@ -139,13 +139,13 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-418
|
||||
void invokesCustomElementResourceAssembler() {
|
||||
|
||||
PersonResourceAssembler personAssembler = new PersonResourceAssembler();
|
||||
var personAssembler = new PersonResourceAssembler();
|
||||
|
||||
PagedModel<PersonResource> resources = assembler.toModel(createPage(0), personAssembler);
|
||||
var resources = assembler.toModel(createPage(0), personAssembler);
|
||||
|
||||
assertThat(resources.hasLink(IanaLinkRelations.SELF)).isTrue();
|
||||
assertThat(resources.hasLink(IanaLinkRelations.NEXT)).isTrue();
|
||||
Collection<PersonResource> content = resources.getContent();
|
||||
var content = resources.getContent();
|
||||
assertThat(content).hasSize(1);
|
||||
assertThat(content.iterator().next().name).isEqualTo("Dave");
|
||||
}
|
||||
@@ -153,11 +153,11 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATAMCNS-563
|
||||
void createsPaginationLinksForOneIndexedArgumentResolverCorrectly() {
|
||||
|
||||
HateoasPageableHandlerMethodArgumentResolver argumentResolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
var argumentResolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
argumentResolver.setOneIndexedParameters(true);
|
||||
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(argumentResolver, null);
|
||||
PagedModel<EntityModel<Person>> resource = assembler.toModel(createPage(1));
|
||||
var assembler = new PagedResourcesAssembler<Person>(argumentResolver, null);
|
||||
var resource = assembler.toModel(createPage(1));
|
||||
|
||||
assertThat(resource.hasLink("prev")).isTrue();
|
||||
assertThat(resource.hasLink("next")).isTrue();
|
||||
@@ -172,7 +172,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-515
|
||||
void generatedLinksShouldNotBeTemplated() {
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(1));
|
||||
var resources = assembler.toModel(createPage(1));
|
||||
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.SELF).getHref()).doesNotContain("{").doesNotContain("}");
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.NEXT).getHref()).endsWith("?page=2&size=1");
|
||||
@@ -182,12 +182,12 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-699
|
||||
void generatesEmptyPagedResourceWithEmbeddedWrapper() {
|
||||
|
||||
PagedModel<?> result = assembler.toEmptyModel(EMPTY_PAGE, Person.class);
|
||||
var result = assembler.toEmptyModel(EMPTY_PAGE, Person.class);
|
||||
|
||||
Collection<?> content = result.getContent();
|
||||
var content = result.getContent();
|
||||
assertThat(content).hasSize(1);
|
||||
|
||||
Object element = content.iterator().next();
|
||||
var element = content.iterator().next();
|
||||
assertThat(element).isInstanceOf(EmbeddedWrapper.class);
|
||||
assertThat(((EmbeddedWrapper) element).getRelTargetType()).isEqualTo(Person.class);
|
||||
}
|
||||
@@ -205,7 +205,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-701
|
||||
void addsFirstAndLastLinksForMultiplePages() {
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(1));
|
||||
var resources = assembler.toModel(createPage(1));
|
||||
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.FIRST).getHref()).endsWith("?page=0&size=1");
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.LAST).getHref()).endsWith("?page=2&size=1");
|
||||
@@ -214,7 +214,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-701
|
||||
void addsFirstAndLastLinksForFirstPage() {
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(0));
|
||||
var resources = assembler.toModel(createPage(0));
|
||||
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.FIRST).getHref()).endsWith("?page=0&size=1");
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.LAST).getHref()).endsWith("?page=2&size=1");
|
||||
@@ -223,7 +223,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-701
|
||||
void addsFirstAndLastLinksForLastPage() {
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(createPage(2));
|
||||
var resources = assembler.toModel(createPage(2));
|
||||
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.FIRST).getHref()).endsWith("?page=0&size=1");
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.LAST).getHref()).endsWith("?page=2&size=1");
|
||||
@@ -232,10 +232,10 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-701
|
||||
void alwaysAddsFirstAndLastLinkIfConfiguredTo() {
|
||||
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(resolver, null);
|
||||
var assembler = new PagedResourcesAssembler<Person>(resolver, null);
|
||||
assembler.setForceFirstAndLastRels(true);
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = assembler.toModel(EMPTY_PAGE);
|
||||
var resources = assembler.toModel(EMPTY_PAGE);
|
||||
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.FIRST).getHref()).endsWith("?page=0&size=20");
|
||||
assertThat(resources.getRequiredLink(IanaLinkRelations.LAST).getHref()).endsWith("?page=0&size=20");
|
||||
@@ -253,7 +253,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-1042
|
||||
void selfLinkContainsCoordinatesForCurrentPage() {
|
||||
|
||||
PagedModel<EntityModel<Person>> resource = assembler.toModel(createPage(0));
|
||||
var resource = assembler.toModel(createPage(0));
|
||||
|
||||
assertThat(resource.getRequiredLink(IanaLinkRelations.SELF).getHref()).endsWith("?page=0&size=1");
|
||||
}
|
||||
@@ -263,7 +263,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
|
||||
WebTestUtils.initWebTest(new MockHttpServletRequest("GET", "/sample?foo=bar"));
|
||||
|
||||
PagedModel<EntityModel<Person>> model = assembler.toModel(createPage(1));
|
||||
var model = assembler.toModel(createPage(1));
|
||||
|
||||
assertThat(model.getRequiredLink(IanaLinkRelations.FIRST).getHref())
|
||||
.isEqualTo("http://localhost/sample?foo=bar&page=0&size=1");
|
||||
@@ -273,7 +273,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
|
||||
Pageable request = PageRequest.of(index, 1);
|
||||
|
||||
Person person = new Person();
|
||||
var person = new Person();
|
||||
person.name = "Dave";
|
||||
|
||||
return new PageImpl<>(Collections.singletonList(person), request, 3);
|
||||
@@ -281,7 +281,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
|
||||
private static Map<String, String> getQueryParameters(Link link) {
|
||||
|
||||
UriComponents uriComponents = UriComponentsBuilder.fromUri(URI.create(link.expand().getHref())).build();
|
||||
var uriComponents = UriComponentsBuilder.fromUri(URI.create(link.expand().getHref())).build();
|
||||
return uriComponents.getQueryParams().toSingleValueMap();
|
||||
}
|
||||
|
||||
@@ -301,7 +301,7 @@ class PagedResourcesAssemblerUnitTests {
|
||||
*/
|
||||
@Override
|
||||
public PersonResource toModel(Person entity) {
|
||||
PersonResource resource = new PersonResource();
|
||||
var resource = new PersonResource();
|
||||
resource.name = entity.name;
|
||||
return resource;
|
||||
}
|
||||
|
||||
@@ -17,10 +17,8 @@ package org.springframework.data.web;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
|
||||
/**
|
||||
@@ -54,8 +52,8 @@ class ProjectingJackson2HttpMessageConverterUnitTests {
|
||||
@Test // DATACMNS-972
|
||||
void doesNotConsiderTypeVariableBoundTo() throws Throwable {
|
||||
|
||||
Method method = BaseController.class.getDeclaredMethod("createEntity", AbstractDto.class);
|
||||
Type type = method.getGenericParameterTypes()[0];
|
||||
var method = BaseController.class.getDeclaredMethod("createEntity", AbstractDto.class);
|
||||
var type = method.getGenericParameterTypes()[0];
|
||||
|
||||
assertThat(converter.canRead(type, BaseController.class, ANYTHING_JSON)).isFalse();
|
||||
}
|
||||
@@ -63,8 +61,8 @@ class ProjectingJackson2HttpMessageConverterUnitTests {
|
||||
@Test // DATACMNS-972
|
||||
void genericTypeOnConcreteOne() throws Throwable {
|
||||
|
||||
Method method = ConcreteController.class.getMethod("createEntity", AbstractDto.class);
|
||||
Type type = method.getGenericParameterTypes()[0];
|
||||
var method = ConcreteController.class.getMethod("createEntity", AbstractDto.class);
|
||||
var type = method.getGenericParameterTypes()[0];
|
||||
|
||||
assertThat(converter.canRead(type, ConcreteController.class, ANYTHING_JSON)).isFalse();
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ package org.springframework.data.web;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.core.MethodParameter;
|
||||
import org.springframework.core.convert.support.DefaultConversionService;
|
||||
import org.springframework.data.web.ProjectingJackson2HttpMessageConverterUnitTests.SampleInterface;
|
||||
@@ -40,8 +40,8 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-776
|
||||
void supportAnnotatedInterface() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("with", AnnotatedInterface.class);
|
||||
MethodParameter parameter = new MethodParameter(method, 0);
|
||||
var method = Controller.class.getMethod("with", AnnotatedInterface.class);
|
||||
var parameter = new MethodParameter(method, 0);
|
||||
|
||||
assertThat(resolver.supportsParameter(parameter)).isTrue();
|
||||
}
|
||||
@@ -49,8 +49,8 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-776
|
||||
void supportsUnannotatedInterfaceFromUserPackage() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("with", SampleInterface.class);
|
||||
MethodParameter parameter = new MethodParameter(method, 0);
|
||||
var method = Controller.class.getMethod("with", SampleInterface.class);
|
||||
var parameter = new MethodParameter(method, 0);
|
||||
|
||||
assertThat(resolver.supportsParameter(parameter)).isTrue();
|
||||
}
|
||||
@@ -58,8 +58,8 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-776
|
||||
void doesNotSupportUnannotatedInterfaceFromSpringNamespace() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("with", UnannotatedInterface.class);
|
||||
MethodParameter parameter = new MethodParameter(method, 0);
|
||||
var method = Controller.class.getMethod("with", UnannotatedInterface.class);
|
||||
var parameter = new MethodParameter(method, 0);
|
||||
|
||||
assertThat(resolver.supportsParameter(parameter)).isFalse();
|
||||
}
|
||||
@@ -67,8 +67,8 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-776
|
||||
void doesNotSupportCoreJavaType() throws Exception {
|
||||
|
||||
Method method = Controller.class.getMethod("with", List.class);
|
||||
MethodParameter parameter = new MethodParameter(method, 0);
|
||||
var method = Controller.class.getMethod("with", List.class);
|
||||
var parameter = new MethodParameter(method, 0);
|
||||
|
||||
assertThat(resolver.supportsParameter(parameter)).isFalse();
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
void preventsPageSizeFromExceedingMayValueIfConfigured() {
|
||||
|
||||
// Read side
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=0&size=200").build();
|
||||
var request = MockServerHttpRequest.get("foo?page=0&size=200").build();
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, PageRequest.of(0, 100), request);
|
||||
}
|
||||
@@ -82,9 +82,9 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void qualifierIsUsedInParameterLookup() throws Exception {
|
||||
|
||||
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("validQualifier", Pageable.class), 0);
|
||||
var parameter = new MethodParameter(Sample.class.getMethod("validQualifier", Pageable.class), 0);
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?foo_page=2&foo_size=10").build();
|
||||
var request = MockServerHttpRequest.get("foo?foo_page=2&foo_size=10").build();
|
||||
|
||||
assertSupportedAndResult(parameter, PageRequest.of(2, 10), request);
|
||||
}
|
||||
@@ -92,7 +92,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void usesDefaultPageSizeIfRequestPageSizeIsLessThanOne() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=0&size=0").build();
|
||||
var request = MockServerHttpRequest.get("foo?page=0&size=0").build();
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request);
|
||||
}
|
||||
@@ -100,7 +100,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void rejectsInvalidCustomDefaultForPageSize() throws Exception {
|
||||
|
||||
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class),
|
||||
var parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class),
|
||||
0);
|
||||
|
||||
assertThatIllegalStateException().isThrownBy(() -> assertSupportedAndResult(parameter, DEFAULT_PAGE_REQUEST))
|
||||
@@ -110,7 +110,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void fallsBackToFirstPageIfNegativePageNumberIsGiven() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=-1").build();
|
||||
var request = MockServerHttpRequest.get("foo?page=-1").build();
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request);
|
||||
}
|
||||
@@ -118,7 +118,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void pageParamIsNotNumeric() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=a").build();
|
||||
var request = MockServerHttpRequest.get("foo?page=a").build();
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request);
|
||||
}
|
||||
@@ -126,7 +126,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void sizeParamIsNotNumeric() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?size=a").build();
|
||||
var request = MockServerHttpRequest.get("foo?size=a").build();
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request);
|
||||
}
|
||||
@@ -134,7 +134,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void returnsNullIfFallbackIsUnpagedAndNoParametersGiven() {
|
||||
|
||||
ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver();
|
||||
var resolver = getReactiveResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, Pageable.unpaged(), TestUtils.getWebfluxRequest(), resolver);
|
||||
@@ -143,10 +143,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void returnsFallbackIfOnlyPageIsGiven() {
|
||||
|
||||
ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver();
|
||||
var resolver = getReactiveResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=20").build();
|
||||
var request = MockServerHttpRequest.get("foo?page=20").build();
|
||||
|
||||
assertThat(resolve(resolver, request)).isEqualTo(Pageable.unpaged());
|
||||
}
|
||||
@@ -154,10 +154,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void returnsFallbackIfFallbackIsUnpagedAndOnlySizeIsGiven() {
|
||||
|
||||
ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver();
|
||||
var resolver = getReactiveResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?size=10").build();
|
||||
var request = MockServerHttpRequest.get("foo?size=10").build();
|
||||
|
||||
assertThat(resolve(resolver, request)).isEqualTo(Pageable.unpaged());
|
||||
}
|
||||
@@ -165,10 +165,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void considersOneIndexedParametersSetting() {
|
||||
|
||||
ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver();
|
||||
var resolver = getReactiveResolver();
|
||||
resolver.setOneIndexedParameters(true);
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=1").build();
|
||||
var request = MockServerHttpRequest.get("foo?page=1").build();
|
||||
|
||||
assertThat(resolve(resolver, request).getPageNumber()).isEqualTo(0);
|
||||
}
|
||||
@@ -176,12 +176,12 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void usesNullSortIfNoDefaultIsConfiguredAndPageAndSizeAreGiven() {
|
||||
|
||||
ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver();
|
||||
var resolver = getReactiveResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=0&size=10").build();
|
||||
var request = MockServerHttpRequest.get("foo?page=0&size=10").build();
|
||||
|
||||
Pageable result = resolve(resolver, request);
|
||||
var result = resolve(resolver, request);
|
||||
|
||||
assertThat(result.getPageNumber()).isEqualTo(0);
|
||||
assertThat(result.getPageSize()).isEqualTo(10);
|
||||
@@ -191,10 +191,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void oneIndexedParametersDefaultsIndexOutOfRange() {
|
||||
|
||||
ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver();
|
||||
var resolver = getReactiveResolver();
|
||||
resolver.setOneIndexedParameters(true);
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=0").build();
|
||||
var request = MockServerHttpRequest.get("foo?page=0").build();
|
||||
|
||||
assertThat(resolve(resolver, request).getPageNumber()).isEqualTo(0);
|
||||
}
|
||||
@@ -202,10 +202,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void returnsCorrectPageSizeForOneIndexParameters() {
|
||||
|
||||
ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver();
|
||||
var resolver = getReactiveResolver();
|
||||
resolver.setOneIndexedParameters(true);
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?size=10").build();
|
||||
var request = MockServerHttpRequest.get("foo?size=10").build();
|
||||
|
||||
assertThat(resolve(resolver, request).getPageSize()).isEqualTo(10);
|
||||
}
|
||||
@@ -213,7 +213,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void detectsFallbackPageableIfNullOneIsConfigured() {
|
||||
|
||||
ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver();
|
||||
var resolver = getReactiveResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
assertThat(resolver.isFallbackPageable(null)).isFalse();
|
||||
@@ -222,7 +222,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
|
||||
private static ReactivePageableHandlerMethodArgumentResolver getReactiveResolver() {
|
||||
|
||||
ReactivePageableHandlerMethodArgumentResolver resolver = new ReactivePageableHandlerMethodArgumentResolver();
|
||||
var resolver = new ReactivePageableHandlerMethodArgumentResolver();
|
||||
resolver.setMaxPageSize(100);
|
||||
return resolver;
|
||||
}
|
||||
@@ -242,7 +242,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests {
|
||||
|
||||
assertThat(resolver.supportsParameter(parameter)).isTrue();
|
||||
|
||||
Object value = resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request));
|
||||
var value = resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request));
|
||||
assertThat(value).isEqualTo(pageable);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.core.MethodParameter;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.domain.Sort.Direction;
|
||||
import org.springframework.data.domain.Sort.Order;
|
||||
import org.springframework.data.web.SortDefault.SortDefaults;
|
||||
import org.springframework.lang.Nullable;
|
||||
import org.springframework.mock.http.server.reactive.MockServerHttpRequest;
|
||||
@@ -50,7 +49,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void supportsSortParameter() {
|
||||
|
||||
ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
var resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
|
||||
assertThat(resolver.supportsParameter(getParameterOfMethod("supportedMethod"))).isTrue();
|
||||
}
|
||||
@@ -73,9 +72,9 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void fallbackToGivenDefaultSort() {
|
||||
|
||||
MethodParameter parameter = TestUtils.getParameterOfMethod(Controller.class, "unsupportedMethod", String.class);
|
||||
ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
Sort fallbackSort = Sort.by(Direction.ASC, "ID");
|
||||
var parameter = TestUtils.getParameterOfMethod(Controller.class, "unsupportedMethod", String.class);
|
||||
var resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
var fallbackSort = Sort.by(Direction.ASC, "ID");
|
||||
resolver.setFallbackSort(fallbackSort);
|
||||
|
||||
assertThat(resolve(resolver, TestUtils.getWebfluxRequest(), parameter)).isEqualTo(fallbackSort);
|
||||
@@ -84,8 +83,8 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void fallbackToDefaultDefaultSort() {
|
||||
|
||||
MethodParameter parameter = TestUtils.getParameterOfMethod(Controller.class, "unsupportedMethod", String.class);
|
||||
ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
var parameter = TestUtils.getParameterOfMethod(Controller.class, "unsupportedMethod", String.class);
|
||||
var resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
|
||||
assertThat(resolve(resolver, TestUtils.getWebfluxRequest(), parameter).isSorted()).isFalse();
|
||||
}
|
||||
@@ -93,9 +92,9 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void discoversSimpleSortFromRequest() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("simpleDefault");
|
||||
Sort reference = Sort.by("bar", "foo");
|
||||
MockServerHttpRequest request = getRequestWithSort(reference);
|
||||
var parameter = getParameterOfMethod("simpleDefault");
|
||||
var reference = Sort.by("bar", "foo");
|
||||
var request = getRequestWithSort(reference);
|
||||
|
||||
assertSupportedAndResolvedTo(request, parameter, reference);
|
||||
}
|
||||
@@ -103,8 +102,8 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void discoversComplexSortFromRequest() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("simpleDefault");
|
||||
Sort reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz"));
|
||||
var parameter = getParameterOfMethod("simpleDefault");
|
||||
var reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz"));
|
||||
|
||||
assertSupportedAndResolvedTo(getRequestWithSort(reference), parameter, reference);
|
||||
}
|
||||
@@ -112,8 +111,8 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void discoversQualifiedSortFromRequest() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("qualifiedSort");
|
||||
Sort reference = Sort.by("bar", "foo");
|
||||
var parameter = getParameterOfMethod("qualifiedSort");
|
||||
var reference = Sort.by("bar", "foo");
|
||||
|
||||
assertSupportedAndResolvedTo(getRequestWithSort(reference, "qual"), parameter, reference);
|
||||
}
|
||||
@@ -121,11 +120,11 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void requestForMultipleSortPropertiesIsUnmarshalledCorrectly() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get(String.format("foo?sort=%s", SortDefaultUnitTests.SORT_3))
|
||||
var request = MockServerHttpRequest.get(String.format("foo?sort=%s", SortDefaultUnitTests.SORT_3))
|
||||
.build();
|
||||
|
||||
ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
Sort result = resolve(resolver, request, PARAMETER);
|
||||
var resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
var result = resolve(resolver, request, PARAMETER);
|
||||
|
||||
assertThat(result).isEqualTo(Sort.by(Direction.ASC, "firstname", "lastname"));
|
||||
}
|
||||
@@ -133,7 +132,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void parsesEmptySortToNull() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=").build();
|
||||
var request = MockServerHttpRequest.get("foo?sort=").build();
|
||||
|
||||
assertThat(resolve(request, PARAMETER).isSorted()).isFalse();
|
||||
}
|
||||
@@ -141,7 +140,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void sortParamIsInvalidProperty() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=,DESC").build();
|
||||
var request = MockServerHttpRequest.get("foo?sort=,DESC").build();
|
||||
|
||||
assertThat(resolve(request, PARAMETER).isSorted()).isFalse();
|
||||
}
|
||||
@@ -149,7 +148,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void sortParamIsInvalidPropertyWhenMultiProperty() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=property1,,DESC").build();
|
||||
var request = MockServerHttpRequest.get("foo?sort=property1,,DESC").build();
|
||||
|
||||
assertThat(resolve(request, PARAMETER)).isEqualTo(Sort.by(DESC, "property1"));
|
||||
}
|
||||
@@ -157,9 +156,9 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void rejectsDoubleAnnotatedMethod() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("invalid");
|
||||
var parameter = getParameterOfMethod("invalid");
|
||||
|
||||
ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
var resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
assertThat(resolver.supportsParameter(parameter)).isTrue();
|
||||
|
||||
assertThatIllegalArgumentException()
|
||||
@@ -173,7 +172,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void sortParamIsEmptyWhenMultiParams() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=property,DESC&sort=").build();
|
||||
var request = MockServerHttpRequest.get("foo?sort=property,DESC&sort=").build();
|
||||
|
||||
assertThat(resolve(request, PARAMETER)).isEqualTo(Sort.by(DESC, "property"));
|
||||
}
|
||||
@@ -181,7 +180,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void parsesCommaParameterForSort() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=,").build();
|
||||
var request = MockServerHttpRequest.get("foo?sort=,").build();
|
||||
|
||||
assertThat(resolve(request, PARAMETER).isSorted()).isFalse();
|
||||
}
|
||||
@@ -189,7 +188,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1211
|
||||
void doesNotReturnNullWhenAnnotatedWithSortDefault() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=").build();
|
||||
var request = MockServerHttpRequest.get("foo?sort=").build();
|
||||
|
||||
assertThat(resolve(request, getParameterOfMethod("simpleDefault"))).isEqualTo(Sort.by("firstname", "lastname"));
|
||||
assertThat(resolve(request, getParameterOfMethod("containeredDefault"))).isEqualTo(Sort.by("foo", "bar"));
|
||||
@@ -211,10 +210,10 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
private static void assertSupportedAndResolvedTo(MockServerHttpRequest request, MethodParameter parameter,
|
||||
Sort sort) {
|
||||
|
||||
ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
var resolver = new ReactiveSortHandlerMethodArgumentResolver();
|
||||
assertThat(resolver.supportsParameter(parameter)).isTrue();
|
||||
|
||||
Sort resolved = resolve(resolver, request, parameter);
|
||||
var resolved = resolve(resolver, request, parameter);
|
||||
|
||||
assertThat(resolved).isEqualTo(sort);
|
||||
}
|
||||
@@ -229,10 +228,10 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests {
|
||||
return TestUtils.getWebfluxRequest();
|
||||
}
|
||||
|
||||
StringBuilder queryString = new StringBuilder();
|
||||
for (Order order : sort) {
|
||||
var queryString = new StringBuilder();
|
||||
for (var order : sort) {
|
||||
|
||||
String prefix = StringUtils.hasText(qualifier) ? qualifier + "_" : "";
|
||||
var prefix = StringUtils.hasText(qualifier) ? qualifier + "_" : "";
|
||||
|
||||
if (queryString.length() != 0) {
|
||||
queryString.append('&');
|
||||
|
||||
@@ -58,8 +58,8 @@ abstract class SortDefaultUnitTests {
|
||||
|
||||
private static void assertSortStringParsedInto(Sort expected, String... source) {
|
||||
|
||||
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
Sort sort = resolver.parseParameterIntoSort(Arrays.asList(source), ",");
|
||||
var resolver = new SortHandlerMethodArgumentResolver();
|
||||
var sort = resolver.parseParameterIntoSort(Arrays.asList(source), ",");
|
||||
|
||||
assertThat(sort).isEqualTo(expected);
|
||||
}
|
||||
@@ -87,14 +87,14 @@ abstract class SortDefaultUnitTests {
|
||||
@Test
|
||||
void rejectsNonSortParameter() {
|
||||
|
||||
MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
|
||||
var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
|
||||
assertThat(getResolver().supportsParameter(parameter)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
void rejectsDoubleAnnotatedMethod() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("invalid");
|
||||
var parameter = getParameterOfMethod("invalid");
|
||||
|
||||
HandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
assertThat(resolver.supportsParameter(parameter)).isTrue();
|
||||
@@ -109,8 +109,8 @@ abstract class SortDefaultUnitTests {
|
||||
@Test
|
||||
void discoversContaineredDefault() throws Exception {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("containeredDefault");
|
||||
Sort reference = Sort.by("foo", "bar");
|
||||
var parameter = getParameterOfMethod("containeredDefault");
|
||||
var reference = Sort.by("foo", "bar");
|
||||
|
||||
assertSupportedAndResolvedTo(parameter, reference);
|
||||
}
|
||||
@@ -123,7 +123,7 @@ abstract class SortDefaultUnitTests {
|
||||
|
||||
private void assertSupportedAndResolvedTo(MethodParameter parameter, Sort sort) throws Exception {
|
||||
|
||||
HandlerMethodArgumentResolver resolver = getResolver();
|
||||
var resolver = getResolver();
|
||||
assertThat(resolver.supportsParameter(parameter)).isTrue();
|
||||
assertThat(resolver.resolveArgument(parameter, null, TestUtils.getWebRequest(), null)).isEqualTo(sort);
|
||||
}
|
||||
|
||||
@@ -59,31 +59,31 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-351
|
||||
void fallbackToGivenDefaultSort() {
|
||||
|
||||
MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
|
||||
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
Sort fallbackSort = Sort.by(Direction.ASC, "ID");
|
||||
var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
|
||||
var resolver = new SortHandlerMethodArgumentResolver();
|
||||
var fallbackSort = Sort.by(Direction.ASC, "ID");
|
||||
resolver.setFallbackSort(fallbackSort);
|
||||
|
||||
Sort sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null);
|
||||
var sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null);
|
||||
assertThat(sort).isEqualTo(fallbackSort);
|
||||
}
|
||||
|
||||
@Test // DATACMNS-351
|
||||
void fallbackToDefaultDefaultSort() {
|
||||
|
||||
MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
|
||||
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
|
||||
var resolver = new SortHandlerMethodArgumentResolver();
|
||||
|
||||
Sort sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null);
|
||||
var sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null);
|
||||
assertThat(sort.isSorted()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
void discoversSimpleSortFromRequest() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("simpleDefault");
|
||||
Sort reference = Sort.by("bar", "foo");
|
||||
NativeWebRequest request = getRequestWithSort(reference);
|
||||
var parameter = getParameterOfMethod("simpleDefault");
|
||||
var reference = Sort.by("bar", "foo");
|
||||
var request = getRequestWithSort(reference);
|
||||
|
||||
assertSupportedAndResolvedTo(request, parameter, reference);
|
||||
}
|
||||
@@ -91,8 +91,8 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test
|
||||
void discoversComplexSortFromRequest() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("simpleDefault");
|
||||
Sort reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz"));
|
||||
var parameter = getParameterOfMethod("simpleDefault");
|
||||
var reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz"));
|
||||
|
||||
assertSupportedAndResolvedTo(getRequestWithSort(reference), parameter, reference);
|
||||
}
|
||||
@@ -100,8 +100,8 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test
|
||||
void discoversQualifiedSortFromRequest() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("qualifiedSort");
|
||||
Sort reference = Sort.by("bar", "foo");
|
||||
var parameter = getParameterOfMethod("qualifiedSort");
|
||||
var reference = Sort.by("bar", "foo");
|
||||
|
||||
assertSupportedAndResolvedTo(getRequestWithSort(reference, "qual"), parameter, reference);
|
||||
}
|
||||
@@ -109,33 +109,33 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test
|
||||
void returnsNullForSortParameterSetToNothing() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("supportedMethod");
|
||||
var parameter = getParameterOfMethod("supportedMethod");
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", (String) null);
|
||||
|
||||
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
Sort result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null);
|
||||
var resolver = new SortHandlerMethodArgumentResolver();
|
||||
var result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null);
|
||||
assertThat(result.isSorted()).isFalse();
|
||||
}
|
||||
|
||||
@Test // DATACMNS-366
|
||||
void requestForMultipleSortPropertiesIsUnmarshalledCorrectly() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("supportedMethod");
|
||||
var parameter = getParameterOfMethod("supportedMethod");
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", SORT_3);
|
||||
|
||||
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
Sort result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null);
|
||||
var resolver = new SortHandlerMethodArgumentResolver();
|
||||
var result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null);
|
||||
assertThat(result).isEqualTo(Sort.by(Direction.ASC, "firstname", "lastname"));
|
||||
}
|
||||
|
||||
@Test // DATACMNS-408
|
||||
void parsesEmptySortToNull() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "");
|
||||
|
||||
assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse();
|
||||
@@ -144,7 +144,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-408
|
||||
void sortParamIsInvalidProperty() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", ",DESC");
|
||||
|
||||
assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse();
|
||||
@@ -153,7 +153,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-408
|
||||
void sortParamIsInvalidPropertyWhenMultiProperty() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "property1,,DESC");
|
||||
|
||||
assertThat(resolveSort(request, PARAMETER)).isEqualTo(Sort.by(DESC, "property1"));
|
||||
@@ -162,7 +162,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-408
|
||||
void sortParamIsEmptyWhenMultiParams() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "property,DESC");
|
||||
request.addParameter("sort", "");
|
||||
|
||||
@@ -172,7 +172,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-658
|
||||
void sortParamHandlesSortOrderAndIgnoreCase() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "property,DESC,IgnoreCase");
|
||||
request.addParameter("sort", "");
|
||||
|
||||
@@ -182,7 +182,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-658
|
||||
void sortParamHandlesMultiplePropertiesWithSortOrderAndIgnoreCase() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "property1,property2,DESC,IgnoreCase");
|
||||
|
||||
assertThat(resolveSort(request, PARAMETER))
|
||||
@@ -192,7 +192,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-658
|
||||
void sortParamHandlesIgnoreCase() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "property,IgnoreCase");
|
||||
request.addParameter("sort", "");
|
||||
|
||||
@@ -202,7 +202,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-658
|
||||
void returnsDefaultCaseInsensitive() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "");
|
||||
|
||||
assertThat(resolveSort(request, getParameterOfMethod("simpleDefaultWithDirectionCaseInsensitive")))
|
||||
@@ -212,7 +212,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-379
|
||||
void parsesCommaParameterForSort() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", ",");
|
||||
|
||||
assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse();
|
||||
@@ -221,7 +221,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-753, DATACMNS-408
|
||||
void doesNotReturnNullWhenAnnotatedWithSortDefault() throws Exception {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "");
|
||||
|
||||
assertThat(resolveSort(request, getParameterOfMethod("simpleDefault"))).isEqualTo(Sort.by("firstname", "lastname"));
|
||||
@@ -233,7 +233,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
|
||||
Stream.of(".", ".,ASC").forEach(it -> {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", it);
|
||||
|
||||
assertThatCode(() -> {
|
||||
@@ -245,8 +245,8 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-1827
|
||||
void emptyQualifierIsUsedInParameterLookup() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("emptyQualifier");
|
||||
Sort reference = Sort.by("bar", "foo");
|
||||
var parameter = getParameterOfMethod("emptyQualifier");
|
||||
var reference = Sort.by("bar", "foo");
|
||||
|
||||
assertSupportedAndResolvedTo(getRequestWithSort(reference, ""), parameter, reference);
|
||||
}
|
||||
@@ -254,21 +254,21 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
@Test // DATACMNS-1827
|
||||
void mergedQualifierIsUsedInParameterLookup() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("mergedQualifier");
|
||||
Sort reference = Sort.by("bar", "foo");
|
||||
var parameter = getParameterOfMethod("mergedQualifier");
|
||||
var reference = Sort.by("bar", "foo");
|
||||
|
||||
assertSupportedAndResolvedTo(getRequestWithSort(reference, "merged"), parameter, reference);
|
||||
}
|
||||
|
||||
private static Sort resolveSort(HttpServletRequest request, MethodParameter parameter) throws Exception {
|
||||
|
||||
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
var resolver = new SortHandlerMethodArgumentResolver();
|
||||
return resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null);
|
||||
}
|
||||
|
||||
private static void assertSupportedAndResolvedTo(NativeWebRequest request, MethodParameter parameter, Sort sort) {
|
||||
|
||||
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
var resolver = new SortHandlerMethodArgumentResolver();
|
||||
assertThat(resolver.supportsParameter(parameter)).isTrue();
|
||||
|
||||
try {
|
||||
@@ -284,16 +284,16 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests {
|
||||
|
||||
private static NativeWebRequest getRequestWithSort(@Nullable Sort sort, @Nullable String qualifier) {
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
var request = new MockHttpServletRequest();
|
||||
|
||||
if (sort == null) {
|
||||
return new ServletWebRequest(request);
|
||||
}
|
||||
|
||||
for (Order order : sort) {
|
||||
for (var order : sort) {
|
||||
|
||||
String prefix = StringUtils.hasText(qualifier) ? qualifier + "_" : "";
|
||||
String suffix = order.isIgnoreCase() ? ",IgnoreCase" : "";
|
||||
var prefix = StringUtils.hasText(qualifier) ? qualifier + "_" : "";
|
||||
var suffix = order.isIgnoreCase() ? ",IgnoreCase" : "";
|
||||
request.addParameter(prefix + "sort",
|
||||
String.format("%s,%s%s", order.getProperty(), order.getDirection().name(), suffix));
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ class TestUtils {
|
||||
|
||||
static MethodParameter getParameterOfMethod(Class<?> controller, String name, Class<?>... argumentTypes) {
|
||||
|
||||
Method method = getMethod(controller, name, argumentTypes);
|
||||
var method = getMethod(controller, name, argumentTypes);
|
||||
return new MethodParameter(method, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ public class WebTestUtils {
|
||||
*/
|
||||
public static void initWebTest(HttpServletRequest request) {
|
||||
|
||||
ServletRequestAttributes requestAttributes = new ServletRequestAttributes(request);
|
||||
var requestAttributes = new ServletRequestAttributes(request);
|
||||
RequestContextHolder.setRequestAttributes(requestAttributes);
|
||||
}
|
||||
|
||||
@@ -66,14 +66,14 @@ public class WebTestUtils {
|
||||
*/
|
||||
public static WebApplicationContext createApplicationContext(ClassLoader classLoader, Class<?>... configClasses) {
|
||||
|
||||
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
|
||||
var context = new AnnotationConfigWebApplicationContext();
|
||||
if (classLoader != null) {
|
||||
context.setClassLoader(classLoader);
|
||||
}
|
||||
|
||||
context.setServletContext(new MockServletContext());
|
||||
|
||||
for (Class<?> configClass : configClasses) {
|
||||
for (var configClass : configClasses) {
|
||||
context.register(configClass);
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ class XmlBeamHttpMessageConverterUnitTests {
|
||||
|
||||
preparePayload("<user><firstname>Dave</firstname><lastname>Matthews</lastname></user>");
|
||||
|
||||
Customer customer = (Customer) converter.read(Customer.class, message);
|
||||
var customer = (Customer) converter.read(Customer.class, message);
|
||||
|
||||
assertThat(customer.getFirstname()).isEqualTo("Dave");
|
||||
assertThat(customer.getLastname()).isEqualTo("Matthews");
|
||||
@@ -63,7 +63,7 @@ class XmlBeamHttpMessageConverterUnitTests {
|
||||
|
||||
preparePayload("<user><username><firstname>Dave</firstname><lastname>Matthews</lastname></username></user>");
|
||||
|
||||
Customer customer = (Customer) converter.read(Customer.class, message);
|
||||
var customer = (Customer) converter.read(Customer.class, message);
|
||||
|
||||
assertThat(customer.getFirstname()).isEqualTo("Dave");
|
||||
assertThat(customer.getLastname()).isEqualTo("Matthews");
|
||||
@@ -94,10 +94,14 @@ class XmlBeamHttpMessageConverterUnitTests {
|
||||
@Test // DATACMNS-1292
|
||||
void doesNotSupportEntityExpansion() throws Exception {
|
||||
|
||||
preparePayload("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n" //
|
||||
+ "<!DOCTYPE foo [\n" //
|
||||
+ "<!ELEMENT foo ANY >\n" //
|
||||
+ "<!ENTITY xxe \"Bar\" >]><user><firstname>&xxe;</firstname><lastname>Matthews</lastname></user>");
|
||||
//
|
||||
//
|
||||
//
|
||||
preparePayload("""
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE foo [
|
||||
<!ELEMENT foo ANY >
|
||||
<!ENTITY xxe "Bar" >]><user><firstname>&xxe;</firstname><lastname>Matthews</lastname></user>""");
|
||||
|
||||
assertThatExceptionOfType(HttpMessageNotReadableException.class) //
|
||||
.isThrownBy(() -> converter.read(Customer.class, message)) //
|
||||
|
||||
@@ -20,9 +20,9 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -40,10 +40,7 @@ import org.springframework.data.web.SortHandlerMethodArgumentResolver;
|
||||
import org.springframework.data.web.WebTestUtils;
|
||||
import org.springframework.hateoas.Link;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||
import org.springframework.web.context.WebApplicationContext;
|
||||
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
|
||||
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
||||
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
@@ -108,7 +105,7 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
void registersBasicBeanDefinitions() throws Exception {
|
||||
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
|
||||
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
var names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
|
||||
assertThat(names).contains("pageableResolver", "sortResolver");
|
||||
|
||||
@@ -120,7 +117,7 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
void registersHateoasSpecificBeanDefinitions() throws Exception {
|
||||
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
|
||||
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
var names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
|
||||
assertThat(names).contains("pagedResourcesAssembler", "pagedResourcesAssemblerArgumentResolver");
|
||||
assertResolversRegistered(context, PagedResourcesAssemblerArgumentResolver.class);
|
||||
@@ -129,11 +126,11 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
@Test // DATACMNS-330
|
||||
void doesNotRegisterHateoasSpecificComponentsIfHateoasNotPresent() throws Exception {
|
||||
|
||||
HidingClassLoader classLoader = HidingClassLoader.hide(Link.class);
|
||||
var classLoader = HidingClassLoader.hide(Link.class);
|
||||
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(classLoader, SampleConfig.class);
|
||||
|
||||
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
var names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
|
||||
assertThat(names).contains("pageableResolver", "sortResolver");
|
||||
assertThat(names).doesNotContain("pagedResourcesAssembler", "pagedResourcesAssemblerArgumentResolver");
|
||||
@@ -143,7 +140,7 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
void registersJacksonSpecificBeanDefinitions() throws Exception {
|
||||
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
|
||||
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
var names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
|
||||
assertThat(names).contains("jacksonGeoModule");
|
||||
}
|
||||
@@ -154,7 +151,7 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(HidingClassLoader.hide(ObjectMapper.class),
|
||||
SampleConfig.class);
|
||||
|
||||
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
var names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
|
||||
assertThat(names).doesNotContain("jacksonGeoModule");
|
||||
}
|
||||
@@ -164,7 +161,7 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
|
||||
|
||||
ConversionService conversionService = context.getBean(ConversionService.class);
|
||||
var conversionService = context.getBean(ConversionService.class);
|
||||
|
||||
assertThat(conversionService.canConvert(String.class, Distance.class)).isTrue();
|
||||
assertThat(conversionService.canConvert(Distance.class, String.class)).isTrue();
|
||||
@@ -175,10 +172,10 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
@Test // DATACMNS-630
|
||||
void createsProxyForInterfaceBasedControllerMethodParameter() throws Exception {
|
||||
|
||||
WebApplicationContext applicationContext = WebTestUtils.createApplicationContext(SampleConfig.class);
|
||||
MockMvc mvc = MockMvcBuilders.webAppContextSetup(applicationContext).build();
|
||||
var applicationContext = WebTestUtils.createApplicationContext(SampleConfig.class);
|
||||
var mvc = MockMvcBuilders.webAppContextSetup(applicationContext).build();
|
||||
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromUriString("/proxy");
|
||||
var builder = UriComponentsBuilder.fromUriString("/proxy");
|
||||
builder.queryParam("name", "Foo");
|
||||
builder.queryParam("shippingAddresses[0].zipCode", "ZIP");
|
||||
builder.queryParam("shippingAddresses[0].city", "City");
|
||||
@@ -194,7 +191,7 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
void picksUpWebConfigurationMixins() {
|
||||
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
|
||||
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
var names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
|
||||
assertThat(names).contains("sampleBean");
|
||||
}
|
||||
@@ -203,8 +200,8 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
void picksUpPageableResolverCustomizer() {
|
||||
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(PageableResolverCustomizerConfig.class);
|
||||
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
PageableHandlerMethodArgumentResolver resolver = context.getBean("pageableResolver", PageableHandlerMethodArgumentResolver.class);
|
||||
var names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
var resolver = context.getBean("pageableResolver", PageableHandlerMethodArgumentResolver.class);
|
||||
|
||||
assertThat(names).contains("testPageableResolverCustomizer");
|
||||
assertThat((Integer) ReflectionTestUtils.getField(resolver, "maxPageSize")).isEqualTo(100);
|
||||
@@ -214,8 +211,8 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
void picksUpSortResolverCustomizer() {
|
||||
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(SortResolverCustomizerConfig.class);
|
||||
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
SortHandlerMethodArgumentResolver resolver = context.getBean("sortResolver", SortHandlerMethodArgumentResolver.class);
|
||||
var names = Arrays.asList(context.getBeanDefinitionNames());
|
||||
var resolver = context.getBean("sortResolver", SortHandlerMethodArgumentResolver.class);
|
||||
|
||||
assertThat(names).contains("testSortResolverCustomizer");
|
||||
assertThat((String) ReflectionTestUtils.getField(resolver, "sortParameter")).isEqualTo("foo");
|
||||
@@ -226,7 +223,7 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
|
||||
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
|
||||
|
||||
RequestMappingHandlerAdapter adapter = context.getBean(RequestMappingHandlerAdapter.class);
|
||||
var adapter = context.getBean(RequestMappingHandlerAdapter.class);
|
||||
|
||||
assertThat(adapter.getArgumentResolvers().get(0)).isInstanceOf(ProxyingHandlerMethodArgumentResolver.class);
|
||||
}
|
||||
@@ -234,7 +231,7 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
@Test // DATACMNS-1235
|
||||
void picksUpEntityPathResolverIfRegistered() {
|
||||
|
||||
WebApplicationContext context = WebTestUtils.createApplicationContext(CustomEntityPathResolver.class);
|
||||
var context = WebTestUtils.createApplicationContext(CustomEntityPathResolver.class);
|
||||
|
||||
assertThat(context.getBean(EntityPathResolver.class)).isEqualTo(CustomEntityPathResolver.resolver);
|
||||
assertThat(context.getBean(QuerydslBindingsFactory.class).getEntityPathResolver())
|
||||
@@ -243,9 +240,9 @@ class EnableSpringDataWebSupportIntegrationTests {
|
||||
|
||||
private static void assertResolversRegistered(ApplicationContext context, Class<?>... resolverTypes) {
|
||||
|
||||
RequestMappingHandlerAdapter adapter = context.getBean(RequestMappingHandlerAdapter.class);
|
||||
var adapter = context.getBean(RequestMappingHandlerAdapter.class);
|
||||
assertThat(adapter).isNotNull();
|
||||
List<HandlerMethodArgumentResolver> resolvers = adapter.getCustomArgumentResolvers();
|
||||
var resolvers = adapter.getCustomArgumentResolvers();
|
||||
|
||||
Arrays.asList(resolverTypes).forEach(type -> assertThat(resolvers).hasAtLeastOneElementOfType(type));
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@ import org.springframework.hateoas.IanaLinkRelations;
|
||||
import org.springframework.hateoas.PagedModel;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.context.WebApplicationContext;
|
||||
|
||||
/**
|
||||
* Integration tests for {@link PagedResourcesAssembler}.
|
||||
@@ -64,12 +63,12 @@ class PageableResourcesAssemblerIntegrationTests {
|
||||
@Test
|
||||
void injectsPagedResourcesAssembler() {
|
||||
|
||||
WebApplicationContext context = WebTestUtils.createApplicationContext(Config.class);
|
||||
SampleController controller = context.getBean(SampleController.class);
|
||||
var context = WebTestUtils.createApplicationContext(Config.class);
|
||||
var controller = context.getBean(SampleController.class);
|
||||
|
||||
assertThat(controller.assembler).isNotNull();
|
||||
|
||||
PagedModel<EntityModel<Person>> resources = controller.sample(PageRequest.of(1, 1));
|
||||
var resources = controller.sample(PageRequest.of(1, 1));
|
||||
|
||||
assertThat(resources.getLink(IanaLinkRelations.PREV)).isNotNull();
|
||||
assertThat(resources.getLink(IanaLinkRelations.NEXT)).isNotNull();
|
||||
@@ -79,7 +78,7 @@ class PageableResourcesAssemblerIntegrationTests {
|
||||
@Test // DATACMNS-471
|
||||
void setsUpPagedResourcesAssemblerFromManualXmlConfig() {
|
||||
|
||||
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("manual.xml", getClass());
|
||||
var context = new ClassPathXmlApplicationContext("manual.xml", getClass());
|
||||
assertThat(context.getBean(PagedResourcesAssembler.class)).isNotNull();
|
||||
context.close();
|
||||
}
|
||||
@@ -87,7 +86,7 @@ class PageableResourcesAssemblerIntegrationTests {
|
||||
@Test // DATACMNS-471
|
||||
void setsUpPagedResourcesAssemblerFromJavaConfigXmlConfig() {
|
||||
|
||||
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("via-config-class.xml", getClass());
|
||||
var context = new ClassPathXmlApplicationContext("via-config-class.xml", getClass());
|
||||
assertThat(context.getBean(PagedResourcesAssembler.class)).isNotNull();
|
||||
context.close();
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import java.util.Collection;
|
||||
import java.util.Date;
|
||||
|
||||
import org.springframework.data.web.ProjectedPayload;
|
||||
import org.springframework.data.web.config.SampleController.SampleDto.Address;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat.ISO;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -40,7 +39,7 @@ class SampleController {
|
||||
assertThat(sampleDto.getName()).isEqualTo("Foo");
|
||||
assertThat(sampleDto.getDate()).isNotNull();
|
||||
|
||||
Collection<Address> shippingAddresses = sampleDto.getShippingAddresses();
|
||||
var shippingAddresses = sampleDto.getShippingAddresses();
|
||||
|
||||
assertThat(shippingAddresses).hasSize(1);
|
||||
assertThat(shippingAddresses.iterator().next().getZipCode()).isEqualTo("ZIP");
|
||||
|
||||
@@ -120,7 +120,7 @@ class SpringDataWebConfigurationIntegrationTests {
|
||||
List<Class<?>> configClasses = new ArrayList<>(Arrays.asList(additionalConfigurationClasses));
|
||||
configClasses.add(SpringDataWebConfiguration.class);
|
||||
|
||||
try (AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(
|
||||
try (var context = new AnnotationConfigApplicationContext(
|
||||
configClasses.toArray(new Class<?>[configClasses.size()]))) {
|
||||
|
||||
context.setClassLoader(classLoader);
|
||||
@@ -131,8 +131,8 @@ class SpringDataWebConfigurationIntegrationTests {
|
||||
private static Class<?> loadWithout(Class<?> configurationClass, Class<?>... typesOfPackagesToExclude)
|
||||
throws ClassNotFoundException {
|
||||
|
||||
HidingClassLoader hidingClassLoader = HidingClassLoader.hide(typesOfPackagesToExclude);
|
||||
ShadowingClassLoader loader = new ShadowingClassLoader(hidingClassLoader);
|
||||
var hidingClassLoader = HidingClassLoader.hide(typesOfPackagesToExclude);
|
||||
var loader = new ShadowingClassLoader(hidingClassLoader);
|
||||
loader.excludeClass(configurationClass.getName());
|
||||
|
||||
return loader.loadClass(configurationClass.getName());
|
||||
|
||||
@@ -26,6 +26,7 @@ import java.util.Optional;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.core.MethodParameter;
|
||||
import org.springframework.core.annotation.AliasFor;
|
||||
import org.springframework.core.annotation.MergedAnnotation;
|
||||
@@ -50,7 +51,6 @@ import org.springframework.web.context.request.ServletWebRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.querydsl.core.types.Predicate;
|
||||
import com.querydsl.core.types.dsl.BooleanExpression;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link QuerydslPredicateArgumentResolver}.
|
||||
@@ -100,7 +100,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
|
||||
request.addParameter("firstname", "rand");
|
||||
|
||||
Object predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null,
|
||||
var predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null,
|
||||
new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(predicate).isEqualTo(QUser.user.firstname.eq("rand"));
|
||||
@@ -112,7 +112,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
request.addParameter("firstname", "rand");
|
||||
request.addParameter("lastname", "al'thor");
|
||||
|
||||
Object predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null,
|
||||
var predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null,
|
||||
new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(predicate).isEqualTo(QUser.user.firstname.eq("rand").and(QUser.user.lastname.eq("al'thor")));
|
||||
@@ -123,10 +123,10 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
|
||||
request.addParameter("address.city", "two rivers");
|
||||
|
||||
Object predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null,
|
||||
var predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null,
|
||||
new ServletWebRequest(request), null);
|
||||
|
||||
BooleanExpression eq = QUser.user.address.city.eq("two rivers");
|
||||
var eq = QUser.user.address.city.eq("two rivers");
|
||||
|
||||
assertThat(predicate).isEqualTo(eq);
|
||||
}
|
||||
@@ -136,7 +136,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
|
||||
request.addParameter("address.city", "tar valon");
|
||||
|
||||
Object predicate = resolver.resolveArgument(getMethodParameterFor("pagedFind", Predicate.class, Pageable.class),
|
||||
var predicate = resolver.resolveArgument(getMethodParameterFor("pagedFind", Predicate.class, Pageable.class),
|
||||
null, new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(predicate).isEqualTo(QUser.user.address.city.eq("tar valon"));
|
||||
@@ -148,7 +148,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
request.addParameter("firstname", "egwene");
|
||||
request.addParameter("lastname", "al'vere");
|
||||
|
||||
Object predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
var predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(predicate).isEqualTo(
|
||||
@@ -161,7 +161,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
request.addParameter("firstname", "egwene");
|
||||
request.addParameter("lastname", "al'vere");
|
||||
|
||||
Object predicate = resolver.resolveArgument(
|
||||
var predicate = resolver.resolveArgument(
|
||||
getMethodParameterFor("specificFindWithMetaAnnotation", Predicate.class), null, new ServletWebRequest(request),
|
||||
null);
|
||||
|
||||
@@ -174,7 +174,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
|
||||
request.addParameter("inceptionYear", "978");
|
||||
|
||||
Object predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
var predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(predicate).isEqualTo(QUser.user.inceptionYear.eq(978L));
|
||||
@@ -185,7 +185,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
|
||||
request.addParameter("inceptionYear", new String[] { "978", "998" });
|
||||
|
||||
Object predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
var predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(predicate).isEqualTo(QUser.user.inceptionYear.in(978L, 998L));
|
||||
@@ -197,7 +197,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
request.addParameter("address.street", "downhill");
|
||||
request.addParameter("inceptionYear", "973");
|
||||
|
||||
Object predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
var predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
new ServletWebRequest(request), null);
|
||||
|
||||
assertThat(predicate.toString()).isEqualTo(QUser.user.inceptionYear.eq(973L).toString());
|
||||
@@ -230,7 +230,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1593
|
||||
void returnsEmptyPredicateForEmptyInput() throws Exception {
|
||||
|
||||
MethodParameter parameter = getMethodParameterFor("predicateWithoutAnnotation", Predicate.class);
|
||||
var parameter = getMethodParameterFor("predicateWithoutAnnotation", Predicate.class);
|
||||
|
||||
request.addParameter("firstname", "");
|
||||
|
||||
@@ -241,7 +241,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1635
|
||||
void forwardsNullValueForNullablePredicate() throws Exception {
|
||||
|
||||
MethodParameter parameter = getMethodParameterFor("nullablePredicateWithoutAnnotation", Predicate.class);
|
||||
var parameter = getMethodParameterFor("nullablePredicateWithoutAnnotation", Predicate.class);
|
||||
|
||||
request.addParameter("firstname", "");
|
||||
|
||||
@@ -251,7 +251,7 @@ class QuerydslPredicateArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1635
|
||||
void returnsOptionalIfDeclared() throws Exception {
|
||||
|
||||
MethodParameter parameter = getMethodParameterFor("optionalPredicateWithoutAnnotation", Optional.class);
|
||||
var parameter = getMethodParameterFor("optionalPredicateWithoutAnnotation", Optional.class);
|
||||
|
||||
request.addParameter("firstname", "");
|
||||
|
||||
|
||||
@@ -74,9 +74,9 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1785
|
||||
void resolveArgumentShouldCreateSingleStringParameterPredicateCorrectly() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "rand").build();
|
||||
var request = MockServerHttpRequest.get("").queryParam("firstname", "rand").build();
|
||||
|
||||
Object predicate = resolver.resolveArgumentValue(getMethodParameterFor("simpleFind", Predicate.class), null,
|
||||
var predicate = resolver.resolveArgumentValue(getMethodParameterFor("simpleFind", Predicate.class), null,
|
||||
MockServerWebExchange.from(request));
|
||||
|
||||
assertThat(predicate).isEqualTo(QUser.user.firstname.eq("rand"));
|
||||
@@ -85,10 +85,10 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1785
|
||||
void resolveArgumentShouldHonorCustomSpecification() {
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "egwene")
|
||||
var request = MockServerHttpRequest.get("").queryParam("firstname", "egwene")
|
||||
.queryParam("lastname", "al'vere").build();
|
||||
|
||||
Object predicate = resolver.resolveArgumentValue(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
var predicate = resolver.resolveArgumentValue(getMethodParameterFor("specificFind", Predicate.class), null,
|
||||
MockServerWebExchange.from(request));
|
||||
|
||||
assertThat(predicate).isEqualTo(
|
||||
@@ -98,9 +98,9 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1785
|
||||
void returnsEmptyPredicateForEmptyInput() {
|
||||
|
||||
MethodParameter parameter = getMethodParameterFor("predicateWithoutAnnotation", Predicate.class);
|
||||
var parameter = getMethodParameterFor("predicateWithoutAnnotation", Predicate.class);
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "").build();
|
||||
var request = MockServerHttpRequest.get("").queryParam("firstname", "").build();
|
||||
|
||||
assertThat(resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request))) //
|
||||
.isNotNull();
|
||||
@@ -109,9 +109,9 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1785
|
||||
void forwardsNullValueForNullablePredicate() {
|
||||
|
||||
MethodParameter parameter = getMethodParameterFor("nullablePredicateWithoutAnnotation", Predicate.class);
|
||||
var parameter = getMethodParameterFor("nullablePredicateWithoutAnnotation", Predicate.class);
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "").build();
|
||||
var request = MockServerHttpRequest.get("").queryParam("firstname", "").build();
|
||||
|
||||
assertThat(resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request))).isNull();
|
||||
}
|
||||
@@ -119,9 +119,9 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests {
|
||||
@Test // DATACMNS-1785
|
||||
void returnsOptionalIfDeclared() {
|
||||
|
||||
MethodParameter parameter = getMethodParameterFor("optionalPredicateWithoutAnnotation", Optional.class);
|
||||
var parameter = getMethodParameterFor("optionalPredicateWithoutAnnotation", Optional.class);
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "").build();
|
||||
var request = MockServerHttpRequest.get("").queryParam("firstname", "").build();
|
||||
|
||||
assertThat(resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request))) //
|
||||
.isInstanceOfSatisfying(Optional.class, it -> assertThat(it).isEmpty());
|
||||
|
||||
Reference in New Issue
Block a user