KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > directory > ldapstudio > dsmlv2 > compareRequest > CompareRequestTest


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  *
19  */

20
21 package org.apache.directory.ldapstudio.dsmlv2.compareRequest;
22
23
24 import org.apache.directory.ldapstudio.dsmlv2.AbstractTest;
25 import org.apache.directory.ldapstudio.dsmlv2.Dsmlv2Parser;
26 import org.apache.directory.shared.ldap.codec.Control;
27 import org.apache.directory.shared.ldap.codec.compare.CompareRequest;
28 import org.apache.directory.shared.ldap.util.StringTools;
29
30
31 /**
32  * Tests for the Compare Request parsing
33  *
34  * @author <a HREF="mailto:dev@directory.apache.org">Apache Directory Project</a>
35  * @version $Rev$, $Date$
36  */

37 public class CompareRequestTest extends AbstractTest
38 {
39     /**
40      * Test parsing of a request without the dn attribute
41      */

42     public void testRequestWithoutDn()
43     {
44         testParsingFail( CompareRequestTest.class, "request_without_dn_attribute.xml" );
45     }
46
47
48     /**
49      * Test parsing of a request with the dn attribute
50      */

51     public void testRequestWithDn()
52     {
53         Dsmlv2Parser parser = null;
54         try
55         {
56             parser = new Dsmlv2Parser();
57
58             parser.setInputFile( CompareRequestTest.class.getResource( "request_with_dn_attribute.xml" ).getFile() );
59
60             parser.parse();
61         }
62         catch ( Exception JavaDoc e )
63         {
64             fail( e.getMessage() );
65         }
66
67         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
68
69         assertEquals( "cn=Bob Rush,ou=Dev,dc=Example,dc=COM", compareRequest.getEntry().toString() );
70     }
71
72
73     /**
74      * Test parsing of a request with the (optional) requestID attribute
75      */

76     public void testRequestWithRequestId()
77     {
78         Dsmlv2Parser parser = null;
79         try
80         {
81             parser = new Dsmlv2Parser();
82
83             parser.setInputFile( CompareRequestTest.class.getResource( "request_with_requestID_attribute.xml" )
84                 .getFile() );
85
86             parser.parse();
87         }
88         catch ( Exception JavaDoc e )
89         {
90             fail( e.getMessage() );
91         }
92
93         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
94
95         assertEquals( 456, compareRequest.getMessageId() );
96     }
97
98
99     /**
100      * Test parsing of a request with the (optional) requestID attribute equals to 0
101      */

102     public void testRequestWithRequestIdEquals0()
103     {
104         testParsingFail( CompareRequestTest.class, "request_with_requestID_equals_0.xml" );
105     }
106
107
108     /**
109      * Test parsing of a request with a (optional) Control element
110      */

111     public void testRequestWith1Control()
112     {
113         Dsmlv2Parser parser = null;
114         try
115         {
116             parser = new Dsmlv2Parser();
117
118             parser.setInputFile( CompareRequestTest.class.getResource( "request_with_1_control.xml" ).getFile() );
119
120             parser.parse();
121         }
122         catch ( Exception JavaDoc e )
123         {
124             fail( e.getMessage() );
125         }
126
127         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
128
129         assertEquals( 1, compareRequest.getControls().size() );
130
131         Control control = compareRequest.getCurrentControl();
132
133         assertTrue( control.getCriticality() );
134
135         assertEquals( "1.2.840.113556.1.4.643", control.getControlType() );
136
137         assertEquals( "Some text", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) );
138     }
139
140
141     /**
142      * Test parsing of a request with a (optional) Control element with Base64 value
143      */

144     public void testRequestWith1ControlBase64Value()
145     {
146         Dsmlv2Parser parser = null;
147         try
148         {
149             parser = new Dsmlv2Parser();
150
151             parser.setInputFile( CompareRequestTest.class.getResource( "request_with_1_control.xml" ).getFile() );
152
153             parser.parse();
154         }
155         catch ( Exception JavaDoc e )
156         {
157             fail( e.getMessage() );
158         }
159
160         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
161
162         assertEquals( 1, compareRequest.getControls().size() );
163
164         Control control = compareRequest.getCurrentControl();
165
166         assertTrue( control.getCriticality() );
167
168         assertEquals( "1.2.840.113556.1.4.643", control.getControlType() );
169
170         assertEquals( "Some text", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) );
171     }
172
173
174     /**
175      * Test parsing of a request with a (optional) Control element with empty value
176      */

177     public void testRequestWith1ControlEmptyValue()
178     {
179         Dsmlv2Parser parser = null;
180         try
181         {
182             parser = new Dsmlv2Parser();
183
184             parser.setInputFile( CompareRequestTest.class.getResource( "request_with_1_control_empty_value.xml" )
185                 .getFile() );
186
187             parser.parse();
188         }
189         catch ( Exception JavaDoc e )
190         {
191             fail( e.getMessage() );
192         }
193
194         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
195
196         assertEquals( 1, compareRequest.getControls().size() );
197
198         Control control = compareRequest.getCurrentControl();
199
200         assertTrue( control.getCriticality() );
201
202         assertEquals( "1.2.840.113556.1.4.643", control.getControlType() );
203
204         assertEquals( StringTools.EMPTY_BYTES, control.getControlValue() );
205     }
206
207
208     /**
209      * Test parsing of a request with 2 (optional) Control elements
210      */

211     public void testRequestWith2Controls()
212     {
213         Dsmlv2Parser parser = null;
214         try
215         {
216             parser = new Dsmlv2Parser();
217
218             parser.setInputFile( CompareRequestTest.class.getResource( "request_with_2_controls.xml" ).getFile() );
219
220             parser.parse();
221         }
222         catch ( Exception JavaDoc e )
223         {
224             fail( e.getMessage() );
225         }
226
227         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
228
229         assertEquals( 2, compareRequest.getControls().size() );
230
231         Control control = compareRequest.getCurrentControl();
232
233         assertFalse( control.getCriticality() );
234
235         assertEquals( "1.2.840.113556.1.4.789", control.getControlType() );
236
237         assertEquals( "Some other text", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) );
238     }
239
240
241     /**
242      * Test parsing of a request with 3 (optional) Control elements without value
243      */

244     public void testRequestWith3ControlsWithoutValue()
245     {
246         Dsmlv2Parser parser = null;
247         try
248         {
249             parser = new Dsmlv2Parser();
250
251             parser.setInputFile( CompareRequestTest.class.getResource( "request_with_3_controls_without_value.xml" )
252                 .getFile() );
253
254             parser.parse();
255         }
256         catch ( Exception JavaDoc e )
257         {
258             fail( e.getMessage() );
259         }
260
261         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
262
263         assertEquals( 3, compareRequest.getControls().size() );
264
265         Control control = compareRequest.getCurrentControl();
266
267         assertTrue( control.getCriticality() );
268
269         assertEquals( "1.2.840.113556.1.4.456", control.getControlType() );
270
271         assertEquals( StringTools.EMPTY_BYTES, control.getControlValue() );
272     }
273
274
275     /**
276      * Test parsing of a request with an Attr elements with value
277      */

278     public void testRequestWith1CompleteAssertion()
279     {
280         Dsmlv2Parser parser = null;
281         try
282         {
283             parser = new Dsmlv2Parser();
284
285             parser.setInputFile( CompareRequestTest.class.getResource( "request_with_1_complete_assertion.xml" )
286                 .getFile() );
287
288             parser.parse();
289         }
290         catch ( Exception JavaDoc e )
291         {
292             fail( e.getMessage() );
293         }
294
295         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
296
297         assertEquals( "cn=Bob Rush,ou=Dev,dc=Example,dc=COM", ( String JavaDoc ) compareRequest.getEntry().toString() );
298
299         assertEquals( "sn", ( String JavaDoc ) compareRequest.getAttributeDesc() );
300
301         assertEquals( "Johnson", ( String JavaDoc ) compareRequest.getAssertionValue() );
302     }
303
304
305     /**
306      * Test parsing of a request with a complete assertion with base64 value
307      */

308     public void testRequestWith1CompleteAssertionBase64Value()
309     {
310         Dsmlv2Parser parser = null;
311         try
312         {
313             parser = new Dsmlv2Parser();
314
315             parser.setInputFile( CompareRequestTest.class.getResource(
316                 "request_with_1_complete_assertion_base64_value.xml" ).getFile() );
317
318             parser.parse();
319         }
320         catch ( Exception JavaDoc e )
321         {
322             fail( e.getMessage() );
323         }
324
325         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
326
327         assertEquals( "cn=Bob Rush,ou=Dev,dc=Example,dc=COM", ( String JavaDoc ) compareRequest.getEntry().toString() );
328
329         assertEquals( "sn", ( String JavaDoc ) compareRequest.getAttributeDesc() );
330
331         assertEquals( "DSMLv2.0 rocks!!", new String JavaDoc( ( byte[] ) compareRequest.getAssertionValue() ) );
332     }
333
334
335     /**
336      * Test parsing of a request with an Attr elements with empty value
337      */

338     public void testRequestWith1AssertionEmptyValue()
339     {
340         Dsmlv2Parser parser = null;
341         try
342         {
343             parser = new Dsmlv2Parser();
344
345             parser.setInputFile( CompareRequestTest.class.getResource( "request_with_1_assertion_empty_value.xml" )
346                 .getFile() );
347
348             parser.parse();
349         }
350         catch ( Exception JavaDoc e )
351         {
352             fail( e.getMessage() );
353         }
354
355         CompareRequest compareRequest = ( CompareRequest ) parser.getBatchRequest().getCurrentRequest();
356
357         assertEquals( "cn=Bob Rush,ou=Dev,dc=Example,dc=COM", ( String JavaDoc ) compareRequest.getEntry().toString() );
358
359         assertEquals( "sn", ( String JavaDoc ) compareRequest.getAttributeDesc() );
360
361         assertNull( compareRequest.getAssertionValue() );
362     }
363
364
365     /**
366      * Test parsing of a request without the Assertion element
367      */

368     public void testRequestWithoutAssertion()
369     {
370         testParsingFail( CompareRequestTest.class, "request_without_assertion.xml" );
371     }
372
373
374     /**
375      * Test parsing of a request with 2 complete Assertion element
376      */

377     public void testRequestWith2CompleteAssertions()
378     {
379         testParsingFail( CompareRequestTest.class, "request_with_2_complete_assertions.xml" );
380     }
381
382
383     /**
384      * Test parsing of a request with 1 Assertion element without the name attribute
385      */

386     public void testRequestWith1AssertionWithoutNameAttribute()
387     {
388         testParsingFail( CompareRequestTest.class, "request_with_1_assertion_without_name_attribute.xml" );
389     }
390
391
392     /**
393      * Test parsing of a request with 1 Assertion element without the Value element
394      */

395     public void testRequestWith1AssertionWithoutValue()
396     {
397         testParsingFail( CompareRequestTest.class, "request_with_1_assertion_without_value.xml" );
398     }
399
400
401     /**
402      * Test parsing of a request with 1 Assertion element with 2 Value elements
403      */

404     public void testRequestWith1AssertionWith2Value()
405     {
406         testParsingFail( CompareRequestTest.class, "request_with_1_assertion_with_2_values.xml" );
407     }
408
409
410     /**
411      * Test parsing of a request with a needed requestID attribute
412      *
413      * DIRSTUDIO-1
414      */

415     public void testRequestWithNeededRequestId()
416     {
417         testParsingFail( CompareRequestTest.class, "request_with_needed_requestID.xml" );
418     }
419 }
420
Popular Tags