test admin interface search
[matthijs/upstream/django-ldapdb.git] / examples / tests.py
index c677c81045ef1f40d47bc14cf4a9a1bd698c1567..08d85b7b6e06dc7d5d5efbaddbcded2eff476d54 100644 (file)
@@ -40,9 +40,12 @@ class BaseTestCase(TestCase):
     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)
+            try:
+                results = cursor.connection.search_s(base, ldap.SCOPE_SUBTREE)
+                for dn, attrs in reversed(results):
+                    cursor.connection.delete_s(dn)
+            except ldap.NO_SUCH_OBJECT:
+                pass
 
 class GroupTestCase(BaseTestCase):
     def setUp(self):
@@ -159,6 +162,12 @@ class AdminTestCase(BaseTestCase):
         g.usernames = ['foouser', 'baruser']
         g.save()
 
+        g = LdapGroup()
+        g.name = "bargroup"
+        g.gid = 1001
+        g.usernames = ['zoouser', 'baruser']
+        g.save()
+
         u = LdapUser()
         u.first_name = "Foo"
         u.last_name = "User"
@@ -186,6 +195,10 @@ class AdminTestCase(BaseTestCase):
         self.assertContains(response, "foogroup")
         self.assertContains(response, "1000")
 
+    def test_group_search(self):
+        response = self.client.get('/admin/examples/ldapgroup/?q=foo')
+        self.assertContains(response, "foogroup")
+
     def test_user_list(self):
         response = self.client.get('/admin/examples/ldapuser/')
         self.assertContains(response, "Ldap users")