def _cb_testSimple(self, val, client): client.assertSent( pureldap.LDAPSearchRequest( baseObject='dc=example,dc=com', scope=pureldap.LDAP_SCOPE_baseObject, derefAliases=pureldap.LDAP_DEREF_neverDerefAliases, sizeLimit=1, timeLimit=0, typesOnly=0, filter=pureldap.LDAPFilter_present('objectClass'), attributes=['subschemaSubentry']), pureldap.LDAPSearchRequest( baseObject='cn=Subschema', scope=pureldap.LDAP_SCOPE_baseObject, derefAliases=pureldap.LDAP_DEREF_neverDerefAliases, sizeLimit=1, timeLimit=0, typesOnly=0, filter=pureldap.LDAPFilter_present('objectClass'), attributes=['attributeTypes', 'objectClasses']), ) self.failUnlessEqual(len(val), 2) self.failUnlessEqual([str(x) for x in val[0]], [str(schema.AttributeTypeDescription(self.cn))]) self.failUnlessEqual( [str(x) for x in val[1]], [str(schema.ObjectClassDescription(self.dcObject))])
def _cb_testSimple(self, val, client): client.assertSent( pureldap.LDAPSearchRequest( baseObject="dc=example,dc=com", scope=pureldap.LDAP_SCOPE_baseObject, derefAliases=pureldap.LDAP_DEREF_neverDerefAliases, sizeLimit=1, timeLimit=0, typesOnly=0, filter=pureldap.LDAPFilter_present("objectClass"), attributes=["subschemaSubentry"], ), pureldap.LDAPSearchRequest( baseObject="cn=Subschema", scope=pureldap.LDAP_SCOPE_baseObject, derefAliases=pureldap.LDAP_DEREF_neverDerefAliases, sizeLimit=1, timeLimit=0, typesOnly=0, filter=pureldap.LDAPFilter_present("objectClass"), attributes=["attributeTypes", "objectClasses"], ), ) self.failUnlessEqual(len(val), 2) self.failUnlessEqual( [to_bytes(x) for x in val[0]], [to_bytes(schema.AttributeTypeDescription(self.cn))], ) self.failUnlessEqual( [to_bytes(x) for x in val[1]], [to_bytes(schema.ObjectClassDescription(self.dcObject))], )
def testStringification(self): for want, values in self.knownValues: a = schema.ObjectClassDescription(None) for key, val in values.items(): setattr(a, key, val) want = ' '.join(want.split(None)) got = ' '.join(str(a).split(None)) self.assertEquals(got, want)
def testSimple(self): d = fetchschema.fetch(self.client, 'dc=example,dc=com') (attributeTypes, objectClasses) = util.pumpingDeferredResult(d) self.failUnlessEqual( [to_bytes(x) for x in attributeTypes], [to_bytes(schema.AttributeTypeDescription(x)) for x in [ test_schema.AttributeType_KnownValues.knownValues[0][0]]]) self.failUnlessEqual( [to_bytes(x) for x in objectClasses], [to_bytes(schema.ObjectClassDescription(x)) for x in [ test_schema.OBJECTCLASSES['organization'], test_schema.OBJECTCLASSES['organizationalUnit']]])
def handleSearchResults(l): if len(l) == 0: raise ldaperrors.LDAPOther("No such DN") elif len(l) == 1: o = l[0] attributeTypes = [] objectClasses = [] for text in o.get("attributeTypes", []): attributeTypes.append(schema.AttributeTypeDescription(str(text))) for text in o.get("objectClasses", []): objectClasses.append(schema.ObjectClassDescription(str(text))) assert attributeTypes, "LDAP server doesn't give attributeTypes for subschemaSubentry dn=%s" % o.dn return (attributeTypes, objectClasses) else: raise ldaperrors.LDAPOther("DN matched multiple entries")
def testParse(self): defaults = { 'name': None, 'desc': None, 'obsolete': 0, 'sup': None, 'type': 'STRUCTURAL', 'must': [], 'may': [], } for text, expected in self.knownValues: a = schema.ObjectClassDescription(text) self.failIfEqual(a.oid, None) for key, want in expected.items(): if key in defaults: del defaults[key] got = getattr(a, key) self.assertEquals(got, want) for key, want in defaults.items(): got = getattr(a, key) self.assertEquals(got, want)
def testParse(self): defaults = { "name": None, "desc": None, "obsolete": 0, "sup": None, "type": "STRUCTURAL", "must": [], "may": [], } for text, expected in self.knownValues: a = schema.ObjectClassDescription(text) self.failIfEqual(a.oid, None) for key, want in expected.items(): if key in defaults: del defaults[key] got = getattr(a, key) self.assertEqual(got, want) for key, want in defaults.items(): got = getattr(a, key) self.assertEqual(got, want)
def setUp(self): data = {} for oc, text in OBJECTCLASSES.items(): data[oc] = schema.ObjectClassDescription(text) self.data = data
def test_default(self): a = schema.ObjectClassDescription(self.a) b = schema.ObjectClassDescription(self.b) self.assertEqual(a, b)
def test_invalid_eq(self): """Object class object can be compared only to the same class object""" obj = schema.ObjectClassDescription(OBJECTCLASSES["top"]) for method in (obj.__eq__, obj.__lt__, obj.__gt__): self.assertRaises(NotImplementedError, method, b"")