1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.validator;
18
19 import java.io.IOException;
20
21 import org.xml.sax.SAXException;
22
23
24
25
26
27
28 public class MultipleTest extends AbstractCommonTest {
29
30
31
32
33
34 protected static String FORM_KEY = "nameForm";
35
36
37
38
39 protected static String ACTION = "required";
40
41
42
43 public MultipleTest(String name) {
44 super(name);
45 }
46
47
48
49
50
51 @Override
52 protected void setUp() throws IOException, SAXException {
53
54 loadResources("MultipleTests-config.xml");
55 }
56
57 @Override
58 protected void tearDown() {
59 }
60
61
62
63
64 public void testBothBlank() throws ValidatorException {
65
66 NameBean/NameBean.html#NameBean">NameBean name = new NameBean();
67
68
69
70 Validator validator = new Validator(resources, FORM_KEY);
71
72
73 validator.setParameter(Validator.BEAN_PARAM, name);
74
75
76 ValidatorResults results = null;
77
78
79
80
81
82 results = validator.validate();
83
84 assertNotNull("Results are null.", results);
85
86 ValidatorResult firstNameResult = results.getValidatorResult("firstName");
87 ValidatorResult lastNameResult = results.getValidatorResult("lastName");
88
89 assertNotNull("First Name ValidatorResult should not be null.", firstNameResult);
90 assertTrue("First Name ValidatorResult should contain the '" + ACTION +"' action.", firstNameResult.containsAction(ACTION));
91 assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have failed.", !firstNameResult.isValid(ACTION));
92
93 assertNotNull("Last Name ValidatorResult should not be null.", lastNameResult);
94 assertTrue("Last Name ValidatorResult should contain the '" + ACTION +"' action.", lastNameResult.containsAction(ACTION));
95 assertTrue("Last Name ValidatorResult for the '" + ACTION +"' action should have failed.", !lastNameResult.isValid(ACTION));
96 assertTrue("Last Name ValidatorResults should not contain the 'int' action.", !lastNameResult.containsAction("int"));
97 }
98
99
100
101
102 public void testRequiredFirstNameBlankLastNameShort() throws ValidatorException {
103
104 NameBean/NameBean.html#NameBean">NameBean name = new NameBean();
105 name.setFirstName("");
106 name.setLastName("Test");
107
108
109
110 Validator validator = new Validator(resources, FORM_KEY);
111
112
113 validator.setParameter(Validator.BEAN_PARAM, name);
114
115
116 ValidatorResults results = null;
117
118 results = validator.validate();
119
120 assertNotNull("Results are null.", results);
121
122 ValidatorResult firstNameResult = results.getValidatorResult("firstName");
123 ValidatorResult lastNameResult = results.getValidatorResult("lastName");
124
125 assertNotNull("First Name ValidatorResult should not be null.", firstNameResult);
126 assertTrue("First Name ValidatorResult should contain the '" + ACTION +"' action.", firstNameResult.containsAction(ACTION));
127 assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have failed.", !firstNameResult.isValid(ACTION));
128
129 assertNotNull("Last Name ValidatorResult should not be null.", lastNameResult);
130 assertTrue("Last Name ValidatorResult should contain the 'int' action.", lastNameResult.containsAction("int"));
131 assertTrue("Last Name ValidatorResult for the 'int' action should have failed.", !lastNameResult.isValid("int"));
132 }
133
134
135
136
137 public void testRequiredLastNameShort() throws ValidatorException {
138
139 NameBean/NameBean.html#NameBean">NameBean name = new NameBean();
140 name.setFirstName("Test");
141 name.setLastName("Test");
142
143
144
145 Validator validator = new Validator(resources, FORM_KEY);
146
147
148 validator.setParameter(Validator.BEAN_PARAM, name);
149
150
151 ValidatorResults results = null;
152
153 results = validator.validate();
154
155 assertNotNull("Results are null.", results);
156
157 ValidatorResult firstNameResult = results.getValidatorResult("firstName");
158 ValidatorResult lastNameResult = results.getValidatorResult("lastName");
159
160 assertNotNull("First Name ValidatorResult should not be null.", firstNameResult);
161 assertTrue("First Name ValidatorResult should contain the '" + ACTION +"' action.", firstNameResult.containsAction(ACTION));
162 assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have passed.", firstNameResult.isValid(ACTION));
163
164 assertNotNull("Last Name ValidatorResult should not be null.", lastNameResult);
165 assertTrue("Last Name ValidatorResult should contain the 'int' action.", lastNameResult.containsAction("int"));
166 assertTrue("Last Name ValidatorResult for the 'int' action should have failed.", !lastNameResult.isValid("int"));
167 }
168
169
170
171
172 public void testRequiredLastNameLong() throws ValidatorException {
173
174 NameBean/NameBean.html#NameBean">NameBean name = new NameBean();
175 name.setFirstName("Joe");
176 name.setLastName("12345678");
177
178
179
180 Validator validator = new Validator(resources, FORM_KEY);
181
182
183 validator.setParameter(Validator.BEAN_PARAM, name);
184
185
186 ValidatorResults results = null;
187
188 results = validator.validate();
189
190 assertNotNull("Results are null.", results);
191
192 ValidatorResult firstNameResult = results.getValidatorResult("firstName");
193 ValidatorResult lastNameResult = results.getValidatorResult("lastName");
194
195 assertNotNull("First Name ValidatorResult should not be null.", firstNameResult);
196 assertTrue("First Name ValidatorResult should contain the '" + ACTION +"' action.", firstNameResult.containsAction(ACTION));
197 assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have passed.", firstNameResult.isValid(ACTION));
198
199 assertNotNull("Last Name ValidatorResult should not be null.", lastNameResult);
200 assertTrue("Last Name ValidatorResult should contain the 'int' action.", lastNameResult.containsAction("int"));
201 assertTrue("Last Name ValidatorResult for the 'int' action should have passed.", lastNameResult.isValid("int"));
202 }
203
204
205
206
207
208
209
210 public void testFailingFirstDependentValidator() throws ValidatorException {
211
212 NameBean/NameBean.html#NameBean">NameBean name = new NameBean();
213
214
215
216 Validator validator = new Validator(resources, FORM_KEY);
217
218
219 validator.setParameter(Validator.BEAN_PARAM, name);
220
221
222 ValidatorResults results = null;
223
224 results = validator.validate();
225
226 assertNotNull("Results are null.", results);
227
228 ValidatorResult middleNameResult = results.getValidatorResult("middleName");
229
230 assertNotNull("Middle Name ValidatorResult should not be null.", middleNameResult);
231
232 assertTrue("Middle Name ValidatorResult should contain the 'required' action.", middleNameResult.containsAction("required"));
233 assertTrue("Middle Name ValidatorResult for the 'required' action should have failed", !middleNameResult.isValid("required"));
234
235 assertTrue("Middle Name ValidatorResult should not contain the 'int' action.", !middleNameResult.containsAction("int"));
236
237 assertTrue("Middle Name ValidatorResult should not contain the 'positive' action.", !middleNameResult.containsAction("positive"));
238 }
239
240
241
242
243
244
245
246
247 public void testFailingNextDependentValidator() throws ValidatorException {
248
249 NameBean/NameBean.html#NameBean">NameBean name = new NameBean();
250 name.setMiddleName("TEST");
251
252
253
254 Validator validator = new Validator(resources, FORM_KEY);
255
256
257 validator.setParameter(Validator.BEAN_PARAM, name);
258
259
260 ValidatorResults results = null;
261
262 results = validator.validate();
263
264 assertNotNull("Results are null.", results);
265
266 ValidatorResult middleNameResult = results.getValidatorResult("middleName");
267
268 assertNotNull("Middle Name ValidatorResult should not be null.", middleNameResult);
269
270 assertTrue("Middle Name ValidatorResult should contain the 'required' action.", middleNameResult.containsAction("required"));
271 assertTrue("Middle Name ValidatorResult for the 'required' action should have passed", middleNameResult.isValid("required"));
272
273 assertTrue("Middle Name ValidatorResult should contain the 'int' action.", middleNameResult.containsAction("int"));
274 assertTrue("Middle Name ValidatorResult for the 'int' action should have failed", !middleNameResult.isValid("int"));
275
276 assertTrue("Middle Name ValidatorResult should not contain the 'positive' action.", !middleNameResult.containsAction("positive"));
277 }
278
279
280
281
282
283
284
285 public void testPassingDependentsFailingMain() throws ValidatorException {
286
287 NameBean/NameBean.html#NameBean">NameBean name = new NameBean();
288 name.setMiddleName("-2534");
289
290
291
292 Validator validator = new Validator(resources, FORM_KEY);
293
294
295 validator.setParameter(Validator.BEAN_PARAM, name);
296
297
298 ValidatorResults results = null;
299
300 results = validator.validate();
301
302 assertNotNull("Results are null.", results);
303
304 ValidatorResult middleNameResult = results.getValidatorResult("middleName");
305
306 assertNotNull("Middle Name ValidatorResult should not be null.", middleNameResult);
307
308 assertTrue("Middle Name ValidatorResult should contain the 'required' action.", middleNameResult.containsAction("required"));
309 assertTrue("Middle Name ValidatorResult for the 'required' action should have passed", middleNameResult.isValid("required"));
310
311 assertTrue("Middle Name ValidatorResult should contain the 'int' action.", middleNameResult.containsAction("int"));
312 assertTrue("Middle Name ValidatorResult for the 'int' action should have passed", middleNameResult.isValid("int"));
313
314 assertTrue("Middle Name ValidatorResult should contain the 'positive' action.", middleNameResult.containsAction("positive"));
315 assertTrue("Middle Name ValidatorResult for the 'positive' action should have failed", !middleNameResult.isValid("positive"));
316 }
317
318
319
320
321
322
323
324 public void testPassingDependentsPassingMain() throws ValidatorException {
325
326 NameBean/NameBean.html#NameBean">NameBean name = new NameBean();
327 name.setMiddleName("2534");
328
329
330
331 Validator validator = new Validator(resources, FORM_KEY);
332
333
334 validator.setParameter(Validator.BEAN_PARAM, name);
335
336
337 ValidatorResults results = null;
338
339 results = validator.validate();
340
341 assertNotNull("Results are null.", results);
342
343 ValidatorResult middleNameResult = results.getValidatorResult("middleName");
344
345 assertNotNull("Middle Name ValidatorResult should not be null.", middleNameResult);
346
347 assertTrue("Middle Name ValidatorResult should contain the 'required' action.", middleNameResult.containsAction("required"));
348 assertTrue("Middle Name ValidatorResult for the 'required' action should have passed", middleNameResult.isValid("required"));
349
350 assertTrue("Middle Name ValidatorResult should contain the 'int' action.", middleNameResult.containsAction("int"));
351 assertTrue("Middle Name ValidatorResult for the 'int' action should have passed", middleNameResult.isValid("int"));
352
353 assertTrue("Middle Name ValidatorResult should contain the 'positive' action.", middleNameResult.containsAction("positive"));
354 assertTrue("Middle Name ValidatorResult for the 'positive' action should have passed", middleNameResult.isValid("positive"));
355 }
356 }