Esempio n. 1
0
    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)
Esempio n. 2
0
 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))
Esempio n. 3
0
    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)
Esempio n. 4
0
 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})
Esempio n. 5
0
 def test_valid_limit(self):
     """Test valid limit param."""
     req = webob.Request.blank("/?limit=10")
     self.assertEqual(common.get_pagination_params(req), {"limit": 10})
Esempio n. 6
0
 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"})
Esempio n. 7
0
 def test_no_params(self):
     """Test no params."""
     req = webob.Request.blank("/")
     self.assertEqual(common.get_pagination_params(req), {})
Esempio n. 8
0
 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))
Esempio n. 9
0
 def test_valid_limit(self):
     """Test valid limit param."""
     req = webob.Request.blank('/?limit=10')
     self.assertEqual({'limit': 10}, common.get_pagination_params(req))
Esempio n. 10
0
 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))
Esempio n. 11
0
 def test_valid_limit(self):
     """Test valid limit param."""
     req = webob.Request.blank('/?limit=10')
     self.assertEqual({'limit': 10}, common.get_pagination_params(req))
Esempio n. 12
0
 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))
Esempio n. 13
0
 def test_no_params(self):
     """Test no params."""
     req = webob.Request.blank('/')
     self.assertEqual({}, common.get_pagination_params(req))