Beispiel #1
0
    def test_send_additional_email_fail(self):
        """
        Tests that a failure to send an additional email doesn't cause
        it to become invalid or break.
        """

        task = Task.objects.create(
            keystone_user={},
            task_type="edit_roles",
        )

        action = SendAdditionalEmailAction({}, task=task, order=1)

        action.prepare()
        self.assertEqual(action.valid, True)

        task.cache["additional_emails"] = [
            "*****@*****.**", "*****@*****.**"
        ]

        action.approve()
        self.assertEqual(action.valid, True)

        self.assertEqual(len(mail.outbox), 0)
        self.assertTrue(
            "Unable to send additional email. Stage: approve" in
            action.action.task.action_notes["SendAdditionalEmailAction"][1])

        action.submit({})
        self.assertEqual(action.valid, True)
Beispiel #2
0
    def test_send_additional_email_task_cache(self):
        """
        Tests sending an additional email with the address placed in the
        task cache.
        """

        task = Task.objects.create(keystone_user={})

        action = SendAdditionalEmailAction({}, task=task, order=1)

        action.prepare()
        self.assertEqual(action.valid, True)

        task.cache["additional_emails"] = [
            "*****@*****.**", "*****@*****.**"
        ]

        action.approve()
        self.assertEqual(action.valid, True)

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(set(mail.outbox[0].to),
                         set(["*****@*****.**", "*****@*****.**"]))

        action.submit({})
        self.assertEqual(action.valid, True)
        self.assertEqual(len(mail.outbox), 1)
Beispiel #3
0
    def test_send_additional_email_task_cache_none_set(self):
        """
        Tests sending an additional email with 'email_task_cache' set but
        no address placed in the task cache.
        """

        task = Task.objects.create(keystone_user={})

        action = SendAdditionalEmailAction({}, task=task, order=1)

        action.prepare()
        self.assertEqual(action.valid, True)

        action.approve()
        self.assertEqual(action.valid, True)

        self.assertEqual(len(mail.outbox), 0)

        action.submit({})
        self.assertEqual(action.valid, True)
Beispiel #4
0
    def test_send_additional_email_email_in_config(self):
        """
        Tests sending an additional email with the address placed in the
        task cache.
        """

        task = Task.objects.create(keystone_user={})

        action = SendAdditionalEmailAction({}, task=task, order=1)

        action.prepare()
        self.assertEqual(action.valid, True)

        action.approve()
        self.assertEqual(action.valid, True)

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(mail.outbox[0].to, ["*****@*****.**"])

        action.submit({})
        self.assertEqual(action.valid, True)
        self.assertEqual(len(mail.outbox), 1)