5 commits - pykolab/setup tests/functional wallace/module_resources.py

Jeroen van Meeuwen vanmeeuwen at kolabsys.com
Sun May 19 13:37:53 CEST 2013


 pykolab/setup/setup_roundcube.py                        |    1 
 tests/functional/purge_users.py                         |    2 
 tests/functional/test_wap_client/test_007_policy_uid.py |  176 ++++++++++++++++
 wallace/module_resources.py                             |    7 
 4 files changed, 185 insertions(+), 1 deletion(-)

New commits:
commit 172d9ec71cdc142fd5cb8846261655fdf130a9e2
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Sun May 19 12:52:58 2013 +0200

    Include kolab_files plugin by default

diff --git a/pykolab/setup/setup_roundcube.py b/pykolab/setup/setup_roundcube.py
index 659ba4d..2e0b08c 100644
--- a/pykolab/setup/setup_roundcube.py
+++ b/pykolab/setup/setup_roundcube.py
@@ -92,6 +92,7 @@ def execute(*args, **kw):
             'calendar.inc.php',
             'db.inc.php',
             'kolab_auth.inc.php',
+            'kolab_files.inc.php',
             'kolab_folders.inc.php',
             'kolab.inc.php',
             'main.inc.php',


commit d0ef194abe3cb3634101d488c8539c47a3616d93
Merge: 4f566bc fdf3236
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Sun May 19 12:52:47 2013 +0200

    Merge branch 'master' of ssh://git.kolab.org/git/pykolab



commit 4f566bcd9cecfb26363cbd0f047b5c6e9a513c6f
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Sat May 11 13:04:38 2013 +0200

    New functional tests for policy_uid setting

diff --git a/tests/functional/test_wap_client/test_007_policy_uid.py b/tests/functional/test_wap_client/test_007_policy_uid.py
new file mode 100644
index 0000000..534ebda
--- /dev/null
+++ b/tests/functional/test_wap_client/test_007_policy_uid.py
@@ -0,0 +1,176 @@
+from ConfigParser import RawConfigParser
+import time
+import unittest
+
+import pykolab
+from pykolab import wap_client
+from pykolab.auth import Auth
+from pykolab.imap import IMAP
+
+conf = pykolab.getConf()
+
+class TestPolicyUid(unittest.TestCase):
+
+    def remove_option(self, section, option):
+        self.config.remove_option(section, option)
+
+        fp = open(conf.config_file, "w")
+        self.config.write(fp)
+        fp.close()
+
+    def set(self, section, option, value):
+        self.config.set(section, option, value)
+
+        fp = open(conf.config_file, "w")
+        self.config.write(fp)
+        fp.close()
+
+    @classmethod
+    def setup_class(self, *args, **kw):
+        self.config = RawConfigParser()
+        self.config.read(conf.config_file)
+
+        from tests.functional.purge_users import purge_users
+        purge_users()
+
+        self.user = {
+                'local': 'john.doe',
+                'domain': 'example.org'
+            }
+
+        self.login = conf.get('ldap', 'bind_dn')
+        self.password = conf.get('ldap', 'bind_pw')
+        self.domain = conf.get('kolab', 'primary_domain')
+
+        result = wap_client.authenticate(self.login, self.password, self.domain)
+
+    @classmethod
+    def teardown_class(self, *args, **kw):
+        self.config.remove_option('example.org', 'policy_uid')
+
+        fp = open(conf.config_file, "w")
+        self.config.write(fp)
+        fp.close()
+
+        from tests.functional.purge_users import purge_users
+        purge_users()
+
+    def test_001_default(self):
+        from tests.functional.user_add import user_add
+        user_add("John", "Doe")
+        from tests.functional.synchronize import synchronize_once
+        synchronize_once()
+
+        auth = Auth()
+        auth.connect()
+
+        user = auth.find_recipient('john.doe at example.org')
+
+        user_info = wap_client.user_info(user)
+
+        self.assertEqual(user_info['uid'], "doe")
+
+        from tests.functional.purge_users import purge_users
+        purge_users()
+
+    def test_002_givenname_dot_surname(self):
+        self.set('example.org', 'policy_uid', '%(givenname)s.%(surname)s')
+
+        from tests.functional.user_add import user_add
+        user_add("John", "Doe")
+        from tests.functional.synchronize import synchronize_once
+        synchronize_once()
+
+        auth = Auth()
+        auth.connect()
+
+        user = auth.find_recipient('john.doe at example.org')
+
+        user_info = wap_client.user_info(user)
+
+        self.assertEqual(user_info['uid'], "John.Doe")
+
+        from tests.functional.purge_users import purge_users
+        purge_users()
+
+    def test_003_givenname_fc_dot_surname(self):
+        self.set('example.org', 'policy_uid', "'%(givenname)s'[0:1].%(surname)s")
+
+        from tests.functional.user_add import user_add
+        user_add("John", "Doe")
+        from tests.functional.synchronize import synchronize_once
+        synchronize_once()
+
+        auth = Auth()
+        auth.connect()
+
+        user = auth.find_recipient('john.doe at example.org')
+
+        user_info = wap_client.user_info(user)
+
+        self.assertEqual(user_info['uid'], "J.Doe")
+
+        from tests.functional.purge_users import purge_users
+        purge_users()
+
+    def test_004_givenname(self):
+        self.set('example.org', 'policy_uid', '%(givenname)s')
+
+        from tests.functional.user_add import user_add
+        user_add("John", "Doe")
+        from tests.functional.synchronize import synchronize_once
+        synchronize_once()
+
+        auth = Auth()
+        auth.connect()
+
+        user = auth.find_recipient('john.doe at example.org')
+
+        user_info = wap_client.user_info(user)
+
+        self.assertEqual(user_info['uid'], "John")
+
+        from tests.functional.purge_users import purge_users
+        purge_users()
+
+    def test_005_lowercase_givenname(self):
+        self.set('example.org', 'policy_uid', '%(givenname)s.lower()')
+
+        from tests.functional.user_add import user_add
+        user_add("John", "Doe")
+        from tests.functional.synchronize import synchronize_once
+        synchronize_once()
+
+        auth = Auth()
+        auth.connect()
+
+        user = auth.find_recipient('john.doe at example.org')
+
+        user_info = wap_client.user_info(user)
+
+        self.assertEqual(user_info['uid'], "john")
+
+        from tests.functional.purge_users import purge_users
+        purge_users()
+
+    def test_006_lowercase_givenname_surname(self):
+        self.set('example.org', 'policy_uid', "%(givenname)s.lower().%(surname)s.lower()")
+
+        from tests.functional.user_add import user_add
+        user_add("John", "Doe")
+        from tests.functional.synchronize import synchronize_once
+        synchronize_once()
+
+        auth = Auth()
+        auth.connect()
+
+        user = auth.find_recipient('john.doe at example.org')
+
+        user_info = wap_client.user_info(user)
+
+        self.assertEqual(user_info['uid'], "john.doe")
+
+        from tests.functional.purge_users import purge_users
+        purge_users()
+
+


