コード例 #1
0
    def test_401_error(self, klaviyo_401_error, mocked_get_request_timeout):

        try:
            utils_.authed_get("", "", "")
        except utils_.KlaviyoUnauthorizedError as e:
            self.assertEquals(
                str(e),
                "HTTP-error-code: 401, Error: Invalid authorization credentials."
            )
コード例 #2
0
    def test_500_error(self, klaviyo_500_error, mocked_get_request_timeout):

        try:
            utils_.authed_get("", "", "")
        except utils_.KlaviyoInternalServiceError as e:
            self.assertEquals(
                str(e),
                "HTTP-error-code: 500, Error: Internal Service Error from Klaviyo."
            )
コード例 #3
0
    def test_400_error(self, klaviyo_400_error, mocked_get_request_timeout):

        try:
            utils_.authed_get("", "", "")
        except utils_.KlaviyoBadRequestError as e:
            self.assertEquals(
                str(e),
                "HTTP-error-code: 400, Error: Request is missing or has a bad parameter."
            )
コード例 #4
0
    def test_404_error(self, klaviyo_404_error, mocked_get_request_timeout):

        try:
            utils_.authed_get("", "", "")
        except utils_.KlaviyoNotFoundError as e:
            self.assertEquals(
                str(e),
                "HTTP-error-code: 404, Error: The requested resource doesn't exist."
            )
コード例 #5
0
    def test_403_error(self, klaviyo_403_error, mocked_get_request_timeout):

        try:
            utils_.authed_get("", "", "")
        except utils_.KlaviyoForbiddenError as e:
            self.assertEquals(
                str(e),
                "HTTP-error-code: 403, Error: Invalid authorization credentials or permissions."
            )
コード例 #6
0
    def test_403_error_missing_api_key(self, klaviyo_403_error_missing_api_key,
                                       mocked_get_request_timeout):

        try:
            utils_.authed_get("", "", "")
        except utils_.KlaviyoForbiddenError as e:
            self.assertEquals(
                str(e),
                "HTTP-error-code: 403, Error: You must specify an API key to make requests."
            )
コード例 #7
0
    def test_403_error_wrong_api_key(self, klaviyo_403_error_wrong_api_key,
                                     mocked_get_request_timeout):

        try:
            utils_.authed_get("", "", "")
        except utils_.KlaviyoForbiddenError as e:
            self.assertEquals(
                str(e),
                "HTTP-error-code: 403, Error: The API key specified is invalid."
            )
コード例 #8
0
    def test_jsondecode(self, mocked_request, mocked_get_request_timeout):

        mock_resp = mock.Mock()

        mock_resp.status_code = 200
        mock_resp.json.side_effect = simplejson.scanner.JSONDecodeError(
            "", "", 1)

        mocked_request.return_value = mock_resp

        try:
            utils_.authed_get("", "", "")
        except simplejson.scanner.JSONDecodeError:
            pass

        self.assertEquals(mocked_request.call_count, 3)
コード例 #9
0
    def test_connection_error_backoff(self, mocked_parse_args, mocked_request,
                                      mocked_sleep):

        # mock request and raise 'ConnectionError' error
        mocked_request.side_effect = requests.ConnectionError

        mock_config = {}
        # mock parse args
        mocked_parse_args.return_value = get_args(mock_config)

        try:
            # function call
            utils.authed_get("test_source", "", "")
        except requests.ConnectionError:
            pass

        # verify that we backoff for 5 times
        self.assertEquals(5, mocked_request.call_count)
コード例 #10
0
    def test_timeout_empty_value_in_config(self, mocked_parse_args,
                                           mocked_request, mocked_sleep):

        mock_config = {"request_timeout": ""}
        # mock parse args
        mocked_parse_args.return_value = get_args(mock_config)

        # get the timeout value for assertion
        timeout = utils.get_request_timeout()
        # function call
        utils.authed_get("test_source", "", "")

        # verify that we got expected timeout value
        self.assertEquals(300.0, timeout)
        # verify that the request was called with expected timeout value
        mocked_request.assert_called_with(method='get',
                                          url='',
                                          params='',
                                          timeout=300.0)
コード例 #11
0
    def test_httperror(self, mocked_session, mocked_get_request_timeout):

        mock_resp = mock.Mock()

        klaviyo_error = utils_.KlaviyoInternalServiceError()
        http_error = requests.HTTPError()

        mock_resp.raise_for_error.side_effect = klaviyo_error
        mock_resp.raise_for_status.side_effect = http_error
        mock_resp.status_code = 500

        mocked_session.return_value = mock_resp

        try:
            utils_.authed_get("", "", "")
        except utils_.KlaviyoInternalServiceError:
            pass

        self.assertEquals(mocked_session.call_count, 3)
コード例 #12
0
    def test_200(self, successful_200_request, mocked_get_request_timeout):
        test_data = {"tap": "klaviyo", "code": 200}

        actual_data = utils_.authed_get("", "", "").json()
        self.assertEquals(actual_data, test_data)