Beispiel #1
0
def send_emails():
    try:
        api_client = MessageBusAPIClient(api_key, uri=uri)
        message_jane = {
            'to_email': '*****@*****.**',
            'to_name': 'Jane Smith',
            'from_email': '*****@*****.**',
            'from_name': 'Example Corporation',
            'subject': 'Single Message Sample for Jane Smith',
            'return_path': '*****@*****.**',
            'plaintext_body': 'This message to Jane Smith is a test sent by the Python Message Bus client library.',
            'html_body': '<html><body>This message to Jane Smith is a test sent by the Python Message Bus sdk.</body></html>',
            'session_key': 'DEFAULT',
        }

        message_john = {
            'to_email': '*****@*****.**',
            'to_name': 'John Doe',
            'from_email': '*****@*****.**',
            'from_name': 'Example Corporation',
            'subject': 'Single Message Sample for John Doe',
            'return_path': '*****@*****.**',
            'plaintext_body': 'This message to John Doe is a test sent by the Python Message Bus client library.',
            'html_body': '<html><body>This message to John Doe is a test sent by the Python Message Bus sdk.</body></html>',
            'session_key': 'DEFAULT',
        }
        results = api_client.send_messages([message_jane, message_john])
    except MessageBusResponseError, error:
        print error.message
    def test_mb_send_207(self):
        expected_resp = json.dumps(
            {
                u"failure_count": 1,
                u"results": [
                    {
                        u"message_id": u"fbeeb6e0838911e289f5bc764e049d62",
                        u"message_status": 0,
                        u"to_email": u"*****@*****.**",
                    },
                    {
                        u"message_id": u"fbeeddf0838911e289f5bc764e049d62",
                        u"message_status": 1002,
                        u"to_email": u"usarin",
                    },
                ],
                u"status_code": 207,
                u"status_message": u"One or more emails not sent. See individual error messages.",
                u"status_time": u"2013-03-02T22:39:03.581Z",
                u"success_count": 1,
            },
            sort_keys=True,
        )

        mb = MessageBusAPIClient(self.api_key)
        mb._last_init_time = datetime.datetime.now()

        body = json.dumps({"messages": []})
        mb.__dict__["_MessageBusBase__connection"] = self._setup_mock_connection(
            "POST", constants.end_points["message_emails_send"], body, 207, expected_resp
        )

        received_resp = mb.send_messages([])
        self.assertEqual(json.dumps(received_resp, sort_keys=True), expected_resp)
        self.mocker.UnsetStubs()
    def test_mb_simulate_sends(self):
        expected_resp_400 = json.dumps(
            {u"status_code": 400, u"status_message": u"A non 2xx message", u"status_time": u"2013-03-02T22:39:03.581Z"}
        )

        expected_resp_207 = json.dumps(
            {
                u"failure_count": 1,
                u"results": [
                    {
                        u"message_id": u"fbeeb6e0838911e289f5bc764e049d62",
                        u"message_status": 0,
                        u"to_email": u"*****@*****.**",
                    },
                    {u"message_id": u"fbeeddf0838911e289f5bc764e049d62", u"message_status": 1002, u"to_email": u"bob"},
                ],
                u"status_code": 207,
                u"status_message": u"One or more emails not sent. See individual error messages.",
                u"status_time": u"2013-03-02T22:39:03.581Z",
                u"success_count": 1,
            },
            sort_keys=True,
        )

        expected_resp_202 = json.dumps(
            {
                u"failure_count": 0,
                u"results": [
                    {
                        u"message_id": u"fbeeb6e0838911e289f5bc764e049d62",
                        u"message_status": 0,
                        u"to_email": u"*****@*****.**",
                    },
                    {
                        u"message_id": u"fbeeddf0838911e289f5bc764e049d62",
                        u"message_status": 0,
                        u"to_email": u"*****@*****.**",
                    },
                ],
                u"status_code": 202,
                u"status_message": u".",
                u"status_time": u"2013-03-02T22:39:03.581Z",
                u"success_count": 2,
            },
            sort_keys=True,
        )

        mb = MessageBusAPIClient(self.api_key)

        body = json.dumps({"messages": []})
        mb.__dict__["_MessageBusBase__connection"] = self._setup_mock_connection(
            "POST", constants.end_points["message_emails_send"], body, 400, expected_resp_400
        )
        self.assertRaises(MessageBusResponseError, mb.send_messages, [])
        self.mocker.UnsetStubs()

        body = json.dumps({"messages": []})
        mb.__dict__["_MessageBusBase__connection"] = self._setup_mock_connection(
            "POST", constants.end_points["message_emails_send"], body, 207, expected_resp_207
        )

        # should not raise exception
        received_resp = mb.send_messages([])

        self.assertEqual(json.dumps(received_resp, sort_keys=True), expected_resp_207)
        self.mocker.UnsetStubs()

        body = json.dumps({"messages": []})
        mb.__dict__["_MessageBusBase__connection"] = self._setup_mock_connection(
            "POST", constants.end_points["message_emails_send"], body, 202, expected_resp_202
        )

        # should not raise exception
        received_resp = mb.send_messages([])

        self.assertEqual(json.dumps(received_resp, sort_keys=True), expected_resp_202)
        self.mocker.UnsetStubs()