Skip to content

Commit

Permalink
HH-53228 Append data kwarg in delete requests to query string instead…
Browse files Browse the repository at this point in the history
… of body

Conflicts:
	tests/test_handler.py
  • Loading branch information
SuminAndrew authored and ipetropolsky committed Jun 19, 2015
1 parent ab75569 commit 8c57533
Show file tree
Hide file tree
Showing 12 changed files with 34 additions and 12 deletions.
2 changes: 1 addition & 1 deletion frontik/handler.py
Expand Up @@ -547,7 +547,7 @@ def put_url(self, url, data='', headers=None, connect_timeout=None, request_time
add_to_finish_group=add_to_finish_group, parse_response=parse_response, parse_on_error=parse_on_error
)

def delete_url(self, url, data='', headers=None, connect_timeout=None, request_timeout=None, callback=None,
def delete_url(self, url, data=None, headers=None, connect_timeout=None, request_timeout=None, callback=None,
content_type=None, labels=None, add_to_finish_group=True, parse_response=True, parse_on_error=False):

return self._http_client.delete_url(
Expand Down
2 changes: 1 addition & 1 deletion frontik/http_client.py
Expand Up @@ -110,7 +110,7 @@ def put_url(self, url, data='', headers=None, connect_timeout=None, request_time

return future

def delete_url(self, url, data='', headers=None, connect_timeout=None, request_timeout=None,
def delete_url(self, url, data=None, headers=None, connect_timeout=None, request_timeout=None,
callback=None, error_callback=None, content_type=None, labels=None,
add_to_finish_group=True, parse_response=True, parse_on_error=False):

Expand Down
2 changes: 1 addition & 1 deletion frontik/micro_handler.py
Expand Up @@ -41,7 +41,7 @@ def PUT(self, host, uri, data='', headers=None, connect_timeout=None, request_ti
)
)

def DELETE(self, host, uri, data='', headers=None, connect_timeout=None, request_timeout=None,
def DELETE(self, host, uri, data=None, headers=None, connect_timeout=None, request_timeout=None,
content_type=None, labels=None, fail_on_error=False):
return MicroHandler._Request(
'DELETE', host, uri, dict(
Expand Down
6 changes: 3 additions & 3 deletions frontik/util.py
Expand Up @@ -186,14 +186,14 @@ def make_put_request(url, data='', headers=None, content_type=None, connect_time
)


def make_delete_request(url, data='', headers=None, content_type=None, connect_timeout=None, request_timeout=None):
def make_delete_request(url, data=None, headers=None, content_type=None, connect_timeout=None, request_timeout=None):
data = {} if data is None else data
headers = HTTPHeaders() if headers is None else HTTPHeaders(headers)
if content_type is not None:
headers['Content-Type'] = content_type

return HTTPRequest(
url=_encode(url),
body=make_body(data),
url=_encode(make_url(url, **data)),
method='DELETE',
headers=headers,
connect_timeout=connect_timeout,
Expand Down
1 change: 1 addition & 0 deletions tests/projects/test_app/pages/handler/__init__.py
@@ -0,0 +1 @@
# coding=utf-8
13 changes: 13 additions & 0 deletions tests/projects/test_app/pages/handler/delete.py
@@ -0,0 +1,13 @@
import frontik.handler


class Page(frontik.handler.PageHandler):
def get_page(self):
self.json.put(
self.delete_url(self.request.host + self.request.path, data={'data': 'true'})
)

def delete_page(self):
self.json.put({
'delete': self.get_argument('data')
})
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion tests/projects/test_app/pages/micro_handler.py
Expand Up @@ -24,7 +24,7 @@ def get_page(self):
return {
'post': self.POST(self.request.host, self.request.path, data={'param': 'post'}),
'put': self.PUT(self.request.host, self.request.path, fail_on_error=fail_on_error),
'delete': self.DELETE(self.request.host, self.request.path + '?invalid_dict_value=true')
'delete': self.DELETE(self.request.host, self.request.path, data={'invalid_dict_value': 'true'})
}

def get_page_requests_failed(self, name, data, response):
Expand Down
14 changes: 9 additions & 5 deletions tests/test_handler.py
Expand Up @@ -12,25 +12,25 @@ def test_active_limit(self):
self.assertEqual(text, '200 200 200 200 200 503')

def test_check_finished(self):
text = frontik_test_app.get_page_text('check_finished')
text = frontik_test_app.get_page_text('handler/check_finished')
self.assertEqual(text, 'Callback not called')

# Check that callback has not been called at later IOLoop iteration

text = frontik_test_app.get_page_text('check_finished')
text = frontik_test_app.get_page_text('handler/check_finished')
self.assertEqual(text, 'Callback not called')

def test_head(self):
response = frontik_test_app.get_page('head', method=requests.head)
response = frontik_test_app.get_page('handler/head', method=requests.head)
self.assertEqual(response.headers['X-Foo'], 'Bar')
self.assertEqual(response.content, '')

def test_head_url(self):
response = frontik_test_app.get_page('head_url')
response = frontik_test_app.get_page('handler/head_url')
self.assertEqual(response.content, 'OK')

def test_no_method(self):
response = frontik_test_app.get_page('head', method=requests.post)
response = frontik_test_app.get_page('handler/head', method=requests.post)
self.assertEqual(response.status_code, 405)
self.assertEqual(response.headers['Allow'], 'get')

Expand All @@ -43,3 +43,7 @@ def test_set_extended_status(self):
response = frontik_test_app.get_page('http_error?code=429&throw=false')
self.assertEqual(response.status_code, 429)
self.assertEqual(response.content, 'success')

def test_delete_post_arguments(self):
response = frontik_test_app.get_page('handler/delete', method=requests.delete)
self.assertEqual(response.status_code, 400)
4 changes: 4 additions & 0 deletions tests/test_http_client.py
Expand Up @@ -17,6 +17,10 @@ def test_post_url_mfd(self):
self.assertEqual(response.status_code, 200)
self.assertIsNone(etree.fromstring(response.content.encode('utf-8')).text)

def test_delete_query_arguments(self):
json = frontik_test_app.get_page_json('handler/delete')
self.assertEqual(json['delete'], 'true')

def test_fib0(self):
xml = frontik_test_app.get_page_xml('http_client/fibonacci?n=0')
self.assertEqual(xml.text, '1')
Expand Down

0 comments on commit 8c57533

Please sign in to comment.