17
17
package org .springframework .web .servlet .config .annotation ;
18
18
19
19
import java .util .Arrays ;
20
+ import java .util .Collections ;
20
21
import java .util .List ;
21
22
import java .util .Map ;
22
23
23
- import com .fasterxml .jackson .databind .DeserializationFeature ;
24
- import com .fasterxml .jackson .databind .MapperFeature ;
25
24
import com .fasterxml .jackson .databind .ObjectMapper ;
26
25
import org .junit .Before ;
27
26
import org .junit .Test ;
80
79
import org .springframework .web .servlet .view .json .MappingJackson2JsonView ;
81
80
import org .springframework .web .util .UrlPathHelper ;
82
81
83
- import static org .junit .Assert .*;
82
+ import static com .fasterxml .jackson .databind .DeserializationFeature .FAIL_ON_UNKNOWN_PROPERTIES ;
83
+ import static com .fasterxml .jackson .databind .MapperFeature .DEFAULT_VIEW_INCLUSION ;
84
+ import static org .junit .Assert .assertEquals ;
85
+ import static org .junit .Assert .assertFalse ;
86
+ import static org .junit .Assert .assertNotNull ;
87
+ import static org .springframework .http .MediaType .APPLICATION_ATOM_XML ;
88
+ import static org .springframework .http .MediaType .APPLICATION_JSON ;
89
+ import static org .springframework .http .MediaType .APPLICATION_XML ;
84
90
85
91
/**
86
92
* A test fixture with a sub-class of {@link WebMvcConfigurationSupport} that also
@@ -120,6 +126,7 @@ public void handlerMappings() throws Exception {
120
126
assertEquals (TestPathHelper .class , rmHandlerMapping .getUrlPathHelper ().getClass ());
121
127
assertEquals (TestPathMatcher .class , rmHandlerMapping .getPathMatcher ().getClass ());
122
128
HandlerExecutionChain chain = rmHandlerMapping .getHandler (new MockHttpServletRequest ("GET" , "/" ));
129
+ assertNotNull (chain );
123
130
assertNotNull (chain .getInterceptors ());
124
131
assertEquals (3 , chain .getInterceptors ().length );
125
132
assertEquals (LocaleChangeInterceptor .class , chain .getInterceptors ()[0 ].getClass ());
@@ -133,10 +140,13 @@ public void handlerMappings() throws Exception {
133
140
assertEquals (TestPathHelper .class , handlerMapping .getUrlPathHelper ().getClass ());
134
141
assertEquals (TestPathMatcher .class , handlerMapping .getPathMatcher ().getClass ());
135
142
chain = handlerMapping .getHandler (new MockHttpServletRequest ("GET" , "/path" ));
143
+ assertNotNull (chain );
136
144
assertNotNull (chain .getHandler ());
137
145
chain = handlerMapping .getHandler (new MockHttpServletRequest ("GET" , "/bad" ));
146
+ assertNotNull (chain );
138
147
assertNotNull (chain .getHandler ());
139
148
chain = handlerMapping .getHandler (new MockHttpServletRequest ("GET" , "/old" ));
149
+ assertNotNull (chain );
140
150
assertNotNull (chain .getHandler ());
141
151
142
152
handlerMapping = (AbstractHandlerMapping ) this .config .resourceHandlerMapping ();
@@ -146,6 +156,7 @@ public void handlerMappings() throws Exception {
146
156
assertEquals (TestPathHelper .class , handlerMapping .getUrlPathHelper ().getClass ());
147
157
assertEquals (TestPathMatcher .class , handlerMapping .getPathMatcher ().getClass ());
148
158
chain = handlerMapping .getHandler (new MockHttpServletRequest ("GET" , "/resources/foo.gif" ));
159
+ assertNotNull (chain );
149
160
assertNotNull (chain .getHandler ());
150
161
assertEquals (Arrays .toString (chain .getInterceptors ()), 2 , chain .getInterceptors ().length );
151
162
// PathExposingHandlerInterceptor at chain.getInterceptors()[0]
@@ -156,6 +167,7 @@ public void handlerMappings() throws Exception {
156
167
assertNotNull (handlerMapping );
157
168
assertEquals (Integer .MAX_VALUE , handlerMapping .getOrder ());
158
169
chain = handlerMapping .getHandler (new MockHttpServletRequest ("GET" , "/anyPath" ));
170
+ assertNotNull (chain );
159
171
assertNotNull (chain .getHandler ());
160
172
}
161
173
@@ -169,13 +181,14 @@ public void requestMappingHandlerAdapter() throws Exception {
169
181
assertEquals ("converted" , actual );
170
182
171
183
// Message converters
172
- assertEquals (2 , adapter .getMessageConverters ().size ());
173
- assertEquals (StringHttpMessageConverter .class , adapter .getMessageConverters ().get (0 ).getClass ());
174
- assertEquals (MappingJackson2HttpMessageConverter .class , adapter .getMessageConverters ().get (1 ).getClass ());
175
- ObjectMapper objectMapper = ((MappingJackson2HttpMessageConverter )adapter .getMessageConverters ().get (1 )).getObjectMapper ();
176
- assertFalse (objectMapper .getDeserializationConfig ().isEnabled (MapperFeature .DEFAULT_VIEW_INCLUSION ));
177
- assertFalse (objectMapper .getSerializationConfig ().isEnabled (MapperFeature .DEFAULT_VIEW_INCLUSION ));
178
- assertFalse (objectMapper .getDeserializationConfig ().isEnabled (DeserializationFeature .FAIL_ON_UNKNOWN_PROPERTIES ));
184
+ List <HttpMessageConverter <?>> converters = adapter .getMessageConverters ();
185
+ assertEquals (2 , converters .size ());
186
+ assertEquals (StringHttpMessageConverter .class , converters .get (0 ).getClass ());
187
+ assertEquals (MappingJackson2HttpMessageConverter .class , converters .get (1 ).getClass ());
188
+ ObjectMapper objectMapper = ((MappingJackson2HttpMessageConverter ) converters .get (1 )).getObjectMapper ();
189
+ assertFalse (objectMapper .getDeserializationConfig ().isEnabled (DEFAULT_VIEW_INCLUSION ));
190
+ assertFalse (objectMapper .getSerializationConfig ().isEnabled (DEFAULT_VIEW_INCLUSION ));
191
+ assertFalse (objectMapper .getDeserializationConfig ().isEnabled (FAIL_ON_UNKNOWN_PROPERTIES ));
179
192
180
193
DirectFieldAccessor fieldAccessor = new DirectFieldAccessor (adapter );
181
194
@@ -223,21 +236,23 @@ public void contentNegotiation() throws Exception {
223
236
MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/foo.json" );
224
237
NativeWebRequest webRequest = new ServletWebRequest (request );
225
238
226
- ContentNegotiationManager manager = this .config .requestMappingHandlerMapping ().getContentNegotiationManager ();
227
- assertEquals (Arrays .asList (MediaType .APPLICATION_JSON ), manager .resolveMediaTypes (webRequest ));
239
+ RequestMappingHandlerMapping mapping = this .config .requestMappingHandlerMapping ();
240
+ ContentNegotiationManager manager = mapping .getContentNegotiationManager ();
241
+ assertEquals (Collections .singletonList (APPLICATION_JSON ), manager .resolveMediaTypes (webRequest ));
228
242
229
243
request .setRequestURI ("/foo.xml" );
230
- assertEquals (Arrays . asList ( MediaType . APPLICATION_XML ), manager .resolveMediaTypes (webRequest ));
244
+ assertEquals (Collections . singletonList ( APPLICATION_XML ), manager .resolveMediaTypes (webRequest ));
231
245
232
246
request .setRequestURI ("/foo.rss" );
233
- assertEquals (Arrays .asList (MediaType .valueOf ("application/rss+xml" )), manager .resolveMediaTypes (webRequest ));
247
+ assertEquals (Collections .singletonList (MediaType .valueOf ("application/rss+xml" )),
248
+ manager .resolveMediaTypes (webRequest ));
234
249
235
250
request .setRequestURI ("/foo.atom" );
236
- assertEquals (Arrays . asList ( MediaType . APPLICATION_ATOM_XML ), manager .resolveMediaTypes (webRequest ));
251
+ assertEquals (Collections . singletonList ( APPLICATION_ATOM_XML ), manager .resolveMediaTypes (webRequest ));
237
252
238
253
request .setRequestURI ("/foo" );
239
254
request .setParameter ("f" , "json" );
240
- assertEquals (Arrays . asList ( MediaType . APPLICATION_JSON ), manager .resolveMediaTypes (webRequest ));
255
+ assertEquals (Collections . singletonList ( APPLICATION_JSON ), manager .resolveMediaTypes (webRequest ));
241
256
}
242
257
243
258
@ Test
0 commit comments