Exemplo n.º 1
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))])
Exemplo n.º 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))],
        )
Exemplo n.º 3
0
    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)
Exemplo n.º 4
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']]])
Exemplo n.º 5
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")
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
 def setUp(self):
     data = {}
     for oc, text in OBJECTCLASSES.items():
         data[oc] = schema.ObjectClassDescription(text)
     self.data = data
Exemplo n.º 9
0
 def test_default(self):
     a = schema.ObjectClassDescription(self.a)
     b = schema.ObjectClassDescription(self.b)
     self.assertEqual(a, b)
Exemplo n.º 10
0
 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"")