#360 - Improved test cases for TypeConstrainedHttpMessageConverter.
This commit is contained in:
@@ -17,13 +17,12 @@ package org.springframework.hateoas.mvc;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.springframework.http.MediaType.*;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.hateoas.Resource;
|
||||
import org.springframework.hateoas.ResourceSupport;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.converter.GenericHttpMessageConverter;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link TypeConstrainedMappingJackson2HttpMessageConverter}.
|
||||
@@ -41,42 +40,42 @@ public class TypeConstrainedMappingJackson2HttpMessageConverterUnitTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see #219
|
||||
* @see #219, #360
|
||||
*/
|
||||
@Test
|
||||
public void canReadTypeIfAssignableToConfiguredType() {
|
||||
|
||||
HttpMessageConverter<Object> converter = new TypeConstrainedMappingJackson2HttpMessageConverter(
|
||||
GenericHttpMessageConverter<Object> converter = new TypeConstrainedMappingJackson2HttpMessageConverter(
|
||||
ResourceSupport.class);
|
||||
|
||||
assertThat(converter.canRead(Object.class, MediaType.APPLICATION_JSON), is(false));
|
||||
assertThat(converter.canRead(ResourceSupport.class, MediaType.APPLICATION_JSON), is(true));
|
||||
assertThat(converter.canRead(Resource.class, MediaType.APPLICATION_JSON), is(true));
|
||||
assertCanRead(converter, Object.class, false);
|
||||
assertCanRead(converter, ResourceSupport.class, true);
|
||||
assertCanRead(converter, Resource.class, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see #219
|
||||
* @see #219, #360
|
||||
*/
|
||||
@Test
|
||||
public void canWriteTypeIfAssignableToConfiguredType() {
|
||||
|
||||
HttpMessageConverter<Object> converter = new TypeConstrainedMappingJackson2HttpMessageConverter(
|
||||
ResourceSupport.class);
|
||||
|
||||
assertThat(converter.canWrite(Object.class, MediaType.APPLICATION_JSON), is(false));
|
||||
assertThat(converter.canWrite(ResourceSupport.class, MediaType.APPLICATION_JSON), is(true));
|
||||
assertThat(converter.canWrite(Resource.class, MediaType.APPLICATION_JSON), is(true));
|
||||
}
|
||||
|
||||
/**
|
||||
* @see #360
|
||||
*/
|
||||
@Test
|
||||
public void doesNotSupportAnythingButTheConfiguredClassForCanReadWithContextClass() {
|
||||
|
||||
GenericHttpMessageConverter<Object> converter = new TypeConstrainedMappingJackson2HttpMessageConverter(
|
||||
ResourceSupport.class);
|
||||
|
||||
assertThat(converter.canRead(String.class, Object.class, MediaType.APPLICATION_JSON), is(false));
|
||||
assertCanWrite(converter, Object.class, false);
|
||||
assertCanWrite(converter, ResourceSupport.class, true);
|
||||
assertCanWrite(converter, Resource.class, true);
|
||||
}
|
||||
|
||||
private static void assertCanRead(GenericHttpMessageConverter<Object> converter, Class<?> type, boolean expected) {
|
||||
|
||||
assertThat(converter.canRead(type, APPLICATION_JSON), is(expected));
|
||||
assertThat(converter.canRead(type, type, APPLICATION_JSON), is(expected));
|
||||
}
|
||||
|
||||
private static void assertCanWrite(GenericHttpMessageConverter<Object> converter, Class<?> type, boolean expected) {
|
||||
|
||||
assertThat(converter.canWrite(type, APPLICATION_JSON), is(expected));
|
||||
assertThat(converter.canWrite(type, type, APPLICATION_JSON), is(expected));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user