コード例 #1
0
class EmailSenderSendEmailToUsersTest(TestCase):
    def setUp(self):
        self.sender = EmailSender()

    def test_default_usage(self):
        users = G(User, n=2)
        total = self.sender.send_email_to_users(users, [], 'x', 'y', 'z')
        self.assertEquals(2, total)

    def test_additional_emails_must_be_considered(self):
        users = []
        total = self.sender.send_email_to_users(users, ['*****@*****.**'], 'x', 'y',
                                                'z')
        self.assertEquals(1, total)

    def test_only_users_that_did_not_disable_email_type_must_be_considered(
            self):
        email_type = G(EmailType, can_be_disabled=True)
        users = G(User, n=2)
        G(UserEmailPreferences,
          user=users[0],
          email_type=email_type,
          enabled=False)
        G(UserEmailPreferences,
          user=users[1],
          email_type=email_type,
          enabled=True)

        total = self.sender.send_email_to_users(users, [], 'x', 'y', 'z',
                                                email_type)

        self.assertEquals(1, total)
コード例 #2
0
class EmailSenderSendEmailToGroupsTest(TestCase):
    def setUp(self):
        self.sender = EmailSender()

    def test_empty_groups_must_do_nothing(self):
        groups = G(Group, n=2)
        total = self.sender.send_email_to_groups(groups, [], 'x', 'y', 'z')
        self.assertEquals(0, total)

    def test_it_must_consider_all_active_users_in_all_groups(self):
        groups = [G(Group, n=1)]
        G(User, groups=groups, is_active=True)
        G(User, groups=groups, is_active=False)

        total = self.sender.send_email_to_groups(groups, [], 'x', 'y', 'z')

        self.assertEquals(1, total)

    def test_it_must_not_send_the_same_email_more_than_once_to_a_user_that_belongs_to_many_groups(
            self):
        groups = G(Group, n=2)
        G(User, groups=groups)

        total = self.sender.send_email_to_groups(groups, [], 'x', 'y', 'z')

        self.assertEquals(1, total)

    def test_additional_emails_must_be_considered(self):
        groups = []
        total = self.sender.send_email_to_groups(groups, ['*****@*****.**'], 'x', 'y',
                                                 'z')
        self.assertEquals(1, total)

    def test_only_users_that_did_not_disable_email_type_must_be_considered(
            self):
        email_type = G(EmailType, can_be_disabled=True)
        groups = G(Group, n=2)
        users = G(User, n=2, groups=groups)
        G(UserEmailPreferences,
          user=users[0],
          email_type=email_type,
          enabled=False)
        G(UserEmailPreferences,
          user=users[1],
          email_type=email_type,
          enabled=True)

        total = self.sender.send_email_to_groups(groups, [], 'x', 'y', 'z',
                                                 email_type)

        self.assertEquals(1, total)
コード例 #3
0
def send_email(emails,
               subject,
               text_content=None,
               html_content=None,
               main_content=None):
    EmailSender().send_email(emails, subject, text_content, html_content,
                             main_content)
コード例 #4
0
class EmailSenderSendEmailToGroupsTest(TestCase):
    def setUp(self):
        self.sender = EmailSender()

    def test_empty_groups_must_do_nothing(self):
        groups = G(Group, n=2)
        total = self.sender.send_email_to_groups(groups, [], "x", "y", "z")
        self.assertEquals(0, total)

    def test_it_must_consider_all_active_users_in_all_groups(self):
        groups = [G(Group, n=1)]
        G(User, groups=groups, is_active=True)
        G(User, groups=groups, is_active=False)

        total = self.sender.send_email_to_groups(groups, [], "x", "y", "z")

        self.assertEquals(1, total)

    def test_it_must_not_send_the_same_email_more_than_once_to_a_user_that_belongs_to_many_groups(self):
        groups = G(Group, n=2)
        G(User, groups=groups)

        total = self.sender.send_email_to_groups(groups, [], "x", "y", "z")

        self.assertEquals(1, total)

    def test_additional_emails_must_be_considered(self):
        groups = []
        total = self.sender.send_email_to_groups(groups, ["*****@*****.**"], "x", "y", "z")
        self.assertEquals(1, total)

    def test_only_users_that_did_not_disable_email_type_must_be_considered(self):
        email_type = G(EmailType, can_be_disabled=True)
        groups = G(Group, n=2)
        users = G(User, n=2, groups=groups)
        G(UserEmailPreferences, user=users[0], email_type=email_type, enabled=False)
        G(UserEmailPreferences, user=users[1], email_type=email_type, enabled=True)

        total = self.sender.send_email_to_groups(groups, [], "x", "y", "z", email_type)

        self.assertEquals(1, total)
