Ejemplo n.º 1
0
class TestEmmaMailings(unittest.TestCase):

    # Note: this test requires that you first set up at least one test mailing campaign in your Emma account
    def setUp(self):
        self.em = Em(account_id, public_key, private_key)

    def test100_get_mailing_list(self):
        result = self.em.get_mailing_list()
        print ("get_mailing_list: %s" % result)
        self.assertTrue(isinstance(result, list), "No mailings found")
        mailing_dict = result[0]
        TestEmmaMailings.mailing_id = mailing_dict["mailing_id"]
        print ("mailing_id: %s" % TestEmmaMailings.mailing_id)

    def test200_get_mailing_detail(self):
        TestEmmaMailings.mailing_id = (
            2594963
        )  # Add the mailing_id here for your test mailing, which should include at least one member
        result = self.em.get_mailing_detail(TestEmmaMailings.mailing_id)
        self.assertTrue(
            isinstance(result, dict), "No mailing with mailing_id %s was found" % TestEmmaMailings.mailing_id
        )

    def test300_get_mailing_members(self):
        result = self.em.get_mailing_members(TestEmmaMailings.mailing_id)
        print ("get_mailing_members: %s" % result)
        self.assertTrue(isinstance(result, list), "No mailing members found")
        member_dict = result[0]
        TestEmmaMailings.member_id = member_dict["member_id"]
        print ("Mailing member_id: %s" % TestEmmaMailings.member_id)

    def test400_get_mailing_groups(self):
        result = self.em.get_mailing_groups(TestEmmaMailings.mailing_id)
        self.assertTrue(isinstance(result, list), "No mailing groups found")

    def test500_get_mailing_message(self):
        result = self.em.get_mailing_message(
            TestEmmaMailings.mailing_id, TestEmmaMailings.member_id, {"type": "plaintext"}
        )
        self.assertTrue(isinstance(result, dict), "No mailing message found")
        print ("Mailing message: %s" % result)

    def test600_append_to_mailing(self):
        result = self.em.append_to_mailing(
            TestEmmaMailings.mailing_id, {"heads_up_emails": ["*****@*****.**"]}
        )
        self.assertTrue(isinstance(result, dict), "a new mailing was not created")
        print ("append_to_mailing: %s" % result)
        TestEmmaMailings.new_mailing_id = result["mailing_id"]

    def test700_get_heads_up_emails(self):
        result = self.em.get_heads_up_emails(TestEmmaMailings.new_mailing_id)
        self.assertTrue(isinstance(result, list), "No heads up email addresses found")
        print ("get_heads_up_emails: %s" % result)

    def test800_update_mailing_status(self):
        result = self.em.update_mailing_status(TestEmmaMailings.mailing_id, {"status": "paused"})
        print ("update_mailing_status: %s" % result)
        self.assertTrue(isinstance(result, dict), "mailing status not updated")

    def test900_archive_mailing(self):
        result = self.em.archive_mailing(TestEmmaMailings.mailing_id)
        print ("archive_mailing: %s" % result)
        self.assertTrue(result, "mailing was not successfully archived")

    def test950_cancel_mailing(self):
        result = self.em.cancel_mailing(TestEmmaMailings.mailing_id)
        print ("cancel_mailing: %s" % result)
        self.assertTrue(result, "mailing was not successfully cancelled")