KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > directory > ldapstudio > dsmlv2 > addRequest > AddRequestTest


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.addRequest;
22
23
24 import javax.naming.NamingEnumeration JavaDoc;
25 import javax.naming.NamingException JavaDoc;
26 import javax.naming.directory.Attribute JavaDoc;
27 import javax.naming.directory.Attributes JavaDoc;
28
29 import org.apache.directory.ldapstudio.dsmlv2.AbstractTest;
30 import org.apache.directory.ldapstudio.dsmlv2.Dsmlv2Parser;
31 import org.apache.directory.shared.ldap.codec.Control;
32 import org.apache.directory.shared.ldap.codec.add.AddRequest;
33 import org.apache.directory.shared.ldap.util.StringTools;
34
35
36 /**
37  * Tests for the Add Request parsing
38  *
39  * @author <a HREF="mailto:dev@directory.apache.org">Apache Directory Project</a>
40  * @version $Rev$, $Date$
41  */

42 public class AddRequestTest extends AbstractTest
43 {
44     /**
45      * Test parsing of a request without the dn attribute
46      */

47     public void testRequestWithoutDn()
48     {
49         testParsingFail( AddRequestTest.class, "request_without_dn_attribute.xml" );
50     }
51
52
53     /**
54      * Test parsing of a request with the dn attribute
55      */

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

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

106     public void testRequestWithRequestIdEquals0()
107     {
108         testParsingFail( AddRequestTest.class, "request_with_requestID_equals_0.xml" );
109     }
110
111
112     /**
113      * Test parsing of a request with a (optional) Control element
114      */

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

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

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

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

237     public void testRequestWith3ControlsWithoutValue()
238     {
239         Dsmlv2Parser parser = null;
240         try
241         {
242             parser = new Dsmlv2Parser();
243
244             parser.setInputFile( AddRequestTest.class.getResource( "request_with_3_controls_without_value.xml" )
245                 .getFile() );
246
247             parser.parse();
248         }
249         catch ( Exception JavaDoc e )
250         {
251             fail( e.getMessage() );
252         }
253
254         AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest();
255         Control control = addRequest.getCurrentControl();
256
257         assertEquals( 3, addRequest.getControls().size() );
258         assertTrue( control.getCriticality() );
259         assertEquals( "1.2.840.113556.1.4.456", control.getControlType() );
260         assertEquals( StringTools.EMPTY_BYTES, control.getControlValue() );
261     }
262
263
264     /**
265      * Test parsing of a request with an Attr elements with value
266      */

267     public void testRequestWith1AttrWithoutValue()
268     {
269         Dsmlv2Parser parser = null;
270         try
271         {
272             parser = new Dsmlv2Parser();
273
274             parser.setInputFile( AddRequestTest.class.getResource( "request_with_1_attr_without_value.xml" ).getFile() );
275
276             parser.parse();
277         }
278         catch ( Exception JavaDoc e )
279         {
280             fail( e.getMessage() );
281         }
282
283         AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest();
284
285         Attributes JavaDoc attributes = addRequest.getAttributes();
286
287         assertEquals( 1, attributes.size() );
288
289         // Getting the Attribute
290
NamingEnumeration JavaDoc ne = attributes.getAll();
291
292         Attribute JavaDoc attribute = null;
293         try
294         {
295             attribute = ( Attribute JavaDoc ) ne.next();
296         }
297         catch ( NamingException JavaDoc e )
298         {
299             fail( e.getMessage() );
300         }
301
302         assertEquals( "objectclass", attribute.getID() );
303
304         // Getting the Value
305
NamingEnumeration JavaDoc ne2 = null;
306         try
307         {
308             ne2 = attribute.getAll();
309         }
310         catch ( NamingException JavaDoc e )
311         {
312             fail( e.getMessage() );
313         }
314
315         assertFalse( ne2.hasMoreElements() );
316     }
317
318
319     /**
320      * Test parsing of a request with an Attr elements with empty value
321      */

322     public void testRequestWith1AttrEmptyValue()
323     {
324         Dsmlv2Parser parser = null;
325         try
326         {
327             parser = new Dsmlv2Parser();
328
329             parser.setInputFile( AddRequestTest.class.getResource( "request_with_1_attr_empty_value.xml" ).getFile() );
330
331             parser.parse();
332         }
333         catch ( Exception JavaDoc e )
334         {
335             fail( e.getMessage() );
336         }
337
338         AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest();
339
340         Attributes JavaDoc attributes = addRequest.getAttributes();
341
342         assertEquals( 1, attributes.size() );
343
344         // Getting the Attribute
345
NamingEnumeration JavaDoc ne = attributes.getAll();
346
347         Attribute JavaDoc attribute = null;
348         try
349         {
350             attribute = ( Attribute JavaDoc ) ne.next();
351         }
352         catch ( NamingException JavaDoc e )
353         {
354             fail( e.getMessage() );
355         }
356
357         assertEquals( "objectclass", attribute.getID() );
358
359         // Getting the Value
360
NamingEnumeration JavaDoc ne2 = null;
361         try
362         {
363             ne2 = attribute.getAll();
364         }
365         catch ( NamingException JavaDoc e )
366         {
367             fail( e.getMessage() );
368         }
369
370         assertFalse( ne2.hasMoreElements() );
371     }
372
373
374     /**
375      * Test parsing of a request with an Attr elements with value
376      */

377     public void testRequestWith1AttrWithValue()
378     {
379         Dsmlv2Parser parser = null;
380         try
381         {
382             parser = new Dsmlv2Parser();
383
384             parser.setInputFile( AddRequestTest.class.getResource( "request_with_1_attr_with_value.xml" ).getFile() );
385
386             parser.parse();
387         }
388         catch ( Exception JavaDoc e )
389         {
390             fail( e.getMessage() );
391         }
392
393         AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest();
394
395         Attributes JavaDoc attributes = addRequest.getAttributes();
396
397         assertEquals( 1, attributes.size() );
398
399         // Getting the Attribute
400
NamingEnumeration JavaDoc ne = attributes.getAll();
401
402         Attribute JavaDoc attribute = null;
403         try
404         {
405             attribute = ( Attribute JavaDoc ) ne.next();
406         }
407         catch ( NamingException JavaDoc e )
408         {
409             fail( e.getMessage() );
410         }
411
412         assertEquals( "objectclass", attribute.getID() );
413
414         // Getting the Value
415
NamingEnumeration JavaDoc ne2 = null;
416         try
417         {
418             ne2 = attribute.getAll();
419         }
420         catch ( NamingException JavaDoc e )
421         {
422             fail( e.getMessage() );
423         }
424
425         String JavaDoc value = null;
426         try
427         {
428             value = ( String JavaDoc ) ne2.next();
429         }
430         catch ( NamingException JavaDoc e )
431         {
432             fail( e.getMessage() );
433         }
434
435         assertEquals( "top", value );
436     }
437
438
439     /**
440      * Test parsing of a request with an Attr elements with value
441      */

442     public void testRequestWith1AttrWithBase64Value()
443     {
444         Dsmlv2Parser parser = null;
445         try
446         {
447             parser = new Dsmlv2Parser();
448
449             parser.setInputFile( AddRequestTest.class.getResource( "request_with_1_attr_with_base64_value.xml" )
450                 .getFile() );
451
452             parser.parse();
453         }
454         catch ( Exception JavaDoc e )
455         {
456             fail( e.getMessage() );
457         }
458
459         AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest();
460
461         Attributes JavaDoc attributes = addRequest.getAttributes();
462
463         assertEquals( 1, attributes.size() );
464
465         // Getting the Attribute
466
NamingEnumeration JavaDoc ne = attributes.getAll();
467
468         Attribute JavaDoc attribute = null;
469         try
470         {
471             attribute = ( Attribute JavaDoc ) ne.next();
472         }
473         catch ( NamingException JavaDoc e )
474         {
475             fail( e.getMessage() );
476         }
477
478         assertEquals( "objectclass", attribute.getID() );
479
480         // Getting the Value
481
NamingEnumeration JavaDoc ne2 = null;
482         try
483         {
484             ne2 = attribute.getAll();
485         }
486         catch ( NamingException JavaDoc e )
487         {
488             fail( e.getMessage() );
489         }
490
491         Object JavaDoc value = null;
492         try
493         {
494             value = ne2.next();
495         }
496         catch ( NamingException JavaDoc e )
497         {
498             fail( e.getMessage() );
499         }
500
501         assertEquals( "DSMLv2.0 rocks!!", new String JavaDoc( ( byte[] ) value ) );
502     }
503
504
505     /**
506      * Test parsing of a request with 2 Attr elements with value
507      */

508     public void testRequestWith2AttrWithValue()
509     {
510         Dsmlv2Parser parser = null;
511         try
512         {
513             parser = new Dsmlv2Parser();
514
515             parser.setInputFile( AddRequestTest.class.getResource( "request_with_2_attr_with_value.xml" ).getFile() );
516
517             parser.parse();
518         }
519         catch ( Exception JavaDoc e )
520         {
521             fail( e.getMessage() );
522         }
523
524         AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest();
525
526         Attributes JavaDoc attributes = addRequest.getAttributes();
527
528         assertEquals( 1, attributes.size() );
529
530         // Getting the Attribute
531
NamingEnumeration JavaDoc ne = attributes.getAll();
532
533         Attribute JavaDoc attribute = null;
534         try
535         {
536             attribute = ( Attribute JavaDoc ) ne.next();
537         }
538         catch ( NamingException JavaDoc e )
539         {
540             fail( e.getMessage() );
541         }
542
543         assertEquals( "objectclass", attribute.getID() );
544
545         // Getting the Value
546
NamingEnumeration JavaDoc ne2 = null;
547         try
548         {
549             ne2 = attribute.getAll();
550         }
551         catch ( NamingException JavaDoc e )
552         {
553             fail( e.getMessage() );
554         }
555
556         String JavaDoc value = null;
557         try
558         {
559             value = ( String JavaDoc ) ne2.next();
560         }
561         catch ( NamingException JavaDoc e )
562         {
563             fail( e.getMessage() );
564         }
565
566         assertEquals( "top", value );
567
568         try
569         {
570             value = ( String JavaDoc ) ne2.next();
571         }
572         catch ( NamingException JavaDoc e )
573         {
574             fail( e.getMessage() );
575         }
576
577         assertEquals( "person", value );
578     }
579
580
581     /**
582      * Test parsing of a request with 1 Attr element without attribute value
583      */

584     public void testRequestWith1AttrWithoutNameAttribute()
585     {
586         testParsingFail( AddRequestTest.class, "request_with_1_attr_without_name_attribute.xml" );
587     }
588
589
590     /**
591      * Test parsing of a request with 1 Attr element with 2 Values
592      */

593     public void testRequestWith1AttrWith2Values()
594     {
595         Dsmlv2Parser parser = null;
596         try
597         {
598             parser = new Dsmlv2Parser();
599
600             parser.setInputFile( AddRequestTest.class.getResource( "request_with_1_attr_with_2_values.xml" ).getFile() );
601
602             parser.parse();
603         }
604         catch ( Exception JavaDoc e )
605         {
606             fail( e.getMessage() );
607         }
608
609         AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest();
610
611         Attributes JavaDoc attributes = addRequest.getAttributes();
612
613         assertEquals( 1, attributes.size() );
614
615         // Getting the Attribute
616
NamingEnumeration JavaDoc ne = attributes.getAll();
617
618         Attribute JavaDoc attribute = null;
619         try
620         {
621             attribute = ( Attribute JavaDoc ) ne.next();
622         }
623         catch ( NamingException JavaDoc e )
624         {
625             fail( e.getMessage() );
626         }
627
628         assertEquals( "objectclass", attribute.getID() );
629
630         // Getting the Value
631
NamingEnumeration JavaDoc ne2 = null;
632         try
633         {
634             ne2 = attribute.getAll();
635         }
636         catch ( NamingException JavaDoc e )
637         {
638             fail( e.getMessage() );
639         }
640
641         String JavaDoc value = null;
642         try
643         {
644             value = ( String JavaDoc ) ne2.next();
645         }
646         catch ( NamingException JavaDoc e )
647         {
648             fail( e.getMessage() );
649         }
650
651         assertEquals( "top", value );
652
653         try
654         {
655             value = ( String JavaDoc ) ne2.next();
656         }
657         catch ( NamingException JavaDoc e )
658         {
659             fail( e.getMessage() );
660         }
661
662         assertEquals( "person", value );
663     }
664
665
666     /**
667      * Test parsing of a request with a needed requestID attribute
668      *
669      * DIRSTUDIO-1
670      */

671     public void testRequestWithNeededRequestId()
672     {
673         testParsingFail( AddRequestTest.class, "request_with_needed_requestID.xml" );
674     }
675 }
676
Popular Tags