コード例 #5
0
class EmailSenderUsersOfGroupsTest(TestCase):
    def setUp(self):
        self.sender = EmailSender()

    def test_user_without_groups_must_consider_only_active_users(self):
        u1 = G(User, is_active=True)
        u2 = G(User, is_active=False)
        self.assertTrue(u1 in self.sender.users_of_groups(None))
        self.assertTrue(u2 not in self.sender.users_of_groups(None))

    def test_user_without_groups_must_not_be_selected(self):
        g1 = G(Group)
        u1 = G(User)
        self.assertTrue(u1 not in self.sender.users_of_groups([g1]))

    def test_user_must_have_at_least_one_group(self):
        g1, g2, g3 = G(Group, n=3)
        u1 = G(User, groups=[g1, g2])
        u2 = G(User, groups=[g1])
        u3 = G(User, groups=[g3])
        groups = [g1, g2]
        self.assertTrue(u1 in self.sender.users_of_groups(groups))
        self.assertTrue(u2 in self.sender.users_of_groups(groups))
        self.assertTrue(u3 not in self.sender.users_of_groups(groups))

    def test_user_without_at_least_one_of_the_selected_group_must_not_be_selected(self):
        g1, g2 = G(Group, n=2)
        u1 = G(User, groups=2)
        self.assertTrue(u1 not in self.sender.users_of_groups([g1, g2]))
コード例 #6
0
class EmailSenderUsersOfGroupsTest(TestCase):
    def setUp(self):
        self.sender = EmailSender()

    def test_user_without_groups_must_consider_only_active_users(self):
        u1 = G(User, is_active=True)
        u2 = G(User, is_active=False)
        self.assertTrue(u1 in self.sender.users_of_groups(None))
        self.assertTrue(u2 not in self.sender.users_of_groups(None))

    def test_user_without_groups_must_not_be_selected(self):
        g1 = G(Group)
        u1 = G(User)
        self.assertTrue(u1 not in self.sender.users_of_groups([g1]))

    def test_user_must_have_at_least_one_group(self):
        g1, g2, g3 = G(Group, n=3)
        u1 = G(User, groups=[g1, g2])
        u2 = G(User, groups=[g1])
        u3 = G(User, groups=[g3])
        groups = [g1, g2]
        self.assertTrue(u1 in self.sender.users_of_groups(groups))
        self.assertTrue(u2 in self.sender.users_of_groups(groups))
        self.assertTrue(u3 not in self.sender.users_of_groups(groups))

    def test_user_without_at_least_one_of_the_selected_group_must_not_be_selected(
            self):
        g1, g2 = G(Group, n=2)
        u1 = G(User, groups=2)
        self.assertTrue(u1 not in self.sender.users_of_groups([g1, g2]))
コード例 #7
0
class EmailSenderSendEmailToUsersTest(TestCase):
    def setUp(self):
        self.sender = EmailSender()

    def test_default_usage(self):
        users = G(User, n=2)
        total = self.sender.send_email_to_users(users, [], "x", "y", "z")
        self.assertEquals(2, total)

    def test_additional_emails_must_be_considered(self):
        users = []
        total = self.sender.send_email_to_users(users, ["*****@*****.**"], "x", "y", "z")
        self.assertEquals(1, total)

    def test_only_users_that_did_not_disable_email_type_must_be_considered(self):
        email_type = G(EmailType, can_be_disabled=True)
        users = G(User, n=2)
        G(UserEmailPreferences, user=users[0], email_type=email_type, enabled=False)
        G(UserEmailPreferences, user=users[1], email_type=email_type, enabled=True)

        total = self.sender.send_email_to_users(users, [], "x", "y", "z", email_type)

        self.assertEquals(1, total)
コード例 #8
0
 def setUp(self):
     self.sender = EmailSender()
コード例 #9
0
def send_email_to_users(users, additional_emails, subject, content,
                        html_content):
    EmailSender().send_email_to_users(users, additional_emails, subject,
                                      content, html_content)
コード例 #10
0
def send_email_to_groups(groups, additional_emails, subject, content,
                         html_content):
    EmailSender().send_email_to_groups(groups, additional_emails, subject,
                                       content, html_content)
コード例 #11
0
 def setUp(self):
     self.sender = EmailSender()