From b43d7e60012ac13b5419b216925200d6d6092232 Mon Sep 17 00:00:00 2001 From: jlaine Date: Wed, 2 Jun 2010 15:51:33 +0000 Subject: [PATCH] test LDAP model scoping git-svn-id: https://svn.bolloretelecom.eu/opensource/django-ldapdb/trunk@928 e071eeec-0327-468d-9b6a-08194a12b294 --- examples/tests.py | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/examples/tests.py b/examples/tests.py index 51c4183..92d9473 100644 --- a/examples/tests.py +++ b/examples/tests.py @@ -41,12 +41,12 @@ from examples.models import LdapUser, LdapGroup class BaseTestCase(TestCase): def setUp(self): cursor = ldapdb.connection._cursor() - for base in [LdapGroup.base_dn, LdapUser.base_dn]: - rdn = base.split(',')[0] + for dn in [LdapGroup.base_dn, LdapUser.base_dn]: + rdn = dn.split(',')[0] key, val = rdn.split('=') attrs = [('objectClass', ['top', 'organizationalUnit']), (key, [val])] try: - cursor.connection.add_s(base, attrs) + cursor.connection.add_s(dn, attrs) except ldap.ALREADY_EXISTS: pass @@ -272,6 +272,42 @@ class UserTestCase(BaseTestCase): u.save() self.assertEquals(u.dn, 'uid=foouser2,%s' % LdapUser.base_dn) +class ScopedTestCase(BaseTestCase): + def setUp(self): + super(ScopedTestCase, self).setUp() + + cursor = ldapdb.connection._cursor() + self.scoped_dn = "ou=contacts,%s" % LdapGroup.base_dn + attrs = [('objectClass', ['top', 'organizationalUnit']), ("ou", ["contacts"])] + cursor.connection.add_s(self.scoped_dn, attrs) + + def test_scope(self): + ScopedGroup = LdapGroup.scoped(self.scoped_dn) + + # create group + g = LdapGroup() + g.name = "foogroup" + g.gid = 1000 + g.save() + + qs = LdapGroup.objects.all() + self.assertEquals(qs.count(), 1) + + qs = ScopedGroup.objects.all() + self.assertEquals(qs.count(), 0) + + # create scoped group + g2 = ScopedGroup() + g2.name = "scopedgroup" + g2.gid = 5000 + g2.save() + + qs = LdapGroup.objects.all() + self.assertEquals(qs.count(), 2) + + qs = ScopedGroup.objects.all() + self.assertEquals(qs.count(), 1) + class AdminTestCase(BaseTestCase): fixtures = ['test_users.json'] -- 2.30.2