18
18
19
19
import static org .junit .Assert .assertArrayEquals ;
20
20
import static org .junit .Assert .assertEquals ;
21
+ import static org .junit .Assert .assertNotSame ;
21
22
import static org .junit .Assert .assertNull ;
22
23
import static org .junit .Assert .assertSame ;
23
24
@@ -52,7 +53,7 @@ public void setup() {
52
53
filter = new HttpPutFormContentFilter ();
53
54
request = new MockHttpServletRequest ("PUT" , "/" );
54
55
request .addHeader ("Content-Type" , "application/x-www-form-urlencoded; charset=ISO-8859-1" );
55
- request .setContentType ("application/x-www-form-urlencoded" );
56
+ request .setContentType ("application/x-www-form-urlencoded; charset=ISO-8859-1 " );
56
57
response = new MockHttpServletResponse ();
57
58
filterChain = new MockFilterChain ();
58
59
}
@@ -90,20 +91,22 @@ public void getParameter() throws Exception {
90
91
}
91
92
92
93
@ Test
93
- public void queryStringParam () throws Exception {
94
+ public void getParameterFromQueryString () throws Exception {
94
95
request .addParameter ("name" , "value1" );
95
96
request .setContent ("name=value2" .getBytes ("ISO-8859-1" ));
96
97
filter .doFilter (request , response , filterChain );
97
-
98
+
99
+ assertNotSame ("Request not wrapped" , request , filterChain .getRequest ());
98
100
assertEquals ("Query string parameters should be listed ahead of form parameters" ,
99
101
"value1" , filterChain .getRequest ().getParameter ("name" ));
100
102
}
101
103
102
104
@ Test
103
- public void nullParameter () throws Exception {
105
+ public void getParameterNullValue () throws Exception {
104
106
request .setContent ("name=value" .getBytes ("ISO-8859-1" ));
105
107
filter .doFilter (request , response , filterChain );
106
108
109
+ assertNotSame ("Request not wrapped" , request , filterChain .getRequest ());
107
110
assertNull (filterChain .getRequest ().getParameter ("noSuchParam" ));
108
111
}
109
112
@@ -112,9 +115,11 @@ public void getParameterNames() throws Exception {
112
115
request .addParameter ("name1" , "value1" );
113
116
request .addParameter ("name2" , "value2" );
114
117
request .setContent ("name1=value1&name3=value3&name4=value4" .getBytes ("ISO-8859-1" ));
118
+
115
119
filter .doFilter (request , response , filterChain );
116
-
117
120
List <String > names = Collections .list (filterChain .getRequest ().getParameterNames ());
121
+
122
+ assertNotSame ("Request not wrapped" , request , filterChain .getRequest ());
118
123
assertEquals (Arrays .asList ("name1" , "name2" , "name3" , "name4" ), names );
119
124
}
120
125
@@ -123,42 +128,50 @@ public void getParameterValues() throws Exception {
123
128
request .addParameter ("name" , "value1" );
124
129
request .addParameter ("name" , "value2" );
125
130
request .setContent ("name=value3&name=value4" .getBytes ("ISO-8859-1" ));
131
+
126
132
filter .doFilter (request , response , filterChain );
127
-
128
133
String [] values = filterChain .getRequest ().getParameterValues ("name" );
134
+
135
+ assertNotSame ("Request not wrapped" , request , filterChain .getRequest ());
129
136
assertArrayEquals (new String []{"value1" , "value2" , "value3" , "value4" }, values );
130
137
}
131
138
132
139
@ Test
133
- public void getQueryStringParameterValuesOnly () throws Exception {
140
+ public void getParameterValuesFromQueryString () throws Exception {
134
141
request .addParameter ("name" , "value1" );
135
142
request .addParameter ("name" , "value2" );
136
143
request .setContent ("anotherName=anotherValue" .getBytes ("ISO-8859-1" ));
137
- filter .doFilter (request , response , filterChain );
138
144
145
+ filter .doFilter (request , response , filterChain );
139
146
String [] values = filterChain .getRequest ().getParameterValues ("name" );
147
+
148
+ assertNotSame ("Request not wrapped" , request , filterChain .getRequest ());
140
149
assertArrayEquals (new String []{"value1" , "value2" }, values );
141
150
}
142
151
143
152
@ Test
144
- public void getFormParameterValuesOnly () throws Exception {
153
+ public void getParameterValuesFromFormContent () throws Exception {
145
154
request .addParameter ("name" , "value1" );
146
155
request .addParameter ("name" , "value2" );
147
156
request .setContent ("anotherName=anotherValue" .getBytes ("ISO-8859-1" ));
157
+
148
158
filter .doFilter (request , response , filterChain );
149
-
150
159
String [] values = filterChain .getRequest ().getParameterValues ("anotherName" );
160
+
161
+ assertNotSame ("Request not wrapped" , request , filterChain .getRequest ());
151
162
assertArrayEquals (new String []{"anotherValue" }, values );
152
163
}
153
164
154
165
@ Test
155
- public void noParameterValuesOnly () throws Exception {
166
+ public void getParameterValuesInvalidName () throws Exception {
156
167
request .addParameter ("name" , "value1" );
157
168
request .addParameter ("name" , "value2" );
158
169
request .setContent ("anotherName=anotherValue" .getBytes ("ISO-8859-1" ));
170
+
159
171
filter .doFilter (request , response , filterChain );
160
-
161
172
String [] values = filterChain .getRequest ().getParameterValues ("noSuchParameter" );
173
+
174
+ assertNotSame ("Request not wrapped" , request , filterChain .getRequest ());
162
175
assertNull (values );
163
176
}
164
177
@@ -167,9 +180,11 @@ public void getParameterMap() throws Exception {
167
180
request .addParameter ("name" , "value1" );
168
181
request .addParameter ("name" , "value2" );
169
182
request .setContent ("name=value3&name4=value4" .getBytes ("ISO-8859-1" ));
170
- filter .doFilter (request , response , filterChain );
171
183
184
+ filter .doFilter (request , response , filterChain );
172
185
Map <String , String []> parameters = filterChain .getRequest ().getParameterMap ();
186
+
187
+ assertNotSame ("Request not wrapped" , request , filterChain .getRequest ());
173
188
assertEquals (2 , parameters .size ());
174
189
assertArrayEquals (new String [] {"value1" , "value2" , "value3" }, parameters .get ("name" ));
175
190
assertArrayEquals (new String [] {"value4" }, parameters .get ("name4" ));
0 commit comments