add test cases for qs.values(*fields) and qs.values_list(*fields)
[matthijs/upstream/django-ldapdb.git] / examples / tests.py
index e96ad90e9a41346bfa104f86bd528b7aeecc6caa..d41d576b81b5c9a72af82ccfe3cdb3d33372dbd4 100644 (file)
@@ -133,6 +133,30 @@ class GroupTestCase(BaseTestCase):
         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]
+        for o in objs:
+            return 
+        print objs
+        self.assertEquals(len(objs), 2)
+        self.assertEquals(objs[0].gid, 1000)
+        self.assertEquals(objs[1].gid, 1001)
+        return
+
+        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')
 
@@ -145,6 +169,20 @@ class GroupTestCase(BaseTestCase):
         g.save()
         self.assertEquals(g.dn, 'cn=foogroup2,ou=groups,dc=nodomain')
 
+    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()