From 60782526ce1b01606fa0ac35cd80c30472d48b3b Mon Sep 17 00:00:00 2001 From: David Rousselie Date: Wed, 6 Jun 2007 20:47:04 +0200 Subject: [PATCH] Add bare JID as third argument to register post functions darcs-hash:20070606184704-86b55-6795169def44ccfdfab56f781030d94eb5ef57ac.gz --- src/jmc/model/account.py | 17 ++++++----------- src/jmc/model/tests/account.py | 27 +++++++++------------------ 2 files changed, 15 insertions(+), 29 deletions(-) diff --git a/src/jmc/model/account.py b/src/jmc/model/account.py index 682ecff..92367bb 100644 --- a/src/jmc/model/account.py +++ b/src/jmc/model/account.py @@ -170,7 +170,7 @@ class MailAccount(PresenceAccount): def _get_register_fields(cls, real_class=None): """See Account._get_register_fields """ - def password_post_func(password, default_func): + def password_post_func(password, default_func, bare_from_jid): if password is None or password == "": return None return password @@ -179,13 +179,13 @@ class MailAccount(PresenceAccount): real_class = cls return PresenceAccount.get_register_fields(real_class) + \ [("login", "text-single", None, - lambda field_value, default_func: \ + lambda field_value, default_func, bare_from_jid: \ account.mandatory_field(field_value), lambda : ""), ("password", "text-private", None, password_post_func, lambda : ""), ("host", "text-single", None, - lambda field_value, default_func: \ + lambda field_value, default_func, bare_from_jid: \ account.mandatory_field(field_value), lambda : ""), ("port", "text-single", None, @@ -364,11 +364,6 @@ class IMAPAccount(MailAccount): def _get_register_fields(cls, real_class=None): """See Account._get_register_fields """ - def password_post_func(password): - if password is None or password == "": - return None - return password - if real_class is None: real_class = cls return MailAccount.get_register_fields(real_class) + \ @@ -569,7 +564,7 @@ class SMTPAccount(Account): def _get_register_fields(cls, real_class=None): """See Account._get_register_fields """ - def password_post_func(password, default_func): + def password_post_func(password, default_func, bare_from_jid): if password is None or password == "": return None return password @@ -583,7 +578,7 @@ class SMTPAccount(Account): ("password", "text-private", None, password_post_func, lambda : ""), ("host", "text-single", None, - lambda field_value, default_func: \ + lambda field_value, default_func, bare_from_jid: \ account.mandatory_field(field_value), lambda : ""), ("port", "text-single", None, @@ -593,7 +588,7 @@ class SMTPAccount(Account): account.default_post_func, lambda : False), ("default_from", "text-single", None, - lambda field_value, default_func: \ + lambda field_value, default_func, bare_from_jid: \ account.mandatory_field(field_value), lambda : ""), ("store_password", "boolean", None, diff --git a/src/jmc/model/tests/account.py b/src/jmc/model/tests/account.py index 99aa526..d078e0f 100644 --- a/src/jmc/model/tests/account.py +++ b/src/jmc/model/tests/account.py @@ -33,7 +33,8 @@ from jcl.model import account from jcl.model.account import Account, PresenceAccount from jmc.model.account import MailAccount, POP3Account, IMAPAccount, SMTPAccount -from jcl.model.tests.account import Account_TestCase, PresenceAccount_TestCase +from jcl.model.tests.account import Account_TestCase, \ + PresenceAccount_TestCase, InheritableAccount_TestCase from jmc.model.tests import email_generator, server if sys.platform == "win32": @@ -145,11 +146,7 @@ class MailAccount_TestCase(PresenceAccount_TestCase): u"Encoded multipart3 with no charset (éàê)\n", \ u"encoded from (éàê)")) - def test_get_register_fields(self): - register_fields = MailAccount.get_register_fields() - self.assertEquals(len(register_fields), 15) - -class POP3Account_TestCase(unittest.TestCase): +class POP3Account_TestCase(InheritableAccount_TestCase): def setUp(self): if os.path.exists(DB_PATH): os.unlink(DB_PATH) @@ -167,6 +164,7 @@ class POP3Account_TestCase(unittest.TestCase): self.pop3_account.port = 1110 self.pop3_account.ssl = False del account.hub.threadConnection + self.account_class = POP3Account def tearDown(self): account.hub.threadConnection = connectionForURI('sqlite://' + DB_URL) @@ -275,11 +273,7 @@ class POP3Account_TestCase(unittest.TestCase): u"mymessage\n", \ u"user@test.com"))) - def test_get_register_fields(self): - register_fields = POP3Account.get_register_fields() - self.assertEquals(len(register_fields), 15) - -class IMAPAccount_TestCase(unittest.TestCase): +class IMAPAccount_TestCase(InheritableAccount_TestCase): def setUp(self): if os.path.exists(DB_PATH): os.unlink(DB_PATH) @@ -297,6 +291,7 @@ class IMAPAccount_TestCase(unittest.TestCase): self.imap_account.port = 1143 self.imap_account.ssl = False del account.hub.threadConnection + self.account_class = IMAPAccount def tearDown(self): account.hub.threadConnection = connectionForURI('sqlite://' + DB_URL) @@ -383,15 +378,11 @@ class IMAPAccount_TestCase(unittest.TestCase): lambda self: self.assertEquals(self.imap_account.get_mail(1), \ (u"From : None\nSubject : None\n\nbody text\r\n\n", \ u"None"))) - - def test_get_register_fields(self): - register_fields = IMAPAccount.get_register_fields() - self.assertEquals(len(register_fields), 16) class SMTPAccount_TestCase(Account_TestCase): - def test_get_register_fields(self): - register_fields = SMTPAccount.get_register_fields() - self.assertEquals(len(register_fields), 8) + def setUp(self): + Account_TestCase.setUp(self) + self.account_class = SMTPAccount def suite(): suite = unittest.TestSuite()