The idea is not to have to pay for what you don't use or want. Also makes this consistent with req.get_param_as_int. BREAKING CHANGE: get_param will no longer return lists for comma-separated parameter values. Use get_param_as_list instead. Implements #18
54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
from . import helpers
|
|
|
|
|
|
class TestQueryParams(helpers.TestSuite):
|
|
|
|
def prepare(self):
|
|
self.resource = helpers.TestResource()
|
|
self.api.add_route('/', self.resource)
|
|
|
|
def test_none(self):
|
|
query_string = ''
|
|
self._simulate_request('/', query_string=query_string)
|
|
|
|
req = self.resource.req
|
|
self.assertEquals(req.get_param('marker'), None)
|
|
self.assertEquals(req.get_param('limit'), None)
|
|
|
|
def test_simple(self):
|
|
query_string = 'marker=deadbeef&limit=25'
|
|
self._simulate_request('/', query_string=query_string)
|
|
|
|
req = self.resource.req
|
|
self.assertEquals(req.get_param('marker'), 'deadbeef')
|
|
self.assertEquals(req.get_param('limit'), '25')
|
|
|
|
def test_int(self):
|
|
query_string = 'marker=deadbeef&limit=25'
|
|
self._simulate_request('/', query_string=query_string)
|
|
|
|
req = self.resource.req
|
|
self.assertEquals(req.get_param_as_int('marker'), None)
|
|
self.assertEquals(req.get_param_as_int('limit'), 25)
|
|
|
|
def test_list_type(self):
|
|
query_string = 'colors=red,green,blue&limit=1'
|
|
self._simulate_request('/', query_string=query_string)
|
|
|
|
req = self.resource.req
|
|
self.assertEquals(req.get_param('colors'), 'red,green,blue')
|
|
self.assertEquals(req.get_param_as_list('colors'),
|
|
['red', 'green', 'blue'])
|
|
self.assertEquals(req.get_param_as_list('limit'), ['1'])
|
|
self.assertEquals(req.get_param_as_list('marker'), None)
|
|
|
|
def test_bogus_input(self):
|
|
query_string = 'colors=red,green,&limit=1&pickle'
|
|
self._simulate_request('/', query_string=query_string)
|
|
|
|
req = self.resource.req
|
|
self.assertEquals(req.get_param_as_list('colors'),
|
|
['red', 'green', ''])
|
|
self.assertEquals(req.get_param('limit'), '1')
|
|
self.assertEquals(req.get_param('pickle'), None)
|