test(Request): 100% code coverage
This commit is contained in:
@@ -178,7 +178,7 @@ class HTTPPreconditionFailed(HTTPError):
|
||||
class HTTPUnsupportedMediaType(HTTPError):
|
||||
"""415 Unsupported Media Type
|
||||
|
||||
Sets title to "Unsupported Media Type".
|
||||
Sets title to "Unsupported media type".
|
||||
|
||||
Args:
|
||||
description: Human-friendly description of the error, along with a
|
||||
@@ -188,7 +188,7 @@ class HTTPUnsupportedMediaType(HTTPError):
|
||||
|
||||
"""
|
||||
def __init__(self, description, **kwargs):
|
||||
HTTPError.__init__(self, status.HTTP_415, 'Unsupported Media Type',
|
||||
HTTPError.__init__(self, status.HTTP_415, 'Unsupported media type',
|
||||
description, **kwargs)
|
||||
|
||||
|
||||
@@ -220,8 +220,7 @@ class HTTPUpgradeRequired(HTTPError):
|
||||
|
||||
"""
|
||||
def __init__(self, title, description, **kwargs):
|
||||
HTTPError.__init__(self, status.HTTP_426, 'Upgrade Required',
|
||||
description, **kwargs)
|
||||
HTTPError.__init__(self, status.HTTP_426, title, description, **kwargs)
|
||||
|
||||
|
||||
class HTTPInternalServerError(HTTPError):
|
||||
|
||||
@@ -238,8 +238,8 @@ class Request(object):
|
||||
if not required:
|
||||
return default
|
||||
|
||||
raise HTTPBadRequest('Missing header',
|
||||
'The "' + name + '" header is required.')
|
||||
description = 'The "' + name + '" header is required.'
|
||||
raise HTTPBadRequest('Missing header', description)
|
||||
|
||||
def get_param(self, name, default=None, required=False):
|
||||
"""Return the value of a query string parameter as a string
|
||||
@@ -269,8 +269,8 @@ class Request(object):
|
||||
if not required:
|
||||
return default
|
||||
|
||||
raise HTTPBadRequest('Missing query parameter',
|
||||
'The "' + name + '" query parameter is required.')
|
||||
message = 'The "' + name + '" query parameter is required.'
|
||||
raise HTTPBadRequest('Missing query parameter', message)
|
||||
|
||||
def get_param_as_int(self, name, default=None, required=False):
|
||||
"""Return the value of a query string parameter as an int
|
||||
@@ -306,8 +306,8 @@ class Request(object):
|
||||
if not required:
|
||||
return default
|
||||
|
||||
raise HTTPBadRequest('Missing query parameter',
|
||||
'The "' + name + '" query parameter is required.')
|
||||
message = 'The "' + name + '" query parameter is required.'
|
||||
raise HTTPBadRequest('Missing query parameter', message)
|
||||
|
||||
def get_param_as_list(self, name, default=None, required=False):
|
||||
"""Return the value of a query string parameter as an int
|
||||
|
||||
@@ -100,6 +100,13 @@ class TestHeaders(testing.TestSuite):
|
||||
value = self.resource.req.get_header('X-Not-Found', '876')
|
||||
self.assertEquals(value, '876')
|
||||
|
||||
def test_required_header(self):
|
||||
self._simulate_request(self.test_route)
|
||||
|
||||
self.assertRaises(falcon.HTTPBadRequest,
|
||||
self.resource.req.get_header, 'X-Not-Found',
|
||||
required=True)
|
||||
|
||||
def test_prefer_host_header(self):
|
||||
self._simulate_request(self.test_route)
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import falcon
|
||||
import falcon.testing as testing
|
||||
|
||||
|
||||
@@ -23,6 +24,18 @@ class TestQueryParams(testing.TestSuite):
|
||||
self.assertEquals(req.get_param('marker'), 'deadbeef')
|
||||
self.assertEquals(req.get_param('limit'), '25')
|
||||
|
||||
def test_required(self):
|
||||
query_string = ''
|
||||
self._simulate_request('/', query_string=query_string)
|
||||
|
||||
req = self.resource.req
|
||||
self.assertRaises(falcon.HTTPBadRequest, req.get_param,
|
||||
'marker', required=True)
|
||||
self.assertRaises(falcon.HTTPBadRequest, req.get_param_as_int,
|
||||
'marker', required=True)
|
||||
self.assertRaises(falcon.HTTPBadRequest, req.get_param_as_list,
|
||||
'marker', required=True)
|
||||
|
||||
def test_int(self):
|
||||
query_string = 'marker=deadbeef&limit=25'
|
||||
self._simulate_request('/', query_string=query_string)
|
||||
|
||||
Reference in New Issue
Block a user