Changeset View
Changeset View
Standalone View
Standalone View
tests/functional/test_wap_client/test_002_user_add.py
import time | import time | ||||
import unittest | import unittest | ||||
import pykolab | import pykolab | ||||
from pykolab import wap_client | from pykolab import wap_client | ||||
from pykolab.auth import Auth | from pykolab.auth import Auth | ||||
from pykolab.imap import IMAP | from pykolab.imap import IMAP | ||||
conf = pykolab.getConf() | conf = pykolab.getConf() | ||||
class TestUserAdd(unittest.TestCase): | class TestUserAdd(unittest.TestCase): | ||||
@classmethod | @classmethod | ||||
def setup_class(self, *args, **kw): | def setup_class(self, *args, **kw): | ||||
from tests.functional.purge_users import purge_users | from tests.functional.purge_users import purge_users | ||||
purge_users() | purge_users() | ||||
self.user = { | self.user = { | ||||
'local': 'john.doe', | 'local': 'john.doe', | ||||
'domain': 'example.org' | 'domain': 'example.org' | ||||
} | } | ||||
from tests.functional.user_add import user_add | from tests.functional.user_add import user_add | ||||
user_add("John", "Doe") | user_add("John", "Doe") | ||||
from tests.functional.synchronize import synchronize_once | from tests.functional.synchronize import synchronize_once | ||||
synchronize_once() | synchronize_once() | ||||
@classmethod | @classmethod | ||||
def teardown_class(self, *args, **kw): | def teardown_class(self, *args, **kw): | ||||
from tests.functional.purge_users import purge_users | from tests.functional.purge_users import purge_users | ||||
purge_users() | purge_users() | ||||
def test_001_inbox_created(self): | def test_001_inbox_created(self): | ||||
time.sleep(2) | time.sleep(2) | ||||
imap = IMAP() | imap = IMAP() | ||||
imap.connect() | imap.connect() | ||||
folders = imap.lm('user/%(local)s@%(domain)s' % (self.user)) | folders = imap.lm('user/%(local)s@%(domain)s' % (self.user)) | ||||
self.assertEqual(len(folders), 1) | self.assertEqual(len(folders), 1) | ||||
def test_002_autocreate_folders_created(self): | def test_002_autocreate_folders_created(self): | ||||
Show All 19 Lines | def test_003_folders_metadata_set(self): | ||||
folders = [] | folders = [] | ||||
folders.extend(imap.lm('user/%(local)s@%(domain)s' % (self.user))) | folders.extend(imap.lm('user/%(local)s@%(domain)s' % (self.user))) | ||||
folders.extend(imap.lm('user/%(local)s/*@%(domain)s' % (self.user))) | folders.extend(imap.lm('user/%(local)s/*@%(domain)s' % (self.user))) | ||||
for folder in folders: | for folder in folders: | ||||
metadata = imap.get_metadata(folder) | metadata = imap.get_metadata(folder) | ||||
folder_name = '/'.join(folder.split('/')[2:]).split('@')[0] | folder_name = '/'.join(folder.split('/')[2:]).split('@')[0] | ||||
if ac_folders.has_key(folder_name): | if folder_name in ac_folders: | ||||
if ac_folders[folder_name].has_key('annotations'): | if 'annotations' in ac_folders[folder_name]: | ||||
for _annotation in ac_folders[folder_name]['annotations'].keys(): | for _annotation in ac_folders[folder_name]['annotations']: | ||||
if _annotation.startswith('/private/'): | if _annotation.startswith('/private/'): | ||||
continue | continue | ||||
_annotation_value = ac_folders[folder_name]['annotations'][_annotation] | _annotation_value = ac_folders[folder_name]['annotations'][_annotation] | ||||
self.assertTrue(metadata[metadata.keys().pop()].has_key(_annotation)) | self.assertTrue(_annotation in metadata[metadata.keys().pop()]) | ||||
self.assertEqual(_annotation_value, metadata[metadata.keys().pop()][_annotation]) | self.assertEqual(_annotation_value, metadata[metadata.keys().pop()][_annotation]) | ||||