prepare_kwargs: reference kwargs do not need to return

This commit is contained in:
debugtalk
2017-08-29 15:17:52 +08:00
parent 68622f7843
commit df2f90a4f4
2 changed files with 5 additions and 7 deletions

View File

@@ -12,15 +12,13 @@ from requests.exceptions import (InvalidSchema, InvalidURL, MissingSchema,
absolute_http_url_regexp = re.compile(r"^https?://", re.I)
def process_kwargs(method, **kwargs):
def prepare_kwargs(method, kwargs):
if method == "POST":
# if request content-type is application/json, request data should be dumped
content_type = kwargs.get("headers", {}).get("content-type", "")
if content_type.startswith("application/json") and "data" in kwargs:
kwargs["data"] = json.dumps(kwargs["data"])
return kwargs
class ApiResponse(Response):
@@ -152,7 +150,7 @@ class HttpSession(requests.Session):
Safe mode has been removed from requests 1.x.
"""
try:
kwargs = process_kwargs(method, **kwargs)
prepare_kwargs(method, kwargs)
return requests.Session.request(self, method, url, **kwargs)
except (MissingSchema, InvalidSchema, InvalidURL):
raise

View File

@@ -1,4 +1,4 @@
from ate.client import HttpSession, process_kwargs
from ate.client import HttpSession, prepare_kwargs
from tests.base import ApiServerUnittest
class TestHttpClient(ApiServerUnittest):
@@ -36,7 +36,7 @@ class TestHttpClient(ApiServerUnittest):
self.assertEqual(201, resp.status_code)
self.assertEqual(True, resp.json()['success'])
def test_process_kwargs(self):
def test_prepare_kwargs(self):
kwargs = {
"headers": {
"content-type": "application/json; charset=utf-8"
@@ -46,6 +46,6 @@ class TestHttpClient(ApiServerUnittest):
"b": 2
}
}
kwargs = process_kwargs("POST", **kwargs)
prepare_kwargs("POST", kwargs)
self.assertIn('"a": 1', kwargs["data"])
self.assertIn('"b": 2', kwargs["data"])