def setup_db(self): JCLRunner.setup_db(self) MailAccount.createTable(ifNotExists=True) IMAPAccount.createTable(ifNotExists=True) POP3Account.createTable(ifNotExists=True) AbstractSMTPAccount.createTable(ifNotExists=True) GlobalSMTPAccount.createTable(ifNotExists=True) SMTPAccount.createTable(ifNotExists=True)
def test__run(self): self.runner.pid_file = "/tmp/jmc.pid" self.runner.db_url = self.db_url def do_nothing(): return (False, 0) self.runner._run(do_nothing) model.db_connection_str = self.runner.db_url model.db_connect() # dropTable should succeed because tables should exist Account.dropTable() PresenceAccount.dropTable() User.dropTable() LegacyJID.dropTable() MailAccount.dropTable() IMAPAccount.dropTable() POP3Account.dropTable() SMTPAccount.dropTable() model.db_disconnect() self.assertFalse(os.access("/tmp/jmc.pid", os.F_OK))
def setUp(self): PresenceAccount_TestCase.setUp(self, tables=[MailAccount]) self.account = MailAccount(user=User(jid="*****@*****.**"), name="account1", jid="*****@*****.**") self.account_class = MailAccount
class MailAccount_TestCase(PresenceAccount_TestCase): def setUp(self): PresenceAccount_TestCase.setUp(self, tables=[MailAccount]) self.account = MailAccount(user=User(jid="*****@*****.**"), name="account1", jid="*****@*****.**") self.account_class = MailAccount def make_test(email_type, tested_func, expected_res): def inner(self): encoded, multipart, header = email_type email = email_generator.generate(encoded, multipart, header) part = tested_func(self, email) self.assertEquals(part, expected_res) return inner test_get_decoded_part_not_encoded = make_test( (False, False, False), lambda self, email: self.account.get_decoded_part(email, None), u"Not encoded single part", ) test_get_decoded_part_encoded = make_test( (True, False, False), lambda self, email: self.account.get_decoded_part(email, None), u"Encoded single part with 'iso-8859-15' charset (éàê)", ) test_format_message_summary_not_encoded = make_test( (False, False, True), lambda self, email: self.account.format_message_summary(email), (u"From : not encoded from\nSubject : not encoded subject\n\n", u"not encoded from"), ) test_format_message_summary_encoded = make_test( (True, False, True), lambda self, email: self.account.format_message_summary(email), (u"From : encoded from (éàê)\nSubject : encoded subject " + u"(éàê)\n\n", u"encoded from (éàê)"), ) test_format_message_summary_partial_encoded = make_test( (True, False, True), lambda self, email: email.replace_header("Subject", '" ' + str(email["Subject"]) + ' " not encoded part') or email.replace_header("From", '" ' + str(email["From"]) + ' " not encoded part') or self.account.format_message_summary(email), ( u'From : "encoded from (éàê)" not encoded part\nSubject ' + u': "encoded subject (éàê)" not encoded part\n\n', u'"encoded from (éàê)" not encoded part', ), ) test_format_message_single_not_encoded = make_test( (False, False, True), lambda self, email: self.account.format_message(email), ( u"From : not encoded from\nSubject : not encoded subject" + u"\n\nNot encoded single part\n", u"not encoded from", ), ) test_format_message_single_encoded = make_test( (True, False, True), lambda self, email: self.account.format_message(email), ( u"From : encoded from (éàê)\nSubject : encoded subject " + u"(éàê)\n\nEncoded single part with 'iso-8859-15' charset" + u" (éàê)\n", u"encoded from (éàê)", ), ) test_format_message_multi_not_encoded = make_test( (False, True, True), lambda self, email: self.account.format_message(email), ( u"From : not encoded from\nSubject : not encoded subject" + u"\n\nNot encoded multipart1\nNot encoded multipart2\n", u"not encoded from", ), ) test_format_message_multi_encoded = make_test( (True, True, True), lambda self, email: self.account.format_message(email), ( u"From : encoded from (éàê)\nSubject : encoded subject (éà" + u"ê)\n\nutf-8 multipart1 with no charset (éàê)" + u"\nEncoded multipart2 with 'iso-8859-15' charset (éàê)\n" + u"Encoded multipart3 with no charset (éàê)\n", u"encoded from (éàê)", ), ) def test_get_default_status_msg(self): """ Get default status message for MailAccount. Should raise NotImplementedError because get_type() method is not implemented """ try: self.account.get_default_status_msg(Lang.en) except NotImplementedError: return fail("No NotImplementedError raised")