def test_get_extra_paranms(http_mock, response_mock): http = Mock() http.request.return_value = (Mock(), Mock()) http_mock.return_value = http make_request("GET", "http://httpbin.org/get?foo=bar", params={"hey": "you"}) http.request.assert_called_with("http://httpbin.org/get?foo=bar&hey=you", "GET", body=None, headers=None)
def test_resp_uri(http_mock, response_mock): http = Mock() http.request.return_value = (Mock(), Mock()) http_mock.return_value = http make_request("GET", "http://httpbin.org/get") http.request.assert_called_with("http://httpbin.org/get", "GET", body=None, headers=None)
def test_unicode_sequence_form_value(resp_mock, mock): http = mock.return_value http.request.return_value = (Mock(), Mock()) data = {"body": [u("\xe5"), u("\xe7")]} resources.make_request("POST", "http://www.example.com", data=data) http.request.assert_called_with("http://www.example.com", "POST", headers=None, body="body=%C3%A5&body=%C3%A7")
def test_paging(resp_mock, mock): http = mock.return_value http.request.return_value = (Mock(), Mock()) data = {"body": u("Chlo\xe9\xf1")} resources.make_request("GET", "http://www.example.com", data=data) http.request.assert_called_with("http://www.example.com", "GET", headers=None, body="body=Chlo%C3%A9%C3%B1")
def test_ascii_encode(resp_mock, mock): http = mock.return_value http.request.return_value = (Mock(), Mock()) data = {"body": "HeyHey".encode("utf-8")} resources.make_request("GET", "http://www.example.com", data=data) http.request.assert_called_with("http://www.example.com", "GET", headers=None, body="body=HeyHey")
def test_ascii_encode(resp_mock, mock): http = mock.return_value http.request.return_value = (Mock(), Mock()) data = { "body": "HeyHey".encode('utf-8') } resources.make_request("GET", "http://www.example.com", data=data) http.request.assert_called_with("http://www.example.com", "GET", headers=None, body="body=HeyHey")
def test_paging(resp_mock, mock): http = mock.return_value http.request.return_value = (Mock(), Mock()) data = { "body": u('Chlo\xe9\xf1'), } resources.make_request("GET", "http://www.example.com", data=data) http.request.assert_called_with("http://www.example.com", "GET", headers=None, body="body=Chlo%C3%A9%C3%B1")
def test_double_encoding(resp_mock, mock): http = mock.return_value http.request.return_value = (Mock(), Mock()) body = u"Chloéñ" data = { "body": body.encode('utf-8'), } resources.make_request("GET", "http://www.example.com", data=data) http.request.assert_called_with("http://www.example.com", "GET", headers=None, body="body=Chlo%C3%A9%C3%B1")
def test_unicode_sequence_form_value(resp_mock, mock): http = mock.return_value http.request.return_value = (Mock(), Mock()) data = { "body": [u('\xe5'), u('\xe7')], } resources.make_request("POST", "http://www.example.com", data=data) http.request.assert_called_with( "http://www.example.com", "POST", headers=None, body="body=%C3%A5&body=%C3%A7", )
def request(self, path, method=None, vars=None): """sends a request and gets a response from the Twilio REST API .. deprecated:: 3.0 :param path: the URL (relative to the endpoint URL, after the /v1 :param url: the HTTP method to use, defaults to POST :param vars: for POST or PUT, a dict of data to send :returns: Twilio response in XML or raises an exception on error :raises: a :exc:`ValueError` if the path is invalid :raises: a :exc:`NotImplementedError` if the method is unknown This method is only included for backwards compatability reasons. It will be removed in a future version """ logging.warning(":meth:`TwilioRestClient.request` is deprecated and " "will be removed in a future version") vars = vars or {} params = None data = None if not path or len(path) < 1: raise ValueError('Invalid path parameter') if method and method not in ['GET', 'POST', 'DELETE', 'PUT']: raise NotImplementedError('HTTP %s method not implemented' % method) if path[0] == '/': uri = self.base + path else: uri = self.base + '/' + path if method == "GET": params = vars elif method == "POST" or method == "PUT": data = vars user_agent = "twilio-python %s (python-%s)" % ( LIBRARY_VERSION, platform.python_version(), ) headers = { "User-Agent": user_agent, "Accept-Charset": "utf-8", } resp = make_request(method, uri, auth=self.auth, data=data, params=params, headers=headers) return resp.content
def request(self, path, method=None, vars=None): """sends a request and gets a response from the Twilio REST API .. deprecated:: 3.0 :param path: the URL (relative to the endpoint URL, after the /v1 :param url: the HTTP method to use, defaults to POST :param vars: for POST or PUT, a dict of data to send :returns: Twilio response in XML or raises an exception on error :raises: a :exc:`ValueError` if the path is invalid :raises: a :exc:`NotImplementedError` if the method is unknown This method is only included for backwards compatability reasons. It will be removed in a future version """ logging.warning(":meth:`TwilioRestClient.request` is deprecated and " "will be removed in a future version") vars = vars or {} params = None data = None if not path or len(path) < 1: raise ValueError('Invalid path parameter') if method and method not in ['GET', 'POST', 'DELETE', 'PUT']: raise NotImplementedError( 'HTTP %s method not implemented' % method) if path[0] == '/': uri = self.base + path else: uri = self.base + '/' + path if method == "GET": params = vars elif method == "POST" or method == "PUT": data = vars user_agent = "twilio-python %s (python-%s)" % ( LIBRARY_VERSION, platform.python_version(), ) headers = { "User-Agent": user_agent, "Accept-Charset": "utf-8", "Authorization": "Basic {}".format(base64.b64encode(':'.join(self.auth))) } resp = make_request(method, uri, auth=self.auth, data=data, params=params, headers=headers) return resp.content
def request(self, path, method=None, vars=None): """sends a request and gets a response from the Twilio REST API .. deprecated:: 3.0 :param path: the URL (relative to the endpoint URL, after the /v1 :param url: the HTTP method to use, defaults to POST :param vars: for POST or PUT, a dict of data to send :returns: Twilio response in XML or raises an exception on error This method is only included for backwards compatability reasons. It will be removed in a future version """ logging.warning(":meth:`TwilioRestClient.request` is deprecated and " "will be removed in a future version") vars = vars or {} params = None data = None if not path or len(path) < 1: raise ValueError('Invalid path parameter') if method and method not in ['GET', 'POST', 'DELETE', 'PUT']: raise NotImplementedError( 'HTTP %s method not implemented' % method) if path[0] == '/': uri = self.base + path else: uri = self.base + '/' + path if method == "GET": params = vars elif method == "POST" or method == "PUT": data = vars headers = { "User-Agent": "twilio-python", } resp = make_request(method, uri, auth=self.auth, data=data, params=params, headers=headers) return resp.content
def check_get_params(url, params): resp = make_request("GET", url, params=params) body = json.loads(resp.content) assert_equals(body["args"]["hey"], "you") assert_equals(body["args"]["foo"], "bar")
def test_resp_uri(): resp = make_request("GET", "http://httpbin.org/get") assert_equals(resp.url, "http://httpbin.org/get")