Example #1
0
    def testParse(self):
        defaults = {
            'name': None,
            'desc': None,
            'obsolete': 0,
            'sup': [],
            'equality': None,
            'ordering': None,
            'substr': None,
            'syntax': None,
            'single_value': 0,
            'collective': 0,
            'no_user_modification': 0,
            'usage': None,
        }
        for text, expected in self.knownValues:
            a = schema.AttributeTypeDescription(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)
Example #2
0
    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))],
        )
Example #3
0
    def testParse(self):
        defaults = {
            "name": None,
            "desc": None,
            "obsolete": 0,
            "sup": [],
            "equality": None,
            "ordering": None,
            "substr": None,
            "syntax": None,
            "single_value": 0,
            "collective": 0,
            "no_user_modification": 0,
            "usage": None,
        }
        for text, expected in self.knownValues:
            a = schema.AttributeTypeDescription(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)
Example #4
0
    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))])
Example #5
0
    def testStringification(self):
        for want, values in self.knownValues:
            a = schema.AttributeTypeDescription(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)
Example #6
0
    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']]])
Example #7
0
    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")