DATACMNS-867 - First draft.

This commit is contained in:
Oliver Gierke
2016-11-14 20:10:22 +01:00
parent 1b17271915
commit cc63e5b7a4
278 changed files with 4737 additions and 5714 deletions

View File

@@ -15,8 +15,7 @@
*/
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import java.util.List;
@@ -34,8 +33,8 @@ import org.springframework.web.util.UriComponentsBuilder;
*
* @author Oliver Gierke
*/
public class HateoasPageableHandlerMethodArgumentResolverUnitTests extends
PageableHandlerMethodArgumentResolverUnitTests {
public class HateoasPageableHandlerMethodArgumentResolverUnitTests
extends PageableHandlerMethodArgumentResolverUnitTests {
@Test
public void buildsUpRequestParameters() {
@@ -58,12 +57,12 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests extends
MultiValueMap<String, String> params = builder.build().getQueryParams();
List<String> page = params.get("page");
assertThat(page.size(), is(1));
assertThat(page.get(0), is("1"));
assertThat(page).hasSize(1);
assertThat(page.get(0)).isEqualTo("1");
List<String> size = params.get("size");
assertThat(size.size(), is(1));
assertThat(size.get(0), is("20"));
assertThat(size).hasSize(1);
assertThat(size.get(0)).isEqualTo("20");
}
@Test // DATACMNS-335
@@ -91,7 +90,7 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests extends
resolver.setPageParameterName("foo");
String variables = resolver.getPaginationTemplateVariables(null, uriComponents).toString();
assertThat(variables, is("{?foo,size,sort}"));
assertThat(variables).isEqualTo("{?foo,size,sort}");
}
@Test // DATACMNS-563
@@ -106,8 +105,8 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests extends
MultiValueMap<String, String> params = builder.build().getQueryParams();
assertThat(params.containsKey(resolver.getPageParameterName()), is(true));
assertThat(params.getFirst(resolver.getPageParameterName()), is("1"));
assertThat(params.containsKey(resolver.getPageParameterName())).isTrue();
assertThat(params.getFirst(resolver.getPageParameterName())).isEqualTo("1");
}
@Override
@@ -125,7 +124,7 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests extends
getResolver().enhance(builder, parameter, pageable);
assertThat(builder.build().toUriString(), endsWith(expected));
assertThat(builder.build().toUriString()).endsWith(expected);
}
private void assertTemplateEnrichment(String baseUri, String expected) {
@@ -133,6 +132,6 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests extends
UriComponents uriComponents = UriComponentsBuilder.fromUriString(baseUri).build();
HateoasPageableHandlerMethodArgumentResolver resolver = getResolver();
assertThat(resolver.getPaginationTemplateVariables(null, uriComponents).toString(), is(expected));
assertThat(resolver.getPaginationTemplateVariables(null, uriComponents).toString()).isEqualTo(expected);
}
}

View File

@@ -15,8 +15,7 @@
*/
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.domain.Sort.Direction.*;
import java.net.URI;
@@ -55,7 +54,7 @@ public class HateoasSortHandlerMethodArgumentResolverUnitTests extends SortHandl
UriComponents uriComponents = UriComponentsBuilder.fromPath("/").build();
HateoasSortHandlerMethodArgumentResolver resolver = new HateoasSortHandlerMethodArgumentResolver();
assertThat(resolver.getSortTemplateVariables(null, uriComponents).toString(), is("{?sort}"));
assertThat(resolver.getSortTemplateVariables(null, uriComponents).toString()).isEqualTo("{?sort}");
}
private void assertUriStringFor(Sort sort, String expected) throws Exception {
@@ -69,6 +68,6 @@ public class HateoasSortHandlerMethodArgumentResolverUnitTests extends SortHandl
new HateoasSortHandlerMethodArgumentResolver().enhance(builder, parameter, sort);
assertThat(builder.build().toUriString(), endsWith(expected));
assertThat(builder.build().toUriString()).endsWith(expected);
}
}

View File

@@ -16,7 +16,7 @@
package org.springframework.data.web;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -65,42 +65,42 @@ public class JsonProjectingMethodInterceptorFactoryUnitTests {
@Test // DATCMNS-885
public void accessSimpleProperty() {
assertThat(customer.getFirstname(), is("Dave"));
assertThat(customer.getFirstname()).isEqualTo("Dave");
}
@Test // DATCMNS-885
public void accessPropertyWithExplicitAnnotation() {
assertThat(customer.getBar(), is("Dave"));
assertThat(customer.getBar()).isEqualTo("Dave");
}
@Test // DATCMNS-885
public void accessPropertyWithComplexReturnType() {
assertThat(customer.getAddress(), is(new Address("01097", "Dresden")));
assertThat(customer.getAddress()).isEqualTo(new Address("01097", "Dresden"));
}
@Test // DATCMNS-885
public void accessComplexPropertyWithProjection() {
assertThat(customer.getAddressProjection().getCity(), is("Dresden"));
assertThat(customer.getAddressProjection().getCity()).isEqualTo("Dresden");
}
@Test // DATCMNS-885
public void accessPropertyWithNestedJsonPath() {
assertThat(customer.getNestedZipCode(), is("01097"));
assertThat(customer.getNestedZipCode()).isEqualTo("01097");
}
@Test // DATCMNS-885
public void accessCollectionProperty() {
assertThat(customer.getAddresses().get(0), is(new Address("01097", "Dresden")));
assertThat(customer.getAddresses().get(0)).isEqualTo(new Address("01097", "Dresden"));
}
@Test // DATCMNS-885
public void accessPropertyOnNestedProjection() {
assertThat(customer.getAddressProjections().get(0).getZipCode(), is("01097"));
assertThat(customer.getAddressProjections().get(0).getZipCode()).isEqualTo("01097");
}
@Test // DATCMNS-885
public void accessPropertyThatUsesJsonPathProjectionInTurn() {
assertThat(customer.getAnotherAddressProjection().getZipCodeButNotCity(), is("01097"));
assertThat(customer.getAnotherAddressProjection().getZipCodeButNotCity()).isEqualTo("01097");
}
@Test // DATCMNS-885
@@ -108,8 +108,8 @@ public class JsonProjectingMethodInterceptorFactoryUnitTests {
List<AnotherAddressProjection> projections = customer.getAnotherAddressProjections();
assertThat(projections, hasSize(1));
assertThat(projections.get(0).getZipCodeButNotCity(), is("01097"));
assertThat(projections).hasSize(1);
assertThat(projections.get(0).getZipCodeButNotCity()).isEqualTo("01097");
}
@Test // DATCMNS-885
@@ -117,8 +117,8 @@ public class JsonProjectingMethodInterceptorFactoryUnitTests {
Set<AnotherAddressProjection> projections = customer.getAnotherAddressProjectionAsCollection();
assertThat(projections, hasSize(1));
assertThat(projections.iterator().next().getZipCodeButNotCity(), is("01097"));
assertThat(projections).hasSize(1);
assertThat(projections.iterator().next().getZipCodeButNotCity()).isEqualTo("01097");
}
@Test // DATCMNS-885
@@ -126,15 +126,15 @@ public class JsonProjectingMethodInterceptorFactoryUnitTests {
Name name = customer.getName();
assertThat(name, is(notNullValue()));
assertThat(name.getFirstname(), is("Dave"));
assertThat(name).isNotNull();
assertThat(name.getFirstname()).isEqualTo("Dave");
}
@Test // DATACMNS-885
public void accessNestedFields() {
assertThat(customer.getNestedCity(), is("Dresden"));
assertThat(customer.getNestedCities(), hasSize(2));
assertThat(customer.getNestedCity()).isEqualTo("Dresden");
assertThat(customer.getNestedCities()).hasSize(2);
}
interface Customer {

View File

@@ -16,8 +16,7 @@
package org.springframework.data.web;
import static java.util.Collections.*;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -53,7 +52,7 @@ public class MapDataBinderUnitTests {
Map<String, Object> nested = new HashMap<String, Object>();
nested.put("date", reference);
assertThat(bind(values), hasEntry("foo", (Object) nested));
assertThat(bind(values)).containsEntry("foo", nested);
}
@Test // DATACMNS-630
@@ -68,7 +67,7 @@ public class MapDataBinderUnitTests {
List<String> list = new ArrayList<String>();
list.add("String");
assertThat(result, is((Map) singletonMap("foo", singletonMap("bar", singletonMap("fooBar", list)))));
assertThat(result).isEqualTo((Map) singletonMap("foo", singletonMap("bar", singletonMap("fooBar", list))));
}
@Test // DATACMNS-630
@@ -85,7 +84,7 @@ public class MapDataBinderUnitTests {
dave.put("firstname", "Dave");
dave.put("lastname", "Matthews");
assertThat(result, is((Map) singletonMap("foo", dave)));
assertThat(result).isEqualTo((Map) singletonMap("foo", dave));
}
@Test // DATACMNS-630
@@ -94,7 +93,7 @@ public class MapDataBinderUnitTests {
MutablePropertyValues values = new MutablePropertyValues();
values.add("somethingWeird", "Value");
assertThat(bind(values), is(Collections.<String, Object> emptyMap()));
assertThat(bind(values)).isEqualTo(Collections.<String, Object> emptyMap());
}
private static Map<String, Object> bind(PropertyValues values) {

View File

@@ -15,8 +15,7 @@
*/
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.web.SortDefaultUnitTests.*;
import javax.servlet.http.HttpServletRequest;
@@ -58,14 +57,14 @@ public abstract class PageableDefaultUnitTests {
@Test
public void supportsPageable() {
assertThat(getResolver().supportsParameter(getParameterOfMethod("supportedMethod")), is(true));
assertThat(getResolver().supportsParameter(getParameterOfMethod("supportedMethod"))).isTrue();
}
@Test
public void doesNotSupportNonPageable() {
MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
assertThat(getResolver().supportsParameter(parameter), is(false));
assertThat(getResolver().supportsParameter(parameter)).isFalse();
}
@Test
@@ -106,7 +105,7 @@ public abstract class PageableDefaultUnitTests {
Pageable.class, Pageable.class);
HandlerMethodArgumentResolver resolver = getResolver();
assertThat(resolver.supportsParameter(parameter), is(true));
assertThat(resolver.supportsParameter(parameter)).isTrue();
exception.expect(IllegalStateException.class);
exception.expectMessage("unique");
@@ -121,7 +120,7 @@ public abstract class PageableDefaultUnitTests {
Pageable.class);
HandlerMethodArgumentResolver resolver = getResolver();
assertThat(resolver.supportsParameter(parameter), is(true));
assertThat(resolver.supportsParameter(parameter)).isTrue();
exception.expect(IllegalStateException.class);
exception.expectMessage("Ambiguous");
@@ -147,8 +146,8 @@ public abstract class PageableDefaultUnitTests {
protected void assertSupportedAndResult(MethodParameter parameter, Pageable pageable, NativeWebRequest request,
HandlerMethodArgumentResolver resolver) throws Exception {
assertThat(resolver.supportsParameter(parameter), is(true));
assertThat(resolver.resolveArgument(parameter, null, request, null), is((Object) pageable));
assertThat(resolver.supportsParameter(parameter)).isTrue();
assertThat(resolver.resolveArgument(parameter, null, request, null)).isEqualTo(pageable);
}
protected abstract PageableHandlerMethodArgumentResolver getResolver();

View File

@@ -15,8 +15,7 @@
*/
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.web.PageableHandlerMethodArgumentResolver.*;
import org.junit.Before;
@@ -102,7 +101,8 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
@Test // DATACMNS-377
public void rejectsInvalidCustomDefaultForPageSize() throws Exception {
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class), 0);
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class),
0);
exception.expect(IllegalStateException.class);
exception.expectMessage("invalidDefaultPageSize");
@@ -156,8 +156,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("page", "20");
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null),
is(nullValue()));
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null)).isNull();
}
@Test // DATACMNS-477
@@ -169,8 +168,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("size", "10");
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null),
is(nullValue()));
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null)).isNull();
}
@Test // DATACMNS-563
@@ -182,8 +180,9 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("page", "1");
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null)
.getPageNumber(), is(0));
assertThat(
resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null).getPageNumber())
.isEqualTo(0);
}
@Test // DATACMNS-640
@@ -198,9 +197,9 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
Pageable result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null);
assertThat(result.getPageNumber(), is(0));
assertThat(result.getPageSize(), is(10));
assertThat(result.getSort(), is(nullValue()));
assertThat(result.getPageNumber()).isEqualTo(0);
assertThat(result.getPageSize()).isEqualTo(10);
assertThat(result.getSort()).isNull();
}
@Test // DATACMNS-692
@@ -214,7 +213,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
Pageable result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null);
assertThat(result.getPageNumber(), is(0));
assertThat(result.getPageNumber()).isEqualTo(0);
}
@Test // DATACMNS-761
@@ -228,7 +227,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
Pageable result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null);
assertThat(result.getPageSize(), is(10));
assertThat(result.getPageSize()).isEqualTo(10);
}
@Test // DATACMNS-929
@@ -263,17 +262,17 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
void simpleDefault(@PageableDefault(size = PAGE_SIZE, page = PAGE_NUMBER) Pageable pageable);
void simpleDefaultWithSort(@PageableDefault(size = PAGE_SIZE, page = PAGE_NUMBER,
sort = { "firstname", "lastname" }) Pageable pageable);
void simpleDefaultWithSort(
@PageableDefault(size = PAGE_SIZE, page = PAGE_NUMBER, sort = { "firstname", "lastname" }) Pageable pageable);
void simpleDefaultWithSortAndDirection(@PageableDefault(size = PAGE_SIZE, page = PAGE_NUMBER, sort = { "firstname",
"lastname" }, direction = Direction.DESC) Pageable pageable);
void simpleDefaultWithSortAndDirection(@PageableDefault(size = PAGE_SIZE, page = PAGE_NUMBER,
sort = { "firstname", "lastname" }, direction = Direction.DESC) Pageable pageable);
void simpleDefaultWithExternalSort(@PageableDefault(size = PAGE_SIZE, page = PAGE_NUMBER)//
@SortDefault(sort = { "firstname", "lastname" }, direction = Direction.DESC) Pageable pageable);
void simpleDefaultWithExternalSort(@PageableDefault(size = PAGE_SIZE, page = PAGE_NUMBER) //
@SortDefault(sort = { "firstname", "lastname" }, direction = Direction.DESC) Pageable pageable);
void simpleDefaultWithContaineredExternalSort(@PageableDefault(size = PAGE_SIZE, page = PAGE_NUMBER)//
@SortDefaults(@SortDefault(sort = { "firstname", "lastname" }, direction = Direction.DESC)) Pageable pageable);
void simpleDefaultWithContaineredExternalSort(@PageableDefault(size = PAGE_SIZE, page = PAGE_NUMBER) //
@SortDefaults(@SortDefault(sort = { "firstname", "lastname" }, direction = Direction.DESC)) Pageable pageable);
void invalidQualifiers(@Qualifier("foo") Pageable first, @Qualifier("foo") Pageable second);

View File

@@ -15,8 +15,7 @@
*/
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import java.lang.reflect.Method;
@@ -58,8 +57,8 @@ public class PagedResourcesAssemblerArgumentResolverUnitTests {
Method method = Controller.class.getMethod("noContext", PagedResourcesAssembler.class);
Object result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null);
assertThat(result, is(instanceOf(PagedResourcesAssembler.class)));
assertThat(result, is(not(instanceOf(MethodParameterAwarePagedResourcesAssembler.class))));
assertThat(result).isInstanceOf(PagedResourcesAssembler.class);
assertThat(result).isNotInstanceOf(MethodParameterAwarePagedResourcesAssembler.class);
}
@Test // DATACMNS-418
@@ -112,7 +111,7 @@ public class PagedResourcesAssemblerArgumentResolverUnitTests {
Method method = Controller.class.getMethod("methodWithPathVariable", PagedResourcesAssembler.class);
Object result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null);
assertThat(result, is(notNullValue()));
assertThat(result).isNotNull();
}
@Test // DATACMNS-513
@@ -130,10 +129,10 @@ public class PagedResourcesAssemblerArgumentResolverUnitTests {
Object result = resolver.resolveArgument(methodParameter, null, null, null);
assertThat(result, is(instanceOf(PagedResourcesAssembler.class)));
assertThat(result).isInstanceOf(PagedResourcesAssembler.class);
UriComponents uriComponents = (UriComponents) ReflectionTestUtils.getField(result, "baseUri");
assertThat(uriComponents.getPath(), is("/foo/mapping"));
assertThat(uriComponents.getPath()).isEqualTo("/foo/mapping");
}
private void assertSelectsParameter(Method method, int expectedIndex) throws Exception {
@@ -146,10 +145,10 @@ public class PagedResourcesAssemblerArgumentResolverUnitTests {
private static void assertMethodParameterAwarePagedResourcesAssemblerFor(Object result, MethodParameter parameter) {
assertThat(result, is(instanceOf(MethodParameterAwarePagedResourcesAssembler.class)));
assertThat(result).isInstanceOf(MethodParameterAwarePagedResourcesAssembler.class);
MethodParameterAwarePagedResourcesAssembler<?> assembler = (MethodParameterAwarePagedResourcesAssembler<?>) result;
assertThat(assembler.getMethodParameter(), is(parameter));
assertThat(assembler.getMethodParameter()).isEqualTo(parameter);
}
private void assertRejectsAmbiguity(String methodName) throws Exception {

View File

@@ -15,8 +15,7 @@
*/
package org.springframework.data.web;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import java.net.URI;
import java.util.Arrays;
@@ -66,9 +65,9 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(0));
assertThat(resources.getLink(Link.REL_PREVIOUS), is(nullValue()));
assertThat(resources.getLink(Link.REL_SELF), is(notNullValue()));
assertThat(resources.getLink(Link.REL_NEXT), is(notNullValue()));
assertThat(resources.getLink(Link.REL_PREVIOUS)).isNull();
assertThat(resources.getLink(Link.REL_SELF)).isNotNull();
assertThat(resources.getLink(Link.REL_NEXT)).isNotNull();
}
@Test
@@ -76,9 +75,9 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(1));
assertThat(resources.getLink(Link.REL_PREVIOUS), is(notNullValue()));
assertThat(resources.getLink(Link.REL_SELF), is(notNullValue()));
assertThat(resources.getLink(Link.REL_NEXT), is(notNullValue()));
assertThat(resources.getLink(Link.REL_PREVIOUS)).isNotNull();
assertThat(resources.getLink(Link.REL_SELF)).isNotNull();
assertThat(resources.getLink(Link.REL_NEXT)).isNotNull();
}
@Test
@@ -86,9 +85,9 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(2));
assertThat(resources.getLink(Link.REL_PREVIOUS), is(notNullValue()));
assertThat(resources.getLink(Link.REL_SELF), is(notNullValue()));
assertThat(resources.getLink(Link.REL_NEXT), is(nullValue()));
assertThat(resources.getLink(Link.REL_PREVIOUS)).isNotNull();
assertThat(resources.getLink(Link.REL_SELF)).isNotNull();
assertThat(resources.getLink(Link.REL_NEXT)).isNull();
}
@Test
@@ -99,9 +98,9 @@ public class PagedResourcesAssemblerUnitTests {
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(resolver, baseUri);
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(1));
assertThat(resources.getLink(Link.REL_PREVIOUS).getHref(), startsWith(baseUri.toUriString()));
assertThat(resources.getLink(Link.REL_SELF), is(notNullValue()));
assertThat(resources.getLink(Link.REL_NEXT).getHref(), startsWith(baseUri.toUriString()));
assertThat(resources.getLink(Link.REL_PREVIOUS).getHref()).startsWith(baseUri.toUriString());
assertThat(resources.getLink(Link.REL_SELF)).isNotNull();
assertThat(resources.getLink(Link.REL_NEXT).getHref()).startsWith(baseUri.toUriString());
}
@Test
@@ -111,9 +110,9 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(1), link);
assertThat(resources.getLink(Link.REL_PREVIOUS).getHref(), startsWith(link.getHref()));
assertThat(resources.getLink(Link.REL_SELF), is(notNullValue()));
assertThat(resources.getLink(Link.REL_NEXT).getHref(), startsWith(link.getHref()));
assertThat(resources.getLink(Link.REL_PREVIOUS).getHref()).startsWith(link.getHref());
assertThat(resources.getLink(Link.REL_SELF)).isNotNull();
assertThat(resources.getLink(Link.REL_NEXT).getHref()).startsWith(link.getHref());
}
@Test // DATACMNS-358
@@ -133,7 +132,7 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(1));
Link selfLink = resources.getLink(Link.REL_SELF);
assertThat(selfLink.getHref(), endsWith("localhost"));
assertThat(selfLink.getHref()).endsWith("localhost");
}
@Test // DATACMNS-418
@@ -143,11 +142,11 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<PersonResource> resources = assembler.toResource(createPage(0), personAssembler);
assertThat(resources.hasLink(Link.REL_SELF), is(true));
assertThat(resources.hasLink(Link.REL_NEXT), is(true));
assertThat(resources.hasLink(Link.REL_SELF)).isTrue();
assertThat(resources.hasLink(Link.REL_NEXT)).isTrue();
Collection<PersonResource> content = resources.getContent();
assertThat(content, hasSize(1));
assertThat(content.iterator().next().name, is("Dave"));
assertThat(content).hasSize(1);
assertThat(content.iterator().next().name).isEqualTo("Dave");
}
@Test // DATAMCNS-563
@@ -159,11 +158,11 @@ public class PagedResourcesAssemblerUnitTests {
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(argumentResolver, null);
PagedResources<Resource<Person>> resource = assembler.toResource(createPage(1));
assertThat(resource.hasLink("prev"), is(true));
assertThat(resource.hasLink("next"), is(true));
assertThat(resource.hasLink("prev")).isTrue();
assertThat(resource.hasLink("next")).isTrue();
assertThat(getQueryParameters(resource.getLink("prev")), hasEntry("page", "1"));
assertThat(getQueryParameters(resource.getLink("next")), hasEntry("page", "3"));
assertThat(getQueryParameters(resource.getLink("prev"))).containsEntry("page", "1");
assertThat(getQueryParameters(resource.getLink("next"))).containsEntry("page", "3");
}
@Test // DATACMNS-515
@@ -171,9 +170,9 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(1));
assertThat(resources.getLink(Link.REL_SELF).getHref(), endsWith("localhost"));
assertThat(resources.getLink(Link.REL_NEXT).getHref(), endsWith("?page=2&size=1"));
assertThat(resources.getLink(Link.REL_PREVIOUS).getHref(), endsWith("?page=0&size=1"));
assertThat(resources.getLink(Link.REL_SELF).getHref()).endsWith("localhost");
assertThat(resources.getLink(Link.REL_NEXT).getHref()).endsWith("?page=2&size=1");
assertThat(resources.getLink(Link.REL_PREVIOUS).getHref()).endsWith("?page=0&size=1");
}
@Test // DATACMNS-699
@@ -182,11 +181,11 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<?> result = assembler.toEmptyResource(EMPTY_PAGE, Person.class, null);
Collection<?> content = result.getContent();
assertThat(content, hasSize(1));
assertThat(content).hasSize(1);
Object element = content.iterator().next();
assertThat(element, is(instanceOf(EmbeddedWrapper.class)));
assertThat(((EmbeddedWrapper) element).getRelTargetType(), is(typeCompatibleWith(Person.class)));
assertThat(element).isInstanceOf(EmbeddedWrapper.class);
assertThat(((EmbeddedWrapper) element).getRelTargetType()).isEqualTo(Person.class);
}
@Test(expected = IllegalArgumentException.class) // DATACMNS-699
@@ -204,8 +203,8 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(1));
assertThat(resources.getLink(Link.REL_FIRST).getHref(), endsWith("?page=0&size=1"));
assertThat(resources.getLink(Link.REL_LAST).getHref(), endsWith("?page=2&size=1"));
assertThat(resources.getLink(Link.REL_FIRST).getHref()).endsWith("?page=0&size=1");
assertThat(resources.getLink(Link.REL_LAST).getHref()).endsWith("?page=2&size=1");
}
@Test // DATACMNS-701
@@ -213,8 +212,8 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(0));
assertThat(resources.getLink(Link.REL_FIRST).getHref(), endsWith("?page=0&size=1"));
assertThat(resources.getLink(Link.REL_LAST).getHref(), endsWith("?page=2&size=1"));
assertThat(resources.getLink(Link.REL_FIRST).getHref()).endsWith("?page=0&size=1");
assertThat(resources.getLink(Link.REL_LAST).getHref()).endsWith("?page=2&size=1");
}
@Test // DATACMNS-701
@@ -222,8 +221,8 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(2));
assertThat(resources.getLink(Link.REL_FIRST).getHref(), endsWith("?page=0&size=1"));
assertThat(resources.getLink(Link.REL_LAST).getHref(), endsWith("?page=2&size=1"));
assertThat(resources.getLink(Link.REL_FIRST).getHref()).endsWith("?page=0&size=1");
assertThat(resources.getLink(Link.REL_LAST).getHref()).endsWith("?page=2&size=1");
}
@Test // DATACMNS-701
@@ -234,8 +233,8 @@ public class PagedResourcesAssemblerUnitTests {
PagedResources<Resource<Person>> resources = assembler.toResource(EMPTY_PAGE);
assertThat(resources.getLink(Link.REL_FIRST).getHref(), endsWith("?page=0&size=20"));
assertThat(resources.getLink(Link.REL_LAST).getHref(), endsWith("?page=0&size=20"));
assertThat(resources.getLink(Link.REL_FIRST).getHref()).endsWith("?page=0&size=20");
assertThat(resources.getLink(Link.REL_LAST).getHref()).endsWith("?page=0&size=20");
}
@Test // DATACMNS-802
@@ -244,7 +243,7 @@ public class PagedResourcesAssemblerUnitTests {
ResourceAssembler<Page<Person>, PagedResources<Resource<Person>>> assembler = new CustomPagedResourcesAssembler<Person>(
resolver, null);
assertThat(assembler.toResource(EMPTY_PAGE), is(instanceOf(CustomPagedResources.class)));
assertThat(assembler.toResource(EMPTY_PAGE)).isInstanceOf(CustomPagedResources.class);
}
private static Page<Person> createPage(int index) {

View File

@@ -16,7 +16,7 @@
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
@@ -38,17 +38,17 @@ public class ProjectingJackson2HttpMessageConverterUnitTests {
@Test // DATCMNS-885
public void canReadJsonIntoAnnotatedInterface() {
assertThat(converter.canRead(SampleInterface.class, ANYTHING_JSON), is(true));
assertThat(converter.canRead(SampleInterface.class, ANYTHING_JSON)).isTrue();
}
@Test // DATCMNS-885
public void cannotReadUnannotatedInterface() {
assertThat(converter.canRead(UnannotatedInterface.class, ANYTHING_JSON), is(false));
assertThat(converter.canRead(UnannotatedInterface.class, ANYTHING_JSON)).isFalse();
}
@Test // DATCMNS-885
public void cannotReadClass() {
assertThat(converter.canRead(SampleClass.class, ANYTHING_JSON), is(false));
assertThat(converter.canRead(SampleClass.class, ANYTHING_JSON)).isFalse();
}
@Test // DATACMNS-972

View File

@@ -15,8 +15,7 @@
*/
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.domain.Sort.Direction.*;
import org.junit.Rule;
@@ -65,12 +64,12 @@ public abstract class SortDefaultUnitTests {
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
Sort sort = resolver.parseParameterIntoSort(source, ",");
assertThat(sort, is(expected));
assertThat(sort).isEqualTo(expected);
}
@Test
public void supportsSortParameter() {
assertThat(getResolver().supportsParameter(getParameterOfMethod("supportedMethod")), is(true));
assertThat(getResolver().supportsParameter(getParameterOfMethod("supportedMethod"))).isTrue();
}
@Test
@@ -92,7 +91,7 @@ public abstract class SortDefaultUnitTests {
public void rejectsNonSortParameter() {
MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class);
assertThat(getResolver().supportsParameter(parameter), is(false));
assertThat(getResolver().supportsParameter(parameter)).isFalse();
}
@Test
@@ -101,7 +100,7 @@ public abstract class SortDefaultUnitTests {
MethodParameter parameter = getParameterOfMethod("invalid");
HandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
assertThat(resolver.supportsParameter(parameter), is(true));
assertThat(resolver.supportsParameter(parameter)).isTrue();
exception.expect(IllegalArgumentException.class);
exception.expectMessage(SortDefault.class.getSimpleName());
@@ -129,8 +128,8 @@ public abstract class SortDefaultUnitTests {
private void assertSupportedAndResolvedTo(MethodParameter parameter, Sort sort) throws Exception {
HandlerMethodArgumentResolver resolver = getResolver();
assertThat(resolver.supportsParameter(parameter), is(true));
assertThat(resolver.resolveArgument(parameter, null, TestUtils.getWebRequest(), null), is((Object) sort));
assertThat(resolver.supportsParameter(parameter)).isTrue();
assertThat(resolver.resolveArgument(parameter, null, TestUtils.getWebRequest(), null)).isEqualTo(sort);
}
protected MethodParameter getParameterOfMethod(String name) {

View File

@@ -15,8 +15,7 @@
*/
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.domain.Sort.Direction.*;
import javax.servlet.http.HttpServletRequest;
@@ -60,7 +59,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
resolver.setFallbackSort(fallbackSort);
Sort sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null);
assertThat(sort, is(fallbackSort));
assertThat(sort).isEqualTo(fallbackSort);
}
@Test // DATACMNS-351
@@ -70,7 +69,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
Sort sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null);
assertThat(sort, is(nullValue()));
assertThat(sort).isNull();
}
@Test
@@ -111,7 +110,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
Sort result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null);
assertThat(result, is(nullValue()));
assertThat(result).isNull();
}
@Test // DATACMNS-366
@@ -124,7 +123,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
Sort result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null);
assertThat(result, is(new Sort(Direction.ASC, "firstname", "lastname")));
assertThat(result).isEqualTo(new Sort(Direction.ASC, "firstname", "lastname"));
}
@Test // DATACMNS-408
@@ -133,7 +132,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("sort", "");
assertThat(resolveSort(request, PARAMETER), is(nullValue()));
assertThat(resolveSort(request, PARAMETER)).isNull();
}
@Test // DATACMNS-408
@@ -142,7 +141,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("sort", ",DESC");
assertThat(resolveSort(request, PARAMETER), is(nullValue()));
assertThat(resolveSort(request, PARAMETER)).isNull();
}
@Test // DATACMNS-408
@@ -151,7 +150,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("sort", "property1,,DESC");
assertThat(resolveSort(request, PARAMETER), is(new Sort(DESC, "property1")));
assertThat(resolveSort(request, PARAMETER)).isEqualTo(new Sort(DESC, "property1"));
}
@Test // DATACMNS-408
@@ -161,7 +160,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
request.addParameter("sort", "property,DESC");
request.addParameter("sort", "");
assertThat(resolveSort(request, PARAMETER), is(new Sort(DESC, "property")));
assertThat(resolveSort(request, PARAMETER)).isEqualTo(new Sort(DESC, "property"));
}
@Test // DATACMNS-379
@@ -170,7 +169,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("sort", ",");
assertThat(resolveSort(request, PARAMETER), is(nullValue()));
assertThat(resolveSort(request, PARAMETER)).isNull();
}
@Test // DATACMNS-753, DATACMNS-408
@@ -179,8 +178,8 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("sort", "");
assertThat(resolveSort(request, getParameterOfMethod("simpleDefault")), is(new Sort("firstname", "lastname")));
assertThat(resolveSort(request, getParameterOfMethod("containeredDefault")), is(new Sort("foo", "bar")));
assertThat(resolveSort(request, getParameterOfMethod("simpleDefault"))).isEqualTo(new Sort("firstname", "lastname"));
assertThat(resolveSort(request, getParameterOfMethod("containeredDefault"))).isEqualTo(new Sort("foo", "bar"));
}
private static Sort resolveSort(HttpServletRequest request, MethodParameter parameter) throws Exception {
@@ -192,10 +191,10 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
private static void assertSupportedAndResolvedTo(NativeWebRequest request, MethodParameter parameter, Sort sort) {
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
assertThat(resolver.supportsParameter(parameter), is(true));
assertThat(resolver.supportsParameter(parameter)).isTrue();
try {
assertThat(resolver.resolveArgument(parameter, null, request, null), is(sort));
assertThat(resolver.resolveArgument(parameter, null, request, null)).isEqualTo(sort);
} catch (Exception e) {
throw new RuntimeException(e);
}

View File

@@ -16,7 +16,7 @@
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.io.ByteArrayInputStream;
@@ -51,8 +51,8 @@ public class XmlBeamHttpMessageConverterUnitTests {
Customer customer = (Customer) converter.read(Customer.class, message);
assertThat(customer.getFirstname(), is("Dave"));
assertThat(customer.getLastname(), is("Matthews"));
assertThat(customer.getFirstname()).isEqualTo("Dave");
assertThat(customer.getLastname()).isEqualTo("Matthews");
}
@Test // DATACMNS-885
@@ -62,30 +62,30 @@ public class XmlBeamHttpMessageConverterUnitTests {
Customer customer = (Customer) converter.read(Customer.class, message);
assertThat(customer.getFirstname(), is("Dave"));
assertThat(customer.getLastname(), is("Matthews"));
assertThat(customer.getFirstname()).isEqualTo("Dave");
assertThat(customer.getLastname()).isEqualTo("Matthews");
}
@Test // DATACMNS-885
public void supportsAnnotatedInterface() {
assertThat(converter.canRead(Customer.class, MediaType.APPLICATION_XML), is(true));
assertThat(converter.canRead(Customer.class, MediaType.APPLICATION_XML)).isTrue();
}
@Test // DATACMNS-885
public void supportsXmlBasedMediaType() {
assertThat(converter.canRead(Customer.class, MediaType.APPLICATION_ATOM_XML), is(true));
assertThat(converter.canRead(Customer.class, MediaType.APPLICATION_ATOM_XML)).isTrue();
}
@Test // DATACMNS-885
public void doesNotSupportUnannotatedInterface() {
assertThat(converter.canRead(UnannotatedInterface.class, MediaType.APPLICATION_XML), is(false));
assertThat(converter.canRead(UnannotatedInterface.class, MediaType.APPLICATION_XML)).isFalse();
}
@Test // DATACMNS-885
public void supportsInterfaceAfterLookupForDifferrentMediaType() {
assertThat(converter.canRead(Customer.class, MediaType.APPLICATION_JSON), is(false));
assertThat(converter.canRead(Customer.class, MediaType.APPLICATION_XML), is(true));
assertThat(converter.canRead(Customer.class, MediaType.APPLICATION_JSON)).isFalse();
assertThat(converter.canRead(Customer.class, MediaType.APPLICATION_XML)).isTrue();
}
private void preparePayload(String payload) throws IOException {

View File

@@ -15,17 +15,14 @@
*/
package org.springframework.data.web.config;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.hamcrest.Matcher;
import org.junit.After;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
@@ -80,7 +77,7 @@ public class EnableSpringDataWebSupportIntegrationTests {
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
assertThat(names, hasItems("pageableResolver", "sortResolver"));
assertThat(names).contains("pageableResolver", "sortResolver");
assertResolversRegistered(context, SortHandlerMethodArgumentResolver.class,
PageableHandlerMethodArgumentResolver.class);
@@ -92,7 +89,7 @@ public class EnableSpringDataWebSupportIntegrationTests {
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
assertThat(names, hasItems("pagedResourcesAssembler", "pagedResourcesAssemblerArgumentResolver"));
assertThat(names).contains("pagedResourcesAssembler", "pagedResourcesAssemblerArgumentResolver");
assertResolversRegistered(context, PagedResourcesAssemblerArgumentResolver.class);
}
@@ -104,8 +101,8 @@ public class EnableSpringDataWebSupportIntegrationTests {
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
assertThat(names, hasItems("pageableResolver", "sortResolver"));
assertThat(names, not(hasItems("pagedResourcesAssembler", "pagedResourcesAssemblerArgumentResolver")));
assertThat(names).contains("pageableResolver", "sortResolver");
assertThat(names).doesNotContain("pagedResourcesAssembler", "pagedResourcesAssemblerArgumentResolver");
}
@Test // DATACMNS-475
@@ -114,7 +111,7 @@ public class EnableSpringDataWebSupportIntegrationTests {
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
assertThat(names, hasItem("jacksonGeoModule"));
assertThat(names).contains("jacksonGeoModule");
}
@Test // DATACMNS-475
@@ -125,7 +122,7 @@ public class EnableSpringDataWebSupportIntegrationTests {
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
assertThat(names, not(hasItem("jacksonGeoModule")));
assertThat(names).doesNotContain("jacksonGeoModule");
}
@Test // DATACMNS-626
@@ -135,10 +132,10 @@ public class EnableSpringDataWebSupportIntegrationTests {
ConversionService conversionService = context.getBean(ConversionService.class);
assertThat(conversionService.canConvert(String.class, Distance.class), is(true));
assertThat(conversionService.canConvert(Distance.class, String.class), is(true));
assertThat(conversionService.canConvert(String.class, Point.class), is(true));
assertThat(conversionService.canConvert(Point.class, String.class), is(true));
assertThat(conversionService.canConvert(String.class, Distance.class)).isTrue();
assertThat(conversionService.canConvert(Distance.class, String.class)).isTrue();
assertThat(conversionService.canConvert(String.class, Point.class)).isTrue();
assertThat(conversionService.canConvert(Point.class, String.class)).isTrue();
}
@Test // DATACMNS-630
@@ -165,23 +162,16 @@ public class EnableSpringDataWebSupportIntegrationTests {
ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class);
List<String> names = Arrays.asList(context.getBeanDefinitionNames());
assertThat(names, hasItem("sampleBean"));
assertThat(names).contains("sampleBean");
}
@SuppressWarnings("unchecked")
private static void assertResolversRegistered(ApplicationContext context, Class<?>... resolverTypes) {
RequestMappingHandlerAdapter adapter = context.getBean(RequestMappingHandlerAdapter.class);
assertThat(adapter, is(notNullValue()));
assertThat(adapter).isNotNull();
List<HandlerMethodArgumentResolver> resolvers = adapter.getCustomArgumentResolvers();
List<Matcher<Object>> resolverMatchers = new ArrayList<Matcher<Object>>(resolverTypes.length);
for (Class<?> resolverType : resolverTypes) {
resolverMatchers.add(instanceOf(resolverType));
}
assertThat(resolvers, hasItems(resolverMatchers.toArray(new Matcher[resolverMatchers.size()])));
Arrays.asList(resolverTypes).forEach(type -> assertThat(resolvers).hasAtLeastOneElementOfType(type));
}
private static void hide(String module) throws Exception {

View File

@@ -15,9 +15,7 @@
*/
package org.springframework.data.web.config;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.junit.Assume.*;
import static org.assertj.core.api.Assertions.*;
import java.util.Arrays;
@@ -27,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.SpringVersion;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
@@ -66,25 +63,23 @@ public class PageableResourcesAssemblerIntegrationTests {
@Test
public void injectsPagedResourcesAssembler() {
assumeThat(SpringVersion.getVersion(), startsWith("3.2"));
WebApplicationContext context = WebTestUtils.createApplicationContext(Config.class);
SampleController controller = context.getBean(SampleController.class);
assertThat(controller.assembler, is(notNullValue()));
assertThat(controller.assembler).isNotNull();
PagedResources<Resource<Person>> resources = controller.sample(new PageRequest(1, 1));
assertThat(resources.getLink(Link.REL_PREVIOUS), is(notNullValue()));
assertThat(resources.getLink(Link.REL_NEXT), is(notNullValue()));
assertThat(resources.getLink(Link.REL_SELF), is(notNullValue()));
assertThat(resources.getLink(Link.REL_PREVIOUS)).isNotNull();
assertThat(resources.getLink(Link.REL_NEXT)).isNotNull();
assertThat(resources.getLink(Link.REL_SELF)).isNotNull();
}
@Test // DATACMNS-471
public void setsUpPagedResourcesAssemblerFromManualXmlConfig() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("manual.xml", getClass());
assertThat(context.getBean(PagedResourcesAssembler.class), is(notNullValue()));
assertThat(context.getBean(PagedResourcesAssembler.class)).isNotNull();
context.close();
}
@@ -92,7 +87,7 @@ public class PageableResourcesAssemblerIntegrationTests {
public void setsUpPagedResourcesAssemblerFromJavaConfigXmlConfig() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("via-config-class.xml", getClass());
assertThat(context.getBean(PagedResourcesAssembler.class), is(notNullValue()));
assertThat(context.getBean(PagedResourcesAssembler.class)).isNotNull();
context.close();
}
@@ -104,8 +99,8 @@ public class PageableResourcesAssemblerIntegrationTests {
@RequestMapping("/persons")
PagedResources<Resource<Person>> sample(Pageable pageable) {
Page<Person> page = new PageImpl<Person>(Arrays.asList(new Person()), pageable, pageable.getOffset()
+ pageable.getPageSize() + 1);
Page<Person> page = new PageImpl<Person>(Arrays.asList(new Person()), pageable,
pageable.getOffset() + pageable.getPageSize() + 1);
return assembler.toResource(page);
}

View File

@@ -15,8 +15,7 @@
*/
package org.springframework.data.web.config;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import java.util.Collection;
import java.util.Date;
@@ -37,19 +36,19 @@ public class SampleController {
@RequestMapping("/proxy")
public String someMethod(SampleDto sampleDto) {
assertThat(sampleDto, is(notNullValue()));
assertThat(sampleDto.getName(), is("Foo"));
assertThat(sampleDto.getDate(), is(notNullValue()));
assertThat(sampleDto).isNotNull();
assertThat(sampleDto.getName()).isEqualTo("Foo");
assertThat(sampleDto.getDate()).isNotNull();
Collection<Address> shippingAddresses = sampleDto.getShippingAddresses();
assertThat(shippingAddresses, is(hasSize(1)));
assertThat(shippingAddresses.iterator().next().getZipCode(), is("ZIP"));
assertThat(shippingAddresses.iterator().next().getCity(), is("City"));
assertThat(shippingAddresses).hasSize(1);
assertThat(shippingAddresses.iterator().next().getZipCode()).isEqualTo("ZIP");
assertThat(shippingAddresses.iterator().next().getCity()).isEqualTo("City");
assertThat(sampleDto.getBillingAddress(), is(notNullValue()));
assertThat(sampleDto.getBillingAddress().getZipCode(), is("ZIP"));
assertThat(sampleDto.getBillingAddress().getCity(), is("City"));
assertThat(sampleDto.getBillingAddress()).isNotNull();
assertThat(sampleDto.getBillingAddress().getZipCode()).isEqualTo("ZIP");
assertThat(sampleDto.getBillingAddress().getCity()).isEqualTo("City");
return "view";
}

View File

@@ -15,10 +15,11 @@
*/
package org.springframework.data.web.querydsl;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.web.querydsl.QuerydslPredicateArgumentResolver.*;
import java.util.Optional;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -33,7 +34,6 @@ import org.springframework.data.querydsl.binding.QuerydslBinderCustomizer;
import org.springframework.data.querydsl.binding.QuerydslBindings;
import org.springframework.data.querydsl.binding.QuerydslBindingsFactory;
import org.springframework.data.querydsl.binding.QuerydslPredicate;
import org.springframework.data.querydsl.binding.SingleValueBinding;
import org.springframework.data.util.ClassTypeInformation;
import org.springframework.data.util.TypeInformation;
import org.springframework.hateoas.Resource;
@@ -46,7 +46,6 @@ import org.springframework.web.servlet.ModelAndView;
import com.querydsl.core.types.Predicate;
import com.querydsl.core.types.dsl.BooleanExpression;
import com.querydsl.core.types.dsl.StringPath;
/**
* Unit tests for {@link QuerydslPredicateArgumentResolver}.
@@ -67,19 +66,19 @@ public class QuerydslPredicateArgumentResolverUnitTests {
public void setUp() {
resolver = new QuerydslPredicateArgumentResolver(new QuerydslBindingsFactory(SimpleEntityPathResolver.INSTANCE),
null);
Optional.empty());
request = new MockHttpServletRequest();
}
@Test // DATACMNS-669
public void supportsParameterReturnsTrueWhenMethodParameterIsPredicateAndAnnotatedCorrectly() {
assertThat(resolver.supportsParameter(getMethodParameterFor("simpleFind", Predicate.class)), is(true));
assertThat(resolver.supportsParameter(getMethodParameterFor("simpleFind", Predicate.class))).isTrue();
}
@Test // DATACMNS-669
public void supportsParameterReturnsTrueWhenMethodParameterIsPredicateButNotAnnotatedAsSuch() {
assertThat(resolver.supportsParameter(getMethodParameterFor("predicateWithoutAnnotation", Predicate.class)),
is(true));
assertThat(resolver.supportsParameter(getMethodParameterFor("predicateWithoutAnnotation", Predicate.class)))
.isTrue();
}
@Test(expected = IllegalArgumentException.class) // DATACMNS-669
@@ -89,8 +88,8 @@ public class QuerydslPredicateArgumentResolverUnitTests {
@Test // DATACMNS-669
public void supportsParameterReturnsFalseWhenMethodParameterIsNoPredicate() {
assertThat(resolver.supportsParameter(getMethodParameterFor("nonPredicateWithoutAnnotation", String.class)),
is(false));
assertThat(resolver.supportsParameter(getMethodParameterFor("nonPredicateWithoutAnnotation", String.class)))
.isFalse();
}
@Test // DATACMNS-669
@@ -101,7 +100,7 @@ public class QuerydslPredicateArgumentResolverUnitTests {
Predicate predicate = (BooleanExpression) resolver.resolveArgument(
getMethodParameterFor("simpleFind", Predicate.class), null, new ServletWebRequest(request), null);
assertThat(predicate, is((Predicate) QUser.user.firstname.eq("rand")));
assertThat(predicate).isEqualTo((Predicate) QUser.user.firstname.eq("rand"));
}
@Test // DATACMNS-669
@@ -113,7 +112,7 @@ public class QuerydslPredicateArgumentResolverUnitTests {
Predicate predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null,
new ServletWebRequest(request), null);
assertThat(predicate, is((Predicate) QUser.user.firstname.eq("rand").and(QUser.user.lastname.eq("al'thor"))));
assertThat(predicate).isEqualTo((Predicate) QUser.user.firstname.eq("rand").and(QUser.user.lastname.eq("al'thor")));
}
@Test // DATACMNS-669
@@ -126,7 +125,7 @@ public class QuerydslPredicateArgumentResolverUnitTests {
BooleanExpression eq = QUser.user.address.city.eq("two rivers");
assertThat(predicate, is((Predicate) eq));
assertThat(predicate).isEqualTo((Predicate) eq);
}
@Test // DATACMNS-669
@@ -137,7 +136,7 @@ public class QuerydslPredicateArgumentResolverUnitTests {
Predicate predicate = resolver.resolveArgument(getMethodParameterFor("pagedFind", Predicate.class, Pageable.class),
null, new ServletWebRequest(request), null);
assertThat(predicate, is((Predicate) QUser.user.address.city.eq("tar valon")));
assertThat(predicate).isEqualTo((Predicate) QUser.user.address.city.eq("tar valon"));
}
@Test // DATACMNS-669
@@ -149,8 +148,8 @@ public class QuerydslPredicateArgumentResolverUnitTests {
Predicate predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
new ServletWebRequest(request), null);
assertThat(predicate, is((Predicate) QUser.user.firstname.eq("egwene".toUpperCase())
.and(QUser.user.lastname.toLowerCase().eq("al'vere"))));
assertThat(predicate).isEqualTo(
QUser.user.firstname.eq("egwene".toUpperCase()).and(QUser.user.lastname.toLowerCase().eq("al'vere")));
}
@Test // DATACMNS-669
@@ -161,7 +160,7 @@ public class QuerydslPredicateArgumentResolverUnitTests {
Predicate predicate = (BooleanExpression) resolver.resolveArgument(
getMethodParameterFor("specificFind", Predicate.class), null, new ServletWebRequest(request), null);
assertThat(predicate, is((Predicate) QUser.user.inceptionYear.eq(978L)));
assertThat(predicate).isEqualTo((Predicate) QUser.user.inceptionYear.eq(978L));
}
@Test // DATACMNS-669
@@ -172,7 +171,7 @@ public class QuerydslPredicateArgumentResolverUnitTests {
Predicate predicate = (BooleanExpression) resolver.resolveArgument(
getMethodParameterFor("specificFind", Predicate.class), null, new ServletWebRequest(request), null);
assertThat(predicate, is((Predicate) QUser.user.inceptionYear.in(978L, 998L)));
assertThat(predicate).isEqualTo((Predicate) QUser.user.inceptionYear.in(978L, 998L));
}
@Test // DATACMNS-669
@@ -184,7 +183,7 @@ public class QuerydslPredicateArgumentResolverUnitTests {
Object predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null,
new ServletWebRequest(request), null);
assertThat(predicate.toString(), is(QUser.user.inceptionYear.eq(973L).toString()));
assertThat(predicate.toString()).isEqualTo(QUser.user.inceptionYear.eq(973L).toString());
}
@Test // DATACMNS-669
@@ -194,7 +193,7 @@ public class QuerydslPredicateArgumentResolverUnitTests {
TypeInformation<?> type = ReflectionTestUtils.invokeMethod(resolver, "extractTypeInfo",
getMethodParameterFor("predicateWithoutAnnotation", Predicate.class));
assertThat(type, is((TypeInformation) ClassTypeInformation.from(User.class)));
assertThat(type).isEqualTo((TypeInformation) ClassTypeInformation.from(User.class));
}
@Test // DATACMNS-669
@@ -204,9 +203,9 @@ public class QuerydslPredicateArgumentResolverUnitTests {
TypeInformation USER_TYPE = ClassTypeInformation.from(User.class);
TypeInformation MODELA_AND_VIEW_TYPE = ClassTypeInformation.from(ModelAndView.class);
assertThat(extractTypeInfo(getMethodParameterFor("forEntity")), is(USER_TYPE));
assertThat(extractTypeInfo(getMethodParameterFor("forResourceOfUser")), is(USER_TYPE));
assertThat(extractTypeInfo(getMethodParameterFor("forModelAndView")), is(MODELA_AND_VIEW_TYPE));
assertThat(extractTypeInfo(getMethodParameterFor("forEntity"))).isEqualTo(USER_TYPE);
assertThat(extractTypeInfo(getMethodParameterFor("forResourceOfUser"))).isEqualTo(USER_TYPE);
assertThat(extractTypeInfo(getMethodParameterFor("forModelAndView"))).isEqualTo(MODELA_AND_VIEW_TYPE);
}
private static MethodParameter getMethodParameterFor(String methodName, Class<?>... args) throws RuntimeException {
@@ -222,21 +221,8 @@ public class QuerydslPredicateArgumentResolverUnitTests {
public void customize(QuerydslBindings bindings, QUser user) {
bindings.bind(user.firstname).first(new SingleValueBinding<StringPath, String>() {
@Override
public Predicate bind(StringPath path, String value) {
return path.eq(value.toUpperCase());
}
});
bindings.bind(user.lastname).first(new SingleValueBinding<StringPath, String>() {
@Override
public Predicate bind(StringPath path, String value) {
return path.toLowerCase().eq(value);
}
});
bindings.bind(user.firstname).firstOptional((path, value) -> value.map(it -> path.eq(it.toUpperCase())));
bindings.bind(user.lastname).first((path, value) -> Optional.of(path.toLowerCase().eq(value)));
bindings.excluding(user.address);
}
@@ -267,14 +253,7 @@ public class QuerydslPredicateArgumentResolverUnitTests {
@Override
public void customize(QuerydslBindings bindings, QUser user) {
bindings.bind(QUser.user.firstname).first(new SingleValueBinding<StringPath, String>() {
@Override
public Predicate bind(StringPath path, String value) {
return path.contains(value);
}
});
bindings.bind(QUser.user.firstname).first((path, value) -> Optional.of(path.contains(value)));
}
}
}