Home | Trees | Indices | Help |
|
---|
|
1 """ 2 Test cases for ldaptor.protocols.ldap.ldapfilter module. 3 """ 4 5 from twisted.trial import unittest 6 from ldaptor.protocols import pureldap 7 from ldaptor import ldapfilter 8 import types 911 """Join all members of list to a string. Integer members are chr()ed""" 12 r='' 13 for e in l: 14 if isinstance(e, types.IntType): 15 e=chr(e) 16 r=r+str(e) 17 return r18 22149 #self.assertEquals(filt.asText(), text) 15025 text = '(cn=Babs Jensen)' 26 filt = pureldap.LDAPFilter_equalityMatch( 27 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 28 assertionValue=pureldap.LDAPAssertionValue(value='Babs Jensen')) 29 self.assertEquals(ldapfilter.parseFilter(text), filt) 30 self.assertEquals(filt.asText(), text)3133 text = '(!(cn=Tim Howes))' 34 filt = pureldap.LDAPFilter_not( 35 pureldap.LDAPFilter_equalityMatch( 36 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 37 assertionValue=pureldap.LDAPAssertionValue(value='Tim Howes'))) 38 self.assertEquals(ldapfilter.parseFilter(text), filt) 39 self.assertEquals(filt.asText(), text)4042 text = '(&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))' 43 filt = pureldap.LDAPFilter_and( 44 [ pureldap.LDAPFilter_equalityMatch( 45 attributeDesc=pureldap.LDAPAttributeDescription(value='objectClass'), 46 assertionValue=pureldap.LDAPAssertionValue(value='Person')), 47 pureldap.LDAPFilter_or([ pureldap.LDAPFilter_equalityMatch( 48 attributeDesc=pureldap.LDAPAttributeDescription(value='sn'), 49 assertionValue=pureldap.LDAPAssertionValue(value='Jensen')), 50 pureldap.LDAPFilter_substrings( 51 type='cn', 52 substrings=[ pureldap.LDAPFilter_substrings_initial(value='Babs J') 53 ]) 54 ]), 55 ]) 56 self.assertEquals(ldapfilter.parseFilter(text), filt) 57 self.assertEquals(filt.asText(), text)5860 text = '(o=univ*of*mich*)' 61 filt = pureldap.LDAPFilter_substrings( 62 type='o', 63 substrings=[ pureldap.LDAPFilter_substrings_initial(value='univ'), 64 pureldap.LDAPFilter_substrings_any(value='of'), 65 pureldap.LDAPFilter_substrings_any(value='mich'), 66 ]) 67 self.assertEquals(ldapfilter.parseFilter(text), filt) 68 self.assertEquals(filt.asText(), text)69 7072 text = '(cn:1.2.3.4.5:=Fred Flintstone)' 73 self.assertEquals(ldapfilter.parseFilter(text), 74 pureldap.LDAPFilter_extensibleMatch( 75 type='cn', 76 dnAttributes=False, 77 matchingRule='1.2.3.4.5', 78 matchValue='Fred Flintstone', 79 ))8082 text = '(sn:dn:2.4.6.8.10:=Barney Rubble)' 83 self.assertEquals(ldapfilter.parseFilter(text), 84 pureldap.LDAPFilter_extensibleMatch( 85 type='sn', 86 dnAttributes=True, 87 matchingRule='2.4.6.8.10', 88 matchValue='Barney Rubble', 89 ))9092 text = '(o:dn:=Ace Industry)' 93 self.assertEquals(ldapfilter.parseFilter(text), 94 pureldap.LDAPFilter_extensibleMatch( 95 type='o', 96 dnAttributes=True, 97 matchingRule=None, 98 matchValue='Ace Industry', 99 ))100102 text = '(:dn:2.4.6.8.10:=Dino)' 103 self.assertEquals(ldapfilter.parseFilter(text), 104 pureldap.LDAPFilter_extensibleMatch( 105 type=None, 106 dnAttributes=True, 107 matchingRule='2.4.6.8.10', 108 matchValue='Dino', 109 ))110112 text = r'(o=Parens R Us \28for all your parenthetical needs\29)' 113 filt = pureldap.LDAPFilter_equalityMatch( 114 attributeDesc=pureldap.LDAPAttributeDescription(value='o'), 115 assertionValue=pureldap.LDAPAssertionValue(value='Parens R Us (for all your parenthetical needs)')) 116 self.assertEquals(ldapfilter.parseFilter(text), filt) 117 self.assertEquals(filt.asText(), text)118120 text = r'(cn=*\2A*)' 121 filt = pureldap.LDAPFilter_substrings( 122 type='cn', 123 substrings=[ pureldap.LDAPFilter_substrings_any(value='*'), 124 ]) 125 self.assertEquals(ldapfilter.parseFilter(text), filt) 126 self.assertEquals(filt.asText(), text.lower())127129 text = r'(filename=C:\5cMyFile)' 130 filt = pureldap.LDAPFilter_equalityMatch( 131 attributeDesc=pureldap.LDAPAttributeDescription(value='filename'), 132 assertionValue=pureldap.LDAPAssertionValue(value=r'C:\MyFile')) 133 self.assertEquals(ldapfilter.parseFilter(text), filt) 134 self.assertEquals(filt.asText(), text)135137 text = r'(bin=\00\00\00\04)' 138 filt = pureldap.LDAPFilter_equalityMatch( 139 attributeDesc=pureldap.LDAPAttributeDescription(value='bin'), 140 assertionValue=pureldap.LDAPAssertionValue(value='\00\00\00\04')) 141 self.assertEquals(ldapfilter.parseFilter(text), filt)142144 text = r'(sn=Lu\c4\8di\c4\87)' 145 filt = pureldap.LDAPFilter_equalityMatch( 146 attributeDesc=pureldap.LDAPAttributeDescription(value='sn'), 147 assertionValue=pureldap.LDAPAssertionValue(value='Lu\xc4\x8di\xc4\x87')) 148 self.assertEquals(ldapfilter.parseFilter(text), filt)351153 text = r'(cn=*)' 154 filt = pureldap.LDAPFilter_present(value='cn') 155 self.assertEquals(ldapfilter.parseFilter(text), filt) 156 self.assertEquals(filt.asText(), text)157159 text = r'(cn=foo)' 160 filt = pureldap.LDAPFilter_equalityMatch( 161 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 162 assertionValue=pureldap.LDAPAssertionValue(value='foo')) 163 self.assertEquals(ldapfilter.parseFilter(text), filt) 164 self.assertEquals(filt.asText(), text)165167 text = r'(cn=foo*)' 168 filt = pureldap.LDAPFilter_substrings( 169 type='cn', 170 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 171 ]) 172 self.assertEquals(ldapfilter.parseFilter(text), filt) 173 self.assertEquals(filt.asText(), text)174176 text = r'(cn=*foo)' 177 filt = pureldap.LDAPFilter_substrings( 178 type='cn', 179 substrings=[pureldap.LDAPFilter_substrings_final('foo'), 180 ]) 181 self.assertEquals(ldapfilter.parseFilter(text), filt) 182 self.assertEquals(filt.asText(), text)183185 text = r'(cn=*foo*)' 186 filt = pureldap.LDAPFilter_substrings( 187 type='cn', 188 substrings=[pureldap.LDAPFilter_substrings_any('foo'), 189 ]) 190 self.assertEquals(ldapfilter.parseFilter(text), filt) 191 self.assertEquals(filt.asText(), text)192194 text = r'(cn=*foo*bar*)' 195 filt = pureldap.LDAPFilter_substrings( 196 type='cn', 197 substrings=[pureldap.LDAPFilter_substrings_any('foo'), 198 pureldap.LDAPFilter_substrings_any('bar'), 199 ]) 200 self.assertEquals(ldapfilter.parseFilter(text), filt) 201 self.assertEquals(filt.asText(), text)202204 text = r'(cn=foo*bar*)' 205 filt = pureldap.LDAPFilter_substrings( 206 type='cn', 207 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 208 pureldap.LDAPFilter_substrings_any('bar'), 209 ]) 210 self.assertEquals(ldapfilter.parseFilter(text), filt) 211 self.assertEquals(filt.asText(), text)212214 text = r'(cn=foo*bar*baz*)' 215 filt = pureldap.LDAPFilter_substrings( 216 type='cn', 217 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 218 pureldap.LDAPFilter_substrings_any('bar'), 219 pureldap.LDAPFilter_substrings_any('baz'), 220 ]) 221 self.assertEquals(ldapfilter.parseFilter(text), filt) 222 self.assertEquals(filt.asText(), text)223225 text = r'(cn=foo*bar)' 226 filt = pureldap.LDAPFilter_substrings( 227 type='cn', 228 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 229 pureldap.LDAPFilter_substrings_final('bar'), 230 ]) 231 self.assertEquals(ldapfilter.parseFilter(text), filt) 232 self.assertEquals(filt.asText(), text)233235 text = r'(cn=foo*bar*baz)' 236 filt = pureldap.LDAPFilter_substrings( 237 type='cn', 238 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 239 pureldap.LDAPFilter_substrings_any('bar'), 240 pureldap.LDAPFilter_substrings_final('baz'), 241 ]) 242 self.assertEquals(ldapfilter.parseFilter(text), filt) 243 self.assertEquals(filt.asText(), text)244246 text = r'(cn=foo*bar*baz*quux)' 247 filt = pureldap.LDAPFilter_substrings( 248 type='cn', 249 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 250 pureldap.LDAPFilter_substrings_any('bar'), 251 pureldap.LDAPFilter_substrings_any('baz'), 252 pureldap.LDAPFilter_substrings_final('quux'), 253 ]) 254 self.assertEquals(ldapfilter.parseFilter(text), filt) 255 self.assertEquals(filt.asText(), text)256258 text = r'(cn=*foo*bar)' 259 filt = pureldap.LDAPFilter_substrings( 260 type='cn', 261 substrings=[pureldap.LDAPFilter_substrings_any('foo'), 262 pureldap.LDAPFilter_substrings_final('bar'), 263 ]) 264 self.assertEquals(ldapfilter.parseFilter(text), filt) 265 self.assertEquals(filt.asText(), text)266268 text = r'(cn=*foo*bar*baz)' 269 filt = pureldap.LDAPFilter_substrings( 270 type='cn', 271 substrings=[pureldap.LDAPFilter_substrings_any('foo'), 272 pureldap.LDAPFilter_substrings_any('bar'), 273 pureldap.LDAPFilter_substrings_final('baz'), 274 ]) 275 self.assertEquals(ldapfilter.parseFilter(text), filt) 276 self.assertEquals(filt.asText(), text)277279 text = r'(!(cn=foo))' 280 filt = pureldap.LDAPFilter_not( 281 pureldap.LDAPFilter_equalityMatch( 282 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 283 assertionValue=pureldap.LDAPAssertionValue(value='foo'))) 284 self.assertEquals(ldapfilter.parseFilter(text), filt) 285 self.assertEquals(filt.asText(), text)286288 text = r'(|(cn=foo)(cn=bar))' 289 filt = pureldap.LDAPFilter_or([ 290 pureldap.LDAPFilter_equalityMatch( 291 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 292 assertionValue=pureldap.LDAPAssertionValue(value='foo')), 293 pureldap.LDAPFilter_equalityMatch( 294 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 295 assertionValue=pureldap.LDAPAssertionValue(value='bar')), 296 ]) 297 self.assertEquals(ldapfilter.parseFilter(text), filt) 298 self.assertEquals(filt.asText(), text)299301 text = r'(&(cn=foo)(cn=bar))' 302 filt = pureldap.LDAPFilter_and([ 303 pureldap.LDAPFilter_equalityMatch( 304 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 305 assertionValue=pureldap.LDAPAssertionValue(value='foo')), 306 pureldap.LDAPFilter_equalityMatch( 307 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 308 assertionValue=pureldap.LDAPAssertionValue(value='bar')), 309 ]) 310 self.assertEquals(ldapfilter.parseFilter(text), filt) 311 self.assertEquals(filt.asText(), text)312314 text = r'(&(!(|(cn=foo)(cn=bar)))(sn=a*b*c*d))' 315 filt = pureldap.LDAPFilter_and([ 316 pureldap.LDAPFilter_not( 317 pureldap.LDAPFilter_or([ 318 pureldap.LDAPFilter_equalityMatch( 319 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 320 assertionValue=pureldap.LDAPAssertionValue(value='foo')), 321 pureldap.LDAPFilter_equalityMatch( 322 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 323 assertionValue=pureldap.LDAPAssertionValue(value='bar')), 324 ])), 325 pureldap.LDAPFilter_substrings( 326 type='sn', 327 substrings=[pureldap.LDAPFilter_substrings_initial('a'), 328 pureldap.LDAPFilter_substrings_any('b'), 329 pureldap.LDAPFilter_substrings_any('c'), 330 pureldap.LDAPFilter_substrings_final('d'), 331 ])]) 332 self.assertEquals(ldapfilter.parseFilter(text), filt) 333 self.assertEquals(filt.asText(), text)334336 text = r'(cn=foo )' 337 filt = pureldap.LDAPFilter_equalityMatch( 338 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 339 assertionValue=pureldap.LDAPAssertionValue(value='foo ')) 340 self.assertEquals(ldapfilter.parseFilter(text), filt) 341 self.assertEquals(filt.asText(), text)342 343345 text = r'(cn= foo)' 346 filt = pureldap.LDAPFilter_equalityMatch( 347 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 348 assertionValue=pureldap.LDAPAssertionValue(value=' foo')) 349 self.assertEquals(ldapfilter.parseFilter(text), filt) 350 self.assertEquals(filt.asText(), text)413354 self.assertRaises(ldapfilter.InvalidLDAPFilter, 355 ldapfilter.parseFilter, 356 '(&(|(mail=)@*)(uid=)))(mail=*))')357359 self.assertRaises(ldapfilter.InvalidLDAPFilter, 360 ldapfilter.parseFilter, 361 '(|(mail=)@*)(uid=)))')362 367 372 373375 self.assertRaises(ldapfilter.InvalidLDAPFilter, 376 ldapfilter.parseFilter, 377 '(&(|(mail=(@*)(uid=())(mail=*))')378380 self.assertRaises(ldapfilter.InvalidLDAPFilter, 381 ldapfilter.parseFilter, 382 '(|(mail=(@*)(uid=())')383 388 393 398 403 408534 540416 text = r'*' 417 filt = pureldap.LDAPFilter_present(value='cn') 418 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)419421 text = r'foo' 422 filt = pureldap.LDAPFilter_equalityMatch( 423 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 424 assertionValue=pureldap.LDAPAssertionValue(value='foo')) 425 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)426428 text = r'foo*' 429 filt = pureldap.LDAPFilter_substrings( 430 type='cn', 431 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 432 ]) 433 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)434436 text = r'*foo' 437 filt = pureldap.LDAPFilter_substrings( 438 type='cn', 439 substrings=[pureldap.LDAPFilter_substrings_final('foo'), 440 ]) 441 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)442444 text = r'*foo*' 445 filt = pureldap.LDAPFilter_substrings( 446 type='cn', 447 substrings=[pureldap.LDAPFilter_substrings_any('foo'), 448 ]) 449 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)450452 text = r'*foo*bar*' 453 filt = pureldap.LDAPFilter_substrings( 454 type='cn', 455 substrings=[pureldap.LDAPFilter_substrings_any('foo'), 456 pureldap.LDAPFilter_substrings_any('bar'), 457 ]) 458 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)459461 text = r'foo*bar*' 462 filt = pureldap.LDAPFilter_substrings( 463 type='cn', 464 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 465 pureldap.LDAPFilter_substrings_any('bar'), 466 ]) 467 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)468470 text = r'foo*bar*baz*' 471 filt = pureldap.LDAPFilter_substrings( 472 type='cn', 473 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 474 pureldap.LDAPFilter_substrings_any('bar'), 475 pureldap.LDAPFilter_substrings_any('baz'), 476 ]) 477 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)478480 text = r'foo*bar' 481 filt = pureldap.LDAPFilter_substrings( 482 type='cn', 483 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 484 pureldap.LDAPFilter_substrings_final('bar'), 485 ]) 486 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)487489 text = r'foo*bar*baz' 490 filt = pureldap.LDAPFilter_substrings( 491 type='cn', 492 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 493 pureldap.LDAPFilter_substrings_any('bar'), 494 pureldap.LDAPFilter_substrings_final('baz'), 495 ]) 496 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)497499 text = r'foo*bar*baz*quux' 500 filt = pureldap.LDAPFilter_substrings( 501 type='cn', 502 substrings=[pureldap.LDAPFilter_substrings_initial('foo'), 503 pureldap.LDAPFilter_substrings_any('bar'), 504 pureldap.LDAPFilter_substrings_any('baz'), 505 pureldap.LDAPFilter_substrings_final('quux'), 506 ]) 507 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)508510 text = r'*foo*bar' 511 filt = pureldap.LDAPFilter_substrings( 512 type='cn', 513 substrings=[pureldap.LDAPFilter_substrings_any('foo'), 514 pureldap.LDAPFilter_substrings_final('bar'), 515 ]) 516 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)517519 text = r'*foo*bar*baz' 520 filt = pureldap.LDAPFilter_substrings( 521 type='cn', 522 substrings=[pureldap.LDAPFilter_substrings_any('foo'), 523 pureldap.LDAPFilter_substrings_any('bar'), 524 pureldap.LDAPFilter_substrings_final('baz'), 525 ]) 526 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)527529 text = r'f\2aoo(bar' 530 filt = pureldap.LDAPFilter_equalityMatch( 531 attributeDesc=pureldap.LDAPAttributeDescription(value='cn'), 532 assertionValue=pureldap.LDAPAssertionValue(value='f*oo(bar')) 533 self.assertEquals(ldapfilter.parseMaybeSubstring('cn', text), filt)
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Mon Jan 2 08:01:51 2012 | http://epydoc.sourceforge.net |