X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=examples%2Ftests.py;h=d0f179807f0a111ce411d4266d69a72ce9cbef9e;hb=6035af62fccb4c3f623fd5be0072281f953790f5;hp=dba0f5ee086f9f704b7d140c35d3e3163bfb8787;hpb=eac1a9e03d8e7dc89abf60d1e026c67164edbcb0;p=matthijs%2Fupstream%2Fdjango-ldapdb.git diff --git a/examples/tests.py b/examples/tests.py index dba0f5e..d0f1798 100644 --- a/examples/tests.py +++ b/examples/tests.py @@ -18,18 +18,48 @@ # along with this program. If not, see . # +import ldap + from django.test import TestCase +from ldapdb import connection from examples.models import LdapUser, LdapGroup -class GroupTestCase(TestCase): +class BaseTestCase(TestCase): + def setUp(self): + cursor = connection._cursor() + for base in [LdapGroup.base_dn, LdapUser.base_dn]: + ou = base.split(',')[0].split('=')[1] + attrs = [('objectClass', ['top', 'organizationalUnit']), ('ou', [ou])] + try: + cursor.connection.add_s(base, attrs) + except ldap.ALREADY_EXISTS: + pass + + def tearDown(self): + cursor = connection._cursor() + for base in [LdapGroup.base_dn, LdapUser.base_dn]: + results = cursor.connection.search_s(base, ldap.SCOPE_SUBTREE) + for dn, attrs in reversed(results): + cursor.connection.delete_s(dn) + +class GroupTestCase(BaseTestCase): def test_create(self): g = LdapGroup() g.name = "foogroup" g.gid = 1000 + g.usernames = ['foouser', 'baruser'] g.save() + + def test_get(self): + self.test_create() + + g = LdapGroup.objects.get(name='foogroup') + self.assertEquals(g.name, 'foogroup') + self.assertEquals(g.gid, 1000) + self.assertEquals(g.usernames, ['foouser', 'baruser']) -class UserTestCase(TestCase): +class UserTestCase(BaseTestCase): def test_create(self): u = LdapUser() u.first_name = "Foo" @@ -41,4 +71,17 @@ class UserTestCase(TestCase): u.uid = 1000 u.username = "foouser" u.save() + + def test_get(self): + self.test_create() + + u = LdapUser.objects.get(username='foouser') + self.assertEquals(u.first_name, 'Foo') + self.assertEquals(u.last_name, 'User') + self.assertEquals(u.full_name, 'Foo User') + self.assertEquals(u.group, 1000) + self.assertEquals(u.home_directory, '/home/foouser') + self.assertEquals(u.uid, 1000) + self.assertEquals(u.username, 'foouser') +