1 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 37 public class ModifyDNRequestTest extends AbstractTest 38 { 39 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 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 68 public void testRequestWithRequestIdEquals0() 69 { 70 testParsingFail( ModifyDNRequestTest.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( ModifyDNRequestTest.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 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 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 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 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 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 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 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 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 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 225 public void testRequestWithoutDnAttribute() 226 { 227 testParsingFail( ModifyDNRequestTest.class, "request_without_dn_attribute.xml" ); 228 } 229 230 231 234 public void testRequestWithoutNewRdnAttribute() 235 { 236 testParsingFail( ModifyDNRequestTest.class, "request_without_newrdn_attribute.xml" ); 237 } 238 239 240 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 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 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 e ) 284 { 285 fail( e.getMessage() ); 286 } 287 288 ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest(); 289 290 assertTrue( modifyDNRequest.isDeleteOldRDN() ); 291 } 292 293 294 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 e ) 309 { 310 fail( e.getMessage() ); 311 } 312 313 ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest(); 314 315 assertTrue( modifyDNRequest.isDeleteOldRDN() ); 316 } 317 318 319 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 e ) 335 { 336 fail( e.getMessage() ); 337 } 338 339 ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest(); 340 341 assertFalse( modifyDNRequest.isDeleteOldRDN() ); 342 } 343 344 345 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 e ) 360 { 361 fail( e.getMessage() ); 362 } 363 364 ModifyDNRequest modifyDNRequest = ( ModifyDNRequest ) parser.getBatchRequest().getCurrentRequest(); 365 366 assertFalse( modifyDNRequest.isDeleteOldRDN() ); 367 } 368 369 370 373 public void testRequestWithDeleteOldRdnError() 374 { 375 testParsingFail( ModifyDNRequestTest.class, "request_with_deleteoldrdn_error.xml" ); 376 } 377 378 379 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 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 410 public void testRequestWithNeededRequestId() 411 { 412 testParsingFail( ModifyDNRequestTest.class, "request_with_needed_requestID.xml" ); 413 } 414 } 415 | Popular Tags |