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_flush_non_2xx(self):
        expected_resp = json.dumps(
            {u"status_code": 400, u"status_message": u"A non 2xx message", u"status_time": u"2013-03-02T22:39:03.581Z"}
        )
        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, 400, expected_resp
        )

        # should raise exception
        self.assertRaises(MessageBusResponseError, mb.send_messages, [])
        self.mocker.UnsetStubs()