1 20 21 package org.apache.directory.ldapstudio.dsmlv2.addRequest; 22 23 24 import javax.naming.NamingEnumeration ; 25 import javax.naming.NamingException ; 26 import javax.naming.directory.Attribute ; 27 import javax.naming.directory.Attributes ; 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 42 public class AddRequestTest extends AbstractTest 43 { 44 47 public void testRequestWithoutDn() 48 { 49 testParsingFail( AddRequestTest.class, "request_without_dn_attribute.xml" ); 50 } 51 52 53 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 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 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 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 106 public void testRequestWithRequestIdEquals0() 107 { 108 testParsingFail( AddRequestTest.class, "request_with_requestID_equals_0.xml" ); 109 } 110 111 112 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 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 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 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 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 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 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 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 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 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 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 e ) 279 { 280 fail( e.getMessage() ); 281 } 282 283 AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest(); 284 285 Attributes attributes = addRequest.getAttributes(); 286 287 assertEquals( 1, attributes.size() ); 288 289 NamingEnumeration ne = attributes.getAll(); 291 292 Attribute attribute = null; 293 try 294 { 295 attribute = ( Attribute ) ne.next(); 296 } 297 catch ( NamingException e ) 298 { 299 fail( e.getMessage() ); 300 } 301 302 assertEquals( "objectclass", attribute.getID() ); 303 304 NamingEnumeration ne2 = null; 306 try 307 { 308 ne2 = attribute.getAll(); 309 } 310 catch ( NamingException e ) 311 { 312 fail( e.getMessage() ); 313 } 314 315 assertFalse( ne2.hasMoreElements() ); 316 } 317 318 319 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 e ) 334 { 335 fail( e.getMessage() ); 336 } 337 338 AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest(); 339 340 Attributes attributes = addRequest.getAttributes(); 341 342 assertEquals( 1, attributes.size() ); 343 344 NamingEnumeration ne = attributes.getAll(); 346 347 Attribute attribute = null; 348 try 349 { 350 attribute = ( Attribute ) ne.next(); 351 } 352 catch ( NamingException e ) 353 { 354 fail( e.getMessage() ); 355 } 356 357 assertEquals( "objectclass", attribute.getID() ); 358 359 NamingEnumeration ne2 = null; 361 try 362 { 363 ne2 = attribute.getAll(); 364 } 365 catch ( NamingException e ) 366 { 367 fail( e.getMessage() ); 368 } 369 370 assertFalse( ne2.hasMoreElements() ); 371 } 372 373 374 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 e ) 389 { 390 fail( e.getMessage() ); 391 } 392 393 AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest(); 394 395 Attributes attributes = addRequest.getAttributes(); 396 397 assertEquals( 1, attributes.size() ); 398 399 NamingEnumeration ne = attributes.getAll(); 401 402 Attribute attribute = null; 403 try 404 { 405 attribute = ( Attribute ) ne.next(); 406 } 407 catch ( NamingException e ) 408 { 409 fail( e.getMessage() ); 410 } 411 412 assertEquals( "objectclass", attribute.getID() ); 413 414 NamingEnumeration ne2 = null; 416 try 417 { 418 ne2 = attribute.getAll(); 419 } 420 catch ( NamingException e ) 421 { 422 fail( e.getMessage() ); 423 } 424 425 String value = null; 426 try 427 { 428 value = ( String ) ne2.next(); 429 } 430 catch ( NamingException e ) 431 { 432 fail( e.getMessage() ); 433 } 434 435 assertEquals( "top", value ); 436 } 437 438 439 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 e ) 455 { 456 fail( e.getMessage() ); 457 } 458 459 AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest(); 460 461 Attributes attributes = addRequest.getAttributes(); 462 463 assertEquals( 1, attributes.size() ); 464 465 NamingEnumeration ne = attributes.getAll(); 467 468 Attribute attribute = null; 469 try 470 { 471 attribute = ( Attribute ) ne.next(); 472 } 473 catch ( NamingException e ) 474 { 475 fail( e.getMessage() ); 476 } 477 478 assertEquals( "objectclass", attribute.getID() ); 479 480 NamingEnumeration ne2 = null; 482 try 483 { 484 ne2 = attribute.getAll(); 485 } 486 catch ( NamingException e ) 487 { 488 fail( e.getMessage() ); 489 } 490 491 Object value = null; 492 try 493 { 494 value = ne2.next(); 495 } 496 catch ( NamingException e ) 497 { 498 fail( e.getMessage() ); 499 } 500 501 assertEquals( "DSMLv2.0 rocks!!", new String ( ( byte[] ) value ) ); 502 } 503 504 505 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 e ) 520 { 521 fail( e.getMessage() ); 522 } 523 524 AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest(); 525 526 Attributes attributes = addRequest.getAttributes(); 527 528 assertEquals( 1, attributes.size() ); 529 530 NamingEnumeration ne = attributes.getAll(); 532 533 Attribute attribute = null; 534 try 535 { 536 attribute = ( Attribute ) ne.next(); 537 } 538 catch ( NamingException e ) 539 { 540 fail( e.getMessage() ); 541 } 542 543 assertEquals( "objectclass", attribute.getID() ); 544 545 NamingEnumeration ne2 = null; 547 try 548 { 549 ne2 = attribute.getAll(); 550 } 551 catch ( NamingException e ) 552 { 553 fail( e.getMessage() ); 554 } 555 556 String value = null; 557 try 558 { 559 value = ( String ) ne2.next(); 560 } 561 catch ( NamingException e ) 562 { 563 fail( e.getMessage() ); 564 } 565 566 assertEquals( "top", value ); 567 568 try 569 { 570 value = ( String ) ne2.next(); 571 } 572 catch ( NamingException e ) 573 { 574 fail( e.getMessage() ); 575 } 576 577 assertEquals( "person", value ); 578 } 579 580 581 584 public void testRequestWith1AttrWithoutNameAttribute() 585 { 586 testParsingFail( AddRequestTest.class, "request_with_1_attr_without_name_attribute.xml" ); 587 } 588 589 590 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 e ) 605 { 606 fail( e.getMessage() ); 607 } 608 609 AddRequest addRequest = ( AddRequest ) parser.getBatchRequest().getCurrentRequest(); 610 611 Attributes attributes = addRequest.getAttributes(); 612 613 assertEquals( 1, attributes.size() ); 614 615 NamingEnumeration ne = attributes.getAll(); 617 618 Attribute attribute = null; 619 try 620 { 621 attribute = ( Attribute ) ne.next(); 622 } 623 catch ( NamingException e ) 624 { 625 fail( e.getMessage() ); 626 } 627 628 assertEquals( "objectclass", attribute.getID() ); 629 630 NamingEnumeration ne2 = null; 632 try 633 { 634 ne2 = attribute.getAll(); 635 } 636 catch ( NamingException e ) 637 { 638 fail( e.getMessage() ); 639 } 640 641 String value = null; 642 try 643 { 644 value = ( String ) ne2.next(); 645 } 646 catch ( NamingException e ) 647 { 648 fail( e.getMessage() ); 649 } 650 651 assertEquals( "top", value ); 652 653 try 654 { 655 value = ( String ) ne2.next(); 656 } 657 catch ( NamingException e ) 658 { 659 fail( e.getMessage() ); 660 } 661 662 assertEquals( "person", value ); 663 } 664 665 666 671 public void testRequestWithNeededRequestId() 672 { 673 testParsingFail( AddRequestTest.class, "request_with_needed_requestID.xml" ); 674 } 675 } 676 | Popular Tags |