16
16
17
17
package org .springframework .web .servlet .config ;
18
18
19
- import static org .junit .Assert .assertEquals ;
20
- import static org .junit .Assert .assertFalse ;
21
- import static org .junit .Assert .assertNotNull ;
22
- import static org .junit .Assert .assertNull ;
23
- import static org .junit .Assert .assertTrue ;
24
-
25
19
import java .util .Date ;
26
20
import java .util .Locale ;
27
-
28
21
import javax .validation .Valid ;
29
22
import javax .validation .constraints .NotNull ;
30
23
24
+ import static org .junit .Assert .*;
31
25
import org .junit .Before ;
32
26
import org .junit .Test ;
27
+
33
28
import org .springframework .beans .factory .xml .XmlBeanDefinitionReader ;
34
29
import org .springframework .context .i18n .LocaleContextHolder ;
35
30
import org .springframework .core .convert .ConversionFailedException ;
38
33
import org .springframework .format .annotation .DateTimeFormat ;
39
34
import org .springframework .format .annotation .DateTimeFormat .ISO ;
40
35
import org .springframework .format .support .FormattingConversionServiceFactoryBean ;
36
+ import org .springframework .http .converter .ByteArrayHttpMessageConverter ;
37
+ import org .springframework .http .converter .FormHttpMessageConverter ;
38
+ import org .springframework .http .converter .HttpMessageConverter ;
39
+ import org .springframework .http .converter .StringHttpMessageConverter ;
40
+ import org .springframework .http .converter .json .MappingJacksonHttpMessageConverter ;
41
+ import org .springframework .http .converter .xml .Jaxb2RootElementHttpMessageConverter ;
42
+ import org .springframework .http .converter .xml .SourceHttpMessageConverter ;
41
43
import org .springframework .mock .web .MockHttpServletRequest ;
42
44
import org .springframework .mock .web .MockHttpServletResponse ;
43
45
import org .springframework .mock .web .MockServletContext ;
61
63
62
64
/**
63
65
* @author Keith Donald
66
+ * @author Arjen Poutsma
64
67
*/
65
68
public class MvcNamespaceTests {
66
69
67
- private GenericWebApplicationContext container ;
70
+ private GenericWebApplicationContext appContext ;
68
71
69
72
@ Before
70
73
public void setUp () {
71
- container = new GenericWebApplicationContext ();
72
- container .setServletContext (new MockServletContext ());
74
+ appContext = new GenericWebApplicationContext ();
75
+ appContext .setServletContext (new MockServletContext ());
73
76
LocaleContextHolder .setLocale (Locale .US );
74
77
}
75
78
76
79
@ Test
77
80
public void testDefaultConfig () throws Exception {
78
- XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (container );
81
+ XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (appContext );
79
82
reader .loadBeanDefinitions (new ClassPathResource ("mvc-config.xml" , getClass ()));
80
- assertEquals (4 , container .getBeanDefinitionCount ());
81
- container .refresh ();
83
+ assertEquals (4 , appContext .getBeanDefinitionCount ());
84
+ appContext .refresh ();
82
85
83
- DefaultAnnotationHandlerMapping mapping = container .getBean (DefaultAnnotationHandlerMapping .class );
86
+ DefaultAnnotationHandlerMapping mapping = appContext .getBean (DefaultAnnotationHandlerMapping .class );
84
87
assertNotNull (mapping );
85
88
assertEquals (0 , mapping .getOrder ());
86
89
87
- AnnotationMethodHandlerAdapter adapter = container .getBean (AnnotationMethodHandlerAdapter .class );
90
+ AnnotationMethodHandlerAdapter adapter = appContext .getBean (AnnotationMethodHandlerAdapter .class );
88
91
assertNotNull (adapter );
89
- assertNotNull (container .getBean (FormattingConversionServiceFactoryBean .class ));
90
- assertNotNull (container .getBean (ConversionService .class ));
91
- assertNotNull (container .getBean (LocalValidatorFactoryBean .class ));
92
- assertNotNull (container .getBean (Validator .class ));
92
+
93
+ HttpMessageConverter [] messageConverters = adapter .getMessageConverters ();
94
+ assertNotNull (messageConverters );
95
+ assertEquals (6 , messageConverters .length );
96
+ assertTrue (ByteArrayHttpMessageConverter .class .equals (messageConverters [0 ].getClass ()));
97
+ assertTrue (StringHttpMessageConverter .class .equals (messageConverters [1 ].getClass ()));
98
+ assertTrue (FormHttpMessageConverter .class .equals (messageConverters [2 ].getClass ()));
99
+ assertTrue (SourceHttpMessageConverter .class .equals (messageConverters [3 ].getClass ()));
100
+ assertTrue (Jaxb2RootElementHttpMessageConverter .class .equals (messageConverters [4 ].getClass ()));
101
+ assertTrue (MappingJacksonHttpMessageConverter .class .equals (messageConverters [5 ].getClass ()));
102
+
103
+ assertNotNull (appContext .getBean (FormattingConversionServiceFactoryBean .class ));
104
+ assertNotNull (appContext .getBean (ConversionService .class ));
105
+ assertNotNull (appContext .getBean (LocalValidatorFactoryBean .class ));
106
+ assertNotNull (appContext .getBean (Validator .class ));
93
107
94
108
TestController handler = new TestController ();
95
109
@@ -103,12 +117,12 @@ public void testDefaultConfig() throws Exception {
103
117
104
118
@ Test (expected =ConversionFailedException .class )
105
119
public void testCustomConversionService () throws Exception {
106
- XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (container );
120
+ XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (appContext );
107
121
reader .loadBeanDefinitions (new ClassPathResource ("mvc-config-custom-conversion-service.xml" , getClass ()));
108
- assertEquals (4 , container .getBeanDefinitionCount ());
109
- container .refresh ();
122
+ assertEquals (4 , appContext .getBeanDefinitionCount ());
123
+ appContext .refresh ();
110
124
111
- AnnotationMethodHandlerAdapter adapter = container .getBean (AnnotationMethodHandlerAdapter .class );
125
+ AnnotationMethodHandlerAdapter adapter = appContext .getBean (AnnotationMethodHandlerAdapter .class );
112
126
assertNotNull (adapter );
113
127
114
128
TestController handler = new TestController ();
@@ -122,12 +136,12 @@ public void testCustomConversionService() throws Exception {
122
136
123
137
@ Test
124
138
public void testCustomValidator () throws Exception {
125
- XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (container );
139
+ XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (appContext );
126
140
reader .loadBeanDefinitions (new ClassPathResource ("mvc-config-custom-validator.xml" , getClass ()));
127
- assertEquals (4 , container .getBeanDefinitionCount ());
128
- container .refresh ();
141
+ assertEquals (4 , appContext .getBeanDefinitionCount ());
142
+ appContext .refresh ();
129
143
130
- AnnotationMethodHandlerAdapter adapter = container .getBean (AnnotationMethodHandlerAdapter .class );
144
+ AnnotationMethodHandlerAdapter adapter = appContext .getBean (AnnotationMethodHandlerAdapter .class );
131
145
assertNotNull (adapter );
132
146
133
147
TestController handler = new TestController ();
@@ -138,18 +152,18 @@ public void testCustomValidator() throws Exception {
138
152
MockHttpServletResponse response = new MockHttpServletResponse ();
139
153
adapter .handle (request , response , handler );
140
154
141
- assertTrue (container .getBean (TestValidator .class ).validatorInvoked );
155
+ assertTrue (appContext .getBean (TestValidator .class ).validatorInvoked );
142
156
assertFalse (handler .recordedValidationError );
143
157
}
144
158
145
159
@ Test
146
160
public void testInterceptors () throws Exception {
147
- XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (container );
161
+ XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (appContext );
148
162
reader .loadBeanDefinitions (new ClassPathResource ("mvc-config-interceptors.xml" , getClass ()));
149
- assertEquals (7 , container .getBeanDefinitionCount ());
150
- container .refresh ();
163
+ assertEquals (7 , appContext .getBeanDefinitionCount ());
164
+ appContext .refresh ();
151
165
152
- DefaultAnnotationHandlerMapping mapping = container .getBean (DefaultAnnotationHandlerMapping .class );
166
+ DefaultAnnotationHandlerMapping mapping = appContext .getBean (DefaultAnnotationHandlerMapping .class );
153
167
assertNotNull (mapping );
154
168
mapping .setDefaultHandler (new TestController ());
155
169
@@ -177,12 +191,12 @@ public void testInterceptors() throws Exception {
177
191
178
192
@ Test
179
193
public void testBeanDecoration () throws Exception {
180
- XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (container );
194
+ XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (appContext );
181
195
reader .loadBeanDefinitions (new ClassPathResource ("mvc-config-bean-decoration.xml" , getClass ()));
182
- assertEquals (6 , container .getBeanDefinitionCount ());
183
- container .refresh ();
196
+ assertEquals (6 , appContext .getBeanDefinitionCount ());
197
+ appContext .refresh ();
184
198
185
- DefaultAnnotationHandlerMapping mapping = container .getBean (DefaultAnnotationHandlerMapping .class );
199
+ DefaultAnnotationHandlerMapping mapping = appContext .getBean (DefaultAnnotationHandlerMapping .class );
186
200
assertNotNull (mapping );
187
201
mapping .setDefaultHandler (new TestController ());
188
202
@@ -199,12 +213,12 @@ public void testBeanDecoration() throws Exception {
199
213
200
214
@ Test
201
215
public void testViewControllers () throws Exception {
202
- XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (container );
216
+ XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (appContext );
203
217
reader .loadBeanDefinitions (new ClassPathResource ("mvc-config-view-controllers.xml" , getClass ()));
204
- assertEquals (8 , container .getBeanDefinitionCount ());
205
- container .refresh ();
218
+ assertEquals (8 , appContext .getBeanDefinitionCount ());
219
+ appContext .refresh ();
206
220
207
- DefaultAnnotationHandlerMapping mapping = container .getBean (DefaultAnnotationHandlerMapping .class );
221
+ DefaultAnnotationHandlerMapping mapping = appContext .getBean (DefaultAnnotationHandlerMapping .class );
208
222
assertNotNull (mapping );
209
223
mapping .setDefaultHandler (new TestController ());
210
224
@@ -214,10 +228,10 @@ public void testViewControllers() throws Exception {
214
228
assertEquals (3 , chain .getInterceptors ().length );
215
229
assertTrue (chain .getInterceptors ()[1 ] instanceof LocaleChangeInterceptor );
216
230
217
- SimpleUrlHandlerMapping mapping2 = container .getBean (SimpleUrlHandlerMapping .class );
231
+ SimpleUrlHandlerMapping mapping2 = appContext .getBean (SimpleUrlHandlerMapping .class );
218
232
assertNotNull (mapping2 );
219
233
220
- SimpleControllerHandlerAdapter adapter = container .getBean (SimpleControllerHandlerAdapter .class );
234
+ SimpleControllerHandlerAdapter adapter = appContext .getBean (SimpleControllerHandlerAdapter .class );
221
235
assertNotNull (adapter );
222
236
223
237
request .setRequestURI ("/foo" );
0 commit comments