KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > directory > ldapstudio > dsmlv2 > extendedRequest > ExtendedRequestTest


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

37 public class ExtendedRequestTest 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( ExtendedRequestTest.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         ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest();
60
61         assertEquals( 456, extendedRequest.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( ExtendedRequestTest.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( ExtendedRequestTest.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         ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest();
94         Control control = extendedRequest.getCurrentControl();
95
96         assertEquals( 1, extendedRequest.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( ExtendedRequestTest.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         ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest();
124         Control control = extendedRequest.getCurrentControl();
125
126         assertEquals( 1, extendedRequest.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( ExtendedRequestTest.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         ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest();
154         Control control = extendedRequest.getCurrentControl();
155
156         assertEquals( 1, extendedRequest.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( ExtendedRequestTest.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         ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest();
183         Control control = extendedRequest.getCurrentControl();
184
185         assertEquals( 2, extendedRequest.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( ExtendedRequestTest.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         ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest();
213         Control control = extendedRequest.getCurrentControl();
214
215         assertEquals( 3, extendedRequest.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 with a RequestValue element
224      */

225     public void testRequestWithRequestValue()
226     {
227         Dsmlv2Parser parser = null;
228         try
229         {
230             parser = new Dsmlv2Parser();
231
232             parser.setInputFile( ExtendedRequestTest.class.getResource( "request_with_requestValue.xml" ).getFile() );
233
234             parser.parse();
235         }
236         catch ( Exception JavaDoc e )
237         {
238             fail( e.getMessage() );
239         }
240
241         ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest();
242
243         assertEquals( "foobar", new String JavaDoc( extendedRequest.getRequestValue() ) );
244     }
245
246
247     /**
248      * Test parsing of a request with a RequestValue element with Base64 value
249      */

250     public void testRequestWithBase64RequestValue()
251     {
252         Dsmlv2Parser parser = null;
253         try
254         {
255             parser = new Dsmlv2Parser();
256
257             parser.setInputFile( ExtendedRequestTest.class.getResource( "request_with_base64_requestValue.xml" )
258                 .getFile() );
259
260             parser.parse();
261         }
262         catch ( Exception JavaDoc e )
263         {
264             fail( e.getMessage() );
265         }
266
267         ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest();
268
269         assertEquals( "DSMLv2.0 rocks!!", new String JavaDoc( extendedRequest.getRequestValue() ) );
270     }
271
272
273     /**
274      * Test parsing of a request with 2 requestValue Elements
275      */

276     public void testRequestWith2RequestValue()
277     {
278         testParsingFail( ExtendedRequestTest.class, "request_with_2_requestValue.xml" );
279     }
280
281
282     /**
283      * Test parsing of a request with 2 requestName Elements
284      */

285     public void testRequestWith2RequestName()
286     {
287         testParsingFail( ExtendedRequestTest.class, "request_with_2_requestName.xml" );
288     }
289
290
291     /**
292      * Test parsing of a request with an empty requestName
293      */

294     public void testRequestWithEmptyRequestName()
295     {
296         testParsingFail( ExtendedRequestTest.class, "request_with_empty_requestName.xml" );
297     }
298
299
300     /**
301      * Test parsing of a request with an empty RequestValue
302      */

303     public void testRequestWithEmptyRequestValue()
304     {
305         Dsmlv2Parser parser = null;
306         try
307         {
308             parser = new Dsmlv2Parser();
309
310             parser.setInputFile( ExtendedRequestTest.class.getResource( "request_with_empty_requestValue.xml" )
311                 .getFile() );
312
313             parser.parse();
314         }
315         catch ( Exception JavaDoc e )
316         {
317             fail( e.getMessage() );
318         }
319
320         ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest();
321         assertNull( extendedRequest.getRequestValue() );
322     }
323
324
325     /**
326      * Test parsing of a request with a needed requestID attribute
327      *
328      * DIRSTUDIO-1
329      */

330     public void testRequestWithNeededRequestId()
331     {
332         testParsingFail( ExtendedRequestTest.class, "request_with_needed_requestID.xml" );
333     }
334 }
335
Popular Tags