1 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 37 public class ExtendedRequestTest extends AbstractTest 38 { 39 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 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 68 public void testRequestWithRequestIdEquals0() 69 { 70 testParsingFail( ExtendedRequestTest.class, "request_with_requestID_equals_0.xml" ); 71 } 72 73 74 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 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 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 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 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 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 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 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 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 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 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 e ) 237 { 238 fail( e.getMessage() ); 239 } 240 241 ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest(); 242 243 assertEquals( "foobar", new String ( extendedRequest.getRequestValue() ) ); 244 } 245 246 247 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 e ) 263 { 264 fail( e.getMessage() ); 265 } 266 267 ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest(); 268 269 assertEquals( "DSMLv2.0 rocks!!", new String ( extendedRequest.getRequestValue() ) ); 270 } 271 272 273 276 public void testRequestWith2RequestValue() 277 { 278 testParsingFail( ExtendedRequestTest.class, "request_with_2_requestValue.xml" ); 279 } 280 281 282 285 public void testRequestWith2RequestName() 286 { 287 testParsingFail( ExtendedRequestTest.class, "request_with_2_requestName.xml" ); 288 } 289 290 291 294 public void testRequestWithEmptyRequestName() 295 { 296 testParsingFail( ExtendedRequestTest.class, "request_with_empty_requestName.xml" ); 297 } 298 299 300 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 e ) 316 { 317 fail( e.getMessage() ); 318 } 319 320 ExtendedRequest extendedRequest = ( ExtendedRequest ) parser.getBatchRequest().getCurrentRequest(); 321 assertNull( extendedRequest.getRequestValue() ); 322 } 323 324 325 330 public void testRequestWithNeededRequestId() 331 { 332 testParsingFail( ExtendedRequestTest.class, "request_with_needed_requestID.xml" ); 333 } 334 } 335 | Popular Tags |