1 20 21 package org.apache.directory.ldapstudio.dsmlv2.authRequest; 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.bind.BindRequest; 28 import org.apache.directory.shared.ldap.util.StringTools; 29 30 31 37 public class AuthRequestTest extends AbstractTest 38 { 39 42 public void testRequestWithoutPrincipal() 43 { 44 testParsingFail( AuthRequestTest.class, "request_without_principal_attribute.xml" ); 45 } 46 47 48 51 public void testRequestWithPrincipal() 52 { 53 Dsmlv2Parser parser = null; 54 try 55 { 56 parser = new Dsmlv2Parser(); 57 58 parser.setInputFile( AuthRequestTest.class.getResource( "request_with_principal_attribute.xml" ).getFile() ); 59 60 parser.parse(); 61 } 62 catch ( Exception e ) 63 { 64 fail( e.getMessage() ); 65 } 66 67 BindRequest bindRequest = ( BindRequest ) parser.getBatchRequest().getCurrentRequest(); 68 69 assertEquals( "cn=Bob Rush,ou=Dev,dc=Example,dc=COM", bindRequest.getName().toString() ); 70 } 71 72 73 76 public void testRequestWithRequestId() 77 { 78 Dsmlv2Parser parser = null; 79 try 80 { 81 parser = new Dsmlv2Parser(); 82 83 parser.setInputFile( AuthRequestTest.class.getResource( "request_with_requestID_attribute.xml" ).getFile() ); 84 85 parser.parse(); 86 } 87 catch ( Exception e ) 88 { 89 fail( e.getMessage() ); 90 } 91 92 BindRequest abandonRequest = ( BindRequest ) parser.getBatchRequest().getCurrentRequest(); 93 94 assertEquals( 456, abandonRequest.getMessageId() ); 95 } 96 97 98 101 public void testRequestWithRequestIdEquals0() 102 { 103 testParsingFail( AuthRequestTest.class, "request_with_requestID_equals_0.xml" ); 104 } 105 106 107 110 public void testRequestWith1Control() 111 { 112 Dsmlv2Parser parser = null; 113 try 114 { 115 parser = new Dsmlv2Parser(); 116 117 parser.setInputFile( AuthRequestTest.class.getResource( "request_with_1_control.xml" ).getFile() ); 118 119 parser.parse(); 120 } 121 catch ( Exception e ) 122 { 123 fail( e.getMessage() ); 124 } 125 126 BindRequest abandonRequest = ( BindRequest ) parser.getBatchRequest().getCurrentRequest(); 127 Control control = abandonRequest.getCurrentControl(); 128 129 assertEquals( 1, abandonRequest.getControls().size() ); 130 assertTrue( control.getCriticality() ); 131 assertEquals( "1.2.840.113556.1.4.643", control.getControlType() ); 132 assertEquals( "Some text", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) ); 133 } 134 135 136 139 public void testRequestWith1ControlBase64Value() 140 { 141 Dsmlv2Parser parser = null; 142 try 143 { 144 parser = new Dsmlv2Parser(); 145 146 parser.setInputFile( AuthRequestTest.class.getResource( "request_with_1_control_base64_value.xml" ) 147 .getFile() ); 148 149 parser.parse(); 150 } 151 catch ( Exception e ) 152 { 153 fail( e.getMessage() ); 154 } 155 156 BindRequest abandonRequest = ( BindRequest ) parser.getBatchRequest().getCurrentRequest(); 157 Control control = abandonRequest.getCurrentControl(); 158 159 assertEquals( 1, abandonRequest.getControls().size() ); 160 assertTrue( control.getCriticality() ); 161 assertEquals( "1.2.840.113556.1.4.643", control.getControlType() ); 162 assertEquals( "DSMLv2.0 rocks!!", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) ); 163 } 164 165 166 169 public void testRequestWith1ControlEmptyValue() 170 { 171 Dsmlv2Parser parser = null; 172 try 173 { 174 parser = new Dsmlv2Parser(); 175 176 parser.setInputFile( AuthRequestTest.class.getResource( "request_with_1_control_empty_value.xml" ) 177 .getFile() ); 178 179 parser.parse(); 180 } 181 catch ( Exception e ) 182 { 183 fail( e.getMessage() ); 184 } 185 186 BindRequest abandonRequest = ( BindRequest ) parser.getBatchRequest().getCurrentRequest(); 187 Control control = abandonRequest.getCurrentControl(); 188 189 assertEquals( 1, abandonRequest.getControls().size() ); 190 assertTrue( control.getCriticality() ); 191 assertEquals( "1.2.840.113556.1.4.643", control.getControlType() ); 192 assertEquals( StringTools.EMPTY_BYTES, control.getControlValue() ); 193 } 194 195 196 199 public void testRequestWith2Controls() 200 { 201 Dsmlv2Parser parser = null; 202 try 203 { 204 parser = new Dsmlv2Parser(); 205 206 parser.setInputFile( AuthRequestTest.class.getResource( "request_with_2_controls.xml" ).getFile() ); 207 208 parser.parse(); 209 } 210 catch ( Exception e ) 211 { 212 fail( e.getMessage() ); 213 } 214 215 BindRequest abandonRequest = ( BindRequest ) parser.getBatchRequest().getCurrentRequest(); 216 Control control = abandonRequest.getCurrentControl(); 217 218 assertEquals( 2, abandonRequest.getControls().size() ); 219 assertFalse( control.getCriticality() ); 220 assertEquals( "1.2.840.113556.1.4.789", control.getControlType() ); 221 assertEquals( "Some other text", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) ); 222 } 223 224 225 228 public void testRequestWith3ControlsWithoutValue() 229 { 230 Dsmlv2Parser parser = null; 231 try 232 { 233 parser = new Dsmlv2Parser(); 234 235 parser.setInputFile( AuthRequestTest.class.getResource( "request_with_3_controls_without_value.xml" ) 236 .getFile() ); 237 238 parser.parse(); 239 } 240 catch ( Exception e ) 241 { 242 fail( e.getMessage() ); 243 } 244 245 BindRequest abandonRequest = ( BindRequest ) parser.getBatchRequest().getCurrentRequest(); 246 Control control = abandonRequest.getCurrentControl(); 247 248 assertEquals( 3, abandonRequest.getControls().size() ); 249 assertTrue( control.getCriticality() ); 250 assertEquals( "1.2.840.113556.1.4.456", control.getControlType() ); 251 assertEquals( StringTools.EMPTY_BYTES, control.getControlValue() ); 252 } 253 254 255 260 public void testRequestWithNeededRequestId() 261 { 262 testParsingFail( AuthRequestTest.class, "request_with_needed_requestID.xml" ); 263 } 264 } 265 | Popular Tags |