commit b748e6930703fcaf8910248d0b8af0acb4d00f82
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Tue May 7 15:20:35 2013 +0200

    Delete a user by 'id', not 'user'

diff --git a/tests/functional/purge_users.py b/tests/functional/purge_users.py
index 5bc1b82..17db9d7 100644
--- a/tests/functional/purge_users.py
+++ b/tests/functional/purge_users.py
@@ -11,7 +11,7 @@ def purge_users():
 
     users = wap_client.users_list()
     for user in users['list']:
-        wap_client.user_delete({'user': user})
+        wap_client.user_delete({'id': user})
 
     from tests.functional.purge_imap import purge_imap
     purge_imap()


commit 481f4112ac743b102f52b55ca9b50d62d6cafbe6
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Tue May 7 15:19:26 2013 +0200

    Make sure .disconnect() is issued in order to prevent connections stacking up

diff --git a/wallace/module_resources.py b/wallace/module_resources.py
index 3bc62fc..cd92e3c 100644
--- a/wallace/module_resources.py
+++ b/wallace/module_resources.py
@@ -436,6 +436,9 @@ def execute(*args, **kw):
 
                         send_response(original_resource['mail'], itip_event)
 
+    auth.disconnect()
+    del auth
+
     # Disconnect IMAP or we lock the mailbox almost constantly
     imap.disconnect()
     del imap
@@ -589,6 +592,8 @@ def resource_record_from_email_address(email_address):
 
         resource_records = [ resource_records ]
 
+    auth.disconnect()
+
     return resource_records
 
 def resource_records_from_itip_events(itip_events):
@@ -722,6 +727,8 @@ def resource_records_from_itip_events(itip_events):
             level=8
         )
 
+    auth.disconnect()
+
     return resource_records
 
 def send_response(from_address, itip_events):





More information about the commits mailing list