def test_boolean(self, simulate_request, client, resource):
client.app.add_route('/', resource)
query_string = ('echo=true&doit=false&bogus=bar&bogus2=foo&'
't1=True&f1=False&t2=yes&f2=no&blank&one=1&zero=0&'
'checkbox1=on&checkbox2=off')
simulate_request(client=client, path='/', query_string=query_string)
req = resource.captured_req
with pytest.raises(falcon.HTTPBadRequest):
req.get_param_as_bool('bogus')
try:
req.get_param_as_bool('bogus2')
except Exception as ex:
assert isinstance(ex, falcon.HTTPInvalidParam)
assert ex.title == 'Invalid parameter'
expected_desc = ('The "bogus2" parameter is invalid. '
'The value of the parameter must be "true" '
'or "false".')
assert ex.description == expected_desc
assert req.get_param_as_bool('echo') is True
assert req.get_param_as_bool('doit') is False
assert req.get_param_as_bool('t1') is True
assert req.get_param_as_bool('t2') is True
assert req.get_param_as_bool('f1') is False
assert req.get_param_as_bool('f2') is False
assert req.get_param_as_bool('one') is True
assert req.get_param_as_bool('zero') is False
assert req.get_param('blank') is None
assert req.get_param_as_bool('checkbox1') is True
assert req.get_param_as_bool('checkbox2') is False
store = {}
assert req.get_param_as_bool('echo', store=store) is True
assert store['echo'] is True
评论列表
文章目录