X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fdjango-ldapdb.git;a=blobdiff_plain;f=examples%2Ftests.py;h=af8867c19fb2f0df15d1c0a4319cca0674bc5b46;hp=465c857a50fcb18d9cfdff8e7a28d7f928bb372d;hb=75d4446eb587e435537cc09499a1987a9e35b0f6;hpb=c15d0f62f8b92e9a2c69d9b93ded4cf964ef710c diff --git a/examples/tests.py b/examples/tests.py index 465c857..af8867c 100644 --- a/examples/tests.py +++ b/examples/tests.py @@ -62,59 +62,96 @@ class GroupTestCase(BaseTestCase): g.usernames = ['zoouser', 'baruser'] g.save() + g = LdapGroup() + g.name = "wizgroup" + g.gid = 1002 + g.usernames = ['wizuser', 'baruser'] + g.save() + def test_filter(self): qs = LdapGroup.objects.none() self.assertEquals(len(qs), 0) qs = LdapGroup.objects.all() - self.assertEquals(len(qs), 2) + self.assertEquals(len(qs), 3) qs = LdapGroup.objects.filter(name='foogroup') self.assertEquals(len(qs), 1) g = qs[0] - self.assertEquals(g.dn, 'cn=foogroup,ou=groups,dc=nodomain') + self.assertEquals(g.dn, 'cn=foogroup,%s' % LdapGroup.base_dn) self.assertEquals(g.name, 'foogroup') self.assertEquals(g.gid, 1000) self.assertEquals(g.usernames, ['foouser', 'baruser']) - # try to get non-existent entry + # try to filter non-existent entries qs = LdapGroup.objects.filter(name='does_not_exist') self.assertEquals(len(qs), 0) def test_get(self): g = LdapGroup.objects.get(name='foogroup') - self.assertEquals(g.dn, 'cn=foogroup,ou=groups,dc=nodomain') + self.assertEquals(g.dn, 'cn=foogroup,%s' % LdapGroup.base_dn) self.assertEquals(g.name, 'foogroup') self.assertEquals(g.gid, 1000) self.assertEquals(g.usernames, ['foouser', 'baruser']) + # try to get a non-existent entry self.assertRaises(LdapGroup.DoesNotExist, LdapGroup.objects.get, name='does_not_exist') def test_order_by(self): # ascending name qs = LdapGroup.objects.order_by('name') - self.assertEquals(len(qs), 2) + self.assertEquals(len(qs), 3) self.assertEquals(qs[0].name, 'bargroup') self.assertEquals(qs[1].name, 'foogroup') + self.assertEquals(qs[2].name, 'wizgroup') # descending name qs = LdapGroup.objects.order_by('-name') - self.assertEquals(len(qs), 2) - self.assertEquals(qs[0].name, 'foogroup') - self.assertEquals(qs[1].name, 'bargroup') + self.assertEquals(len(qs), 3) + self.assertEquals(qs[0].name, 'wizgroup') + self.assertEquals(qs[1].name, 'foogroup') + self.assertEquals(qs[2].name, 'bargroup') # ascending gid qs = LdapGroup.objects.order_by('gid') - self.assertEquals(len(qs), 2) + self.assertEquals(len(qs), 3) self.assertEquals(qs[0].gid, 1000) self.assertEquals(qs[1].gid, 1001) + self.assertEquals(qs[2].gid, 1002) # descending gid qs = LdapGroup.objects.order_by('-gid') - self.assertEquals(len(qs), 2) - self.assertEquals(qs[0].gid, 1001) - self.assertEquals(qs[1].gid, 1000) + self.assertEquals(len(qs), 3) + self.assertEquals(qs[0].gid, 1002) + self.assertEquals(qs[1].gid, 1001) + self.assertEquals(qs[2].gid, 1000) + + def test_bulk_delete(self): + LdapGroup.objects.all().delete() + + qs = LdapGroup.objects.all() + self.assertEquals(len(qs), 0) + + def test_slice(self): + qs = LdapGroup.objects.all() + objs = list(qs) + self.assertEquals(len(objs), 3) + self.assertEquals(objs[0].gid, 1000) + self.assertEquals(objs[1].gid, 1001) + self.assertEquals(objs[2].gid, 1002) + + qs = LdapGroup.objects.all() + objs = qs[:2] + self.assertEquals(len(objs), 2) + self.assertEquals(objs[0].gid, 1000) + self.assertEquals(objs[1].gid, 1001) + + qs = LdapGroup.objects.all() + objs = qs[1:] + self.assertEquals(len(objs), 2) + self.assertEquals(objs[0].gid, 1001) + self.assertEquals(objs[1].gid, 1002) def test_update(self): g = LdapGroup.objects.get(name='foogroup') @@ -126,14 +163,28 @@ class GroupTestCase(BaseTestCase): # make sure DN gets updated if we change the pk g.name = 'foogroup2' g.save() - self.assertEquals(g.dn, 'cn=foogroup2,ou=groups,dc=nodomain') + self.assertEquals(g.dn, 'cn=foogroup2,%s' % LdapGroup.base_dn) + + def test_values(self): + qs = LdapGroup.objects.values('name') + self.assertEquals(len(qs), 3) + self.assertEquals(qs[0], {'name': 'foogroup'}) + self.assertEquals(qs[1], {'name': 'bargroup'}) + self.assertEquals(qs[2], {'name': 'wizgroup'}) + + def test_values_list(self): + qs = LdapGroup.objects.values_list('name') + self.assertEquals(len(qs), 3) + self.assertEquals(qs[0], ('foogroup',)) + self.assertEquals(qs[1], ('bargroup',)) + self.assertEquals(qs[2], ('wizgroup',)) def test_delete(self): g = LdapGroup.objects.get(name='foogroup') g.delete() qs = LdapGroup.objects.all() - self.assertEquals(len(qs), 1) + self.assertEquals(len(qs), 2) class UserTestCase(BaseTestCase): def setUp(self): @@ -173,7 +224,7 @@ class UserTestCase(BaseTestCase): # make sure DN gets updated if we change the pk u.username = 'foouser2' u.save() - self.assertEquals(u.dn, 'uid=foouser2,ou=people,dc=nodomain') + self.assertEquals(u.dn, 'uid=foouser2,%s' % LdapUser.base_dn) class AdminTestCase(BaseTestCase): fixtures = ['test_users.json']