def index(self, req): # pylint: disable=function-redefined """Returns a list of messages, transformed through view builder.""" context = req.environ['manila.context'] filters = req.params.copy() params = common.get_pagination_params(req) limit, offset = [params.get('limit'), params.get('offset')] sort_key, sort_dir = common.get_sort_params(filters) for time_comparison_filter in ['created_since', 'created_before']: if time_comparison_filter in filters: time_str = filters.get(time_comparison_filter) try: parsed_time = timeutils.parse_isotime(time_str) except ValueError: msg = _('Invalid value specified for the query ' 'key: %s') % time_comparison_filter raise exc.HTTPBadRequest(explanation=msg) filters[time_comparison_filter] = parsed_time messages = self.message_api.get_all(context, search_opts=filters, limit=limit, offset=offset, sort_key=sort_key, sort_dir=sort_dir) return self._view_builder.index(req, messages)
def test_valid_limit_and_marker(self): """Test valid limit and marker parameters.""" marker = '263abb28-1de6-412f-b00b-f0ee0c4333c2' req = webob.Request.blank('/?limit=20&marker=%s' % marker) self.assertEqual({ 'marker': marker, 'limit': 20 }, common.get_pagination_params(req))
def index(self, req): """Returns a list of messages, transformed through view builder.""" context = req.environ['manila.context'] filters = req.params.copy() params = common.get_pagination_params(req) limit, offset = [params.get('limit'), params.get('offset')] sort_key, sort_dir = common.get_sort_params(filters) filters.pop('created_since', None) filters.pop('created_before', None) messages = self.message_api.get_all(context, search_opts=filters, limit=limit, offset=offset, sort_key=sort_key, sort_dir=sort_dir) return self._view_builder.index(req, messages)
def test_valid_limit_and_marker(self): """Test valid limit and marker parameters.""" marker = "263abb28-1de6-412f-b00b-f0ee0c4333c2" req = webob.Request.blank("/?limit=20&marker=%s" % marker) self.assertEqual(common.get_pagination_params(req), {"marker": marker, "limit": 20})
def test_valid_limit(self): """Test valid limit param.""" req = webob.Request.blank("/?limit=10") self.assertEqual(common.get_pagination_params(req), {"limit": 10})
def test_valid_marker(self): """Test valid marker param.""" req = webob.Request.blank("/?marker=263abb28-1de6-412f-b00b-f0ee0c4333c2") self.assertEqual(common.get_pagination_params(req), {"marker": "263abb28-1de6-412f-b00b-f0ee0c4333c2"})
def test_no_params(self): """Test no params.""" req = webob.Request.blank("/") self.assertEqual(common.get_pagination_params(req), {})
def test_valid_limit_and_marker(self): """Test valid limit and marker parameters.""" marker = '263abb28-1de6-412f-b00b-f0ee0c4333c2' req = webob.Request.blank('/?limit=20&marker=%s' % marker) self.assertEqual({'marker': marker, 'limit': 20}, common.get_pagination_params(req))
def test_valid_limit(self): """Test valid limit param.""" req = webob.Request.blank('/?limit=10') self.assertEqual({'limit': 10}, common.get_pagination_params(req))
def test_valid_marker(self): """Test valid marker param.""" req = webob.Request.blank( '/?marker=263abb28-1de6-412f-b00b-f0ee0c4333c2') self.assertEqual({'marker': '263abb28-1de6-412f-b00b-f0ee0c4333c2'}, common.get_pagination_params(req))
def test_no_params(self): """Test no params.""" req = webob.Request.blank('/') self.assertEqual({}, common.get_pagination_params(req))