KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > directory > ldapstudio > dsmlv2 > modDNRequest > ModifyDNRequestTest


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.modDNRequest;
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.modifyDn.ModifyDNRequest;
28 import org.apache.directory.shared.ldap.util.StringTools;
29
30
31 /**
32  * Tests for the Modify DN Request parsing
33  *
34  * @author <a HREF="mailto:dev@directory.apache.org">Apache Directory Project</a>
35  * @version $Rev$, $Date$
36  */

37 public class ModifyDNRequestTest extends AbstractTest
38 {
39     /**
40      * Test parsing of a request with the (optional) requestID attribute
41      */

42     public void testRequestWithRequestId()
43     {
44         Dsmlv2Parser parser = null;
45         try
46         {
47             parser = new Dsmlv2Parser();
48
49             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_requestID_attribute.xml" )
50                 .getFile() );
51
52             parser.parse();
53         }
54         catch ( Exception JavaDoc e )
55         {
56             fail( e.getMessage() );
57         }
58
59         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
60
61         assertEquals( 456, modifyDNRequest.getMessageId() );
62     }
63
64
65     /**
66      * Test parsing of a request with the (optional) requestID attribute equals to 0
67      */

68     public void testRequestWithRequestIdEquals0()
69     {
70         testParsingFail( ModifyDNRequestTest.class, "request_with_requestID_equals_0.xml" );
71     }
72
73
74     /**
75      * Test parsing of a request with a (optional) Control element
76      */

77     public void testRequestWith1Control()
78     {
79         Dsmlv2Parser parser = null;
80         try
81         {
82             parser = new Dsmlv2Parser();
83
84             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_1_control.xml" ).getFile() );
85
86             parser.parse();
87         }
88         catch ( Exception JavaDoc e )
89         {
90             fail( e.getMessage() );
91         }
92
93         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
94         Control control = modifyDNRequest.getCurrentControl();
95
96         assertEquals( 1, modifyDNRequest.getControls().size() );
97         assertTrue( control.getCriticality() );
98         assertEquals( "1.2.840.113556.1.4.643", control.getControlType() );
99         assertEquals( "Some text", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) );
100     }
101
102
103     /**
104      * Test parsing of a request with a (optional) Control element with Base64 Value
105      */

106     public void testRequestWith1ControlBase64Value()
107     {
108         Dsmlv2Parser parser = null;
109         try
110         {
111             parser = new Dsmlv2Parser();
112
113             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_1_control_base64_value.xml" )
114                 .getFile() );
115
116             parser.parse();
117         }
118         catch ( Exception JavaDoc e )
119         {
120             fail( e.getMessage() );
121         }
122
123         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
124         Control control = modifyDNRequest.getCurrentControl();
125
126         assertEquals( 1, modifyDNRequest.getControls().size() );
127         assertTrue( control.getCriticality() );
128         assertEquals( "1.2.840.113556.1.4.643", control.getControlType() );
129         assertEquals( "DSMLv2.0 rocks!!", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) );
130     }
131
132
133     /**
134      * Test parsing of a request with a (optional) Control element with empty value
135      */

136     public void testRequestWith1ControlEmptyValue()
137     {
138         Dsmlv2Parser parser = null;
139         try
140         {
141             parser = new Dsmlv2Parser();
142
143             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_1_control_empty_value.xml" )
144                 .getFile() );
145
146             parser.parse();
147         }
148         catch ( Exception JavaDoc e )
149         {
150             fail( e.getMessage() );
151         }
152
153         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
154         Control control = modifyDNRequest.getCurrentControl();
155
156         assertEquals( 1, modifyDNRequest.getControls().size() );
157         assertTrue( control.getCriticality() );
158         assertEquals( "1.2.840.113556.1.4.643", control.getControlType() );
159         assertEquals( StringTools.EMPTY_BYTES, control.getControlValue() );
160     }
161
162
163     /**
164      * Test parsing of a request with 2 (optional) Control elements
165      */

166     public void testRequestWith2Controls()
167     {
168         Dsmlv2Parser parser = null;
169         try
170         {
171             parser = new Dsmlv2Parser();
172
173             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_2_controls.xml" ).getFile() );
174
175             parser.parse();
176         }
177         catch ( Exception JavaDoc e )
178         {
179             fail( e.getMessage() );
180         }
181
182         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
183         Control control = modifyDNRequest.getCurrentControl();
184
185         assertEquals( 2, modifyDNRequest.getControls().size() );
186         assertFalse( control.getCriticality() );
187         assertEquals( "1.2.840.113556.1.4.789", control.getControlType() );
188         assertEquals( "Some other text", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) );
189     }
190
191
192     /**
193      * Test parsing of a request with 3 (optional) Control elements without value
194      */

195     public void testRequestWith3ControlsWithoutValue()
196     {
197         Dsmlv2Parser parser = null;
198         try
199         {
200             parser = new Dsmlv2Parser();
201
202             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_3_controls_without_value.xml" )
203                 .getFile() );
204
205             parser.parse();
206         }
207         catch ( Exception JavaDoc e )
208         {
209             fail( e.getMessage() );
210         }
211
212         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
213         Control control = modifyDNRequest.getCurrentControl();
214
215         assertEquals( 3, modifyDNRequest.getControls().size() );
216         assertTrue( control.getCriticality() );
217         assertEquals( "1.2.840.113556.1.4.456", control.getControlType() );
218         assertEquals( StringTools.EMPTY_BYTES, control.getControlValue() );
219     }
220
221
222     /**
223      * Test parsing of a request without dn attribute
224      */

225     public void testRequestWithoutDnAttribute()
226     {
227         testParsingFail( ModifyDNRequestTest.class, "request_without_dn_attribute.xml" );
228     }
229
230
231     /**
232      * Test parsing of a request without newrdn attribute
233      */

234     public void testRequestWithoutNewRdnAttribute()
235     {
236         testParsingFail( ModifyDNRequestTest.class, "request_without_newrdn_attribute.xml" );
237     }
238
239
240     /**
241      * Test parsing of a request without dn and newrdn attributes
242      */

243     public void testRequestWithDnAndNewRdnAttributes()
244     {
245         Dsmlv2Parser parser = null;
246         try
247         {
248             parser = new Dsmlv2Parser();
249
250             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_dn_and_newrdn_attributes.xml" )
251                 .getFile() );
252
253             parser.parse();
254         }
255         catch ( Exception JavaDoc e )
256         {
257             fail( e.getMessage() );
258         }
259
260         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
261
262         assertEquals( "cn=Bob Rush,ou=Dev,dc=Example,dc=COM", modifyDNRequest.getEntry().toString() );
263
264         assertEquals( "cn=Steve Jobs", modifyDNRequest.getNewRDN().toString() );
265     }
266
267
268     /**
269      * Test parsing of a request with deleteoldrdn to true
270      */

271     public void testRequestWithDeleteOldRdnTrue()
272     {
273         Dsmlv2Parser parser = null;
274         try
275         {
276             parser = new Dsmlv2Parser();
277
278             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_deleteoldrdn_true.xml" )
279                 .getFile() );
280
281             parser.parse();
282         }
283         catch ( Exception JavaDoc e )
284         {
285             fail( e.getMessage() );
286         }
287
288         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
289
290         assertTrue( modifyDNRequest.isDeleteOldRDN() );
291     }
292
293
294     /**
295      * Test parsing of a request with deleteoldrdn to 1
296      */

297     public void testRequestWithDeleteOldRdn1()
298     {
299         Dsmlv2Parser parser = null;
300         try
301         {
302             parser = new Dsmlv2Parser();
303
304             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_deleteoldrdn_1.xml" ).getFile() );
305
306             parser.parse();
307         }
308         catch ( Exception JavaDoc e )
309         {
310             fail( e.getMessage() );
311         }
312
313         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
314
315         assertTrue( modifyDNRequest.isDeleteOldRDN() );
316     }
317
318
319     /**
320      * Test parsing of a request with deleteoldrdn to false
321      */

322     public void testRequestWithDeleteOldRdnFalse()
323     {
324         Dsmlv2Parser parser = null;
325         try
326         {
327             parser = new Dsmlv2Parser();
328
329             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_deleteoldrdn_false.xml" )
330                 .getFile() );
331
332             parser.parse();
333         }
334         catch ( Exception JavaDoc e )
335         {
336             fail( e.getMessage() );
337         }
338
339         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
340
341         assertFalse( modifyDNRequest.isDeleteOldRDN() );
342     }
343
344
345     /**
346      * Test parsing of a request with deleteoldrdn to 0
347      */

348     public void testRequestWithDeleteOldRdn0()
349     {
350         Dsmlv2Parser parser = null;
351         try
352         {
353             parser = new Dsmlv2Parser();
354
355             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_deleteoldrdn_0.xml" ).getFile() );
356
357             parser.parse();
358         }
359         catch ( Exception JavaDoc e )
360         {
361             fail( e.getMessage() );
362         }
363
364         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
365
366         assertFalse( modifyDNRequest.isDeleteOldRDN() );
367     }
368
369
370     /**
371      * Test parsing of a request with deleteoldrdn to an error value
372      */

373     public void testRequestWithDeleteOldRdnError()
374     {
375         testParsingFail( ModifyDNRequestTest.class, "request_with_deleteoldrdn_error.xml" );
376     }
377
378
379     /**
380      * Test parsing of a request with newSuperior attribute
381      */

382     public void testRequestWithNewSuperior()
383     {
384         Dsmlv2Parser parser = null;
385         try
386         {
387             parser = new Dsmlv2Parser();
388
389             parser.setInputFile( ModifyDNRequestTest.class.getResource( "request_with_newSuperior_attribute.xml" )
390                 .getFile() );
391
392             parser.parse();
393         }
394         catch ( Exception JavaDoc e )
395         {
396             fail( e.getMessage() );
397         }
398
399         ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest();
400
401         assertEquals( "cn=Steve Jobs,ou=Dev,dc=apple,dc=com", modifyDNRequest.getNewSuperior().toString() );
402     }
403
404
405     /**
406      * Test parsing of a request with a needed requestID attribute
407      *
408      * DIRSTUDIO-1
409      */

410     public void testRequestWithNeededRequestId()
411     {
412         testParsingFail( ModifyDNRequestTest.class, "request_with_needed_requestID.xml" );
413     }
414 }
415
Popular Tags