Beispiel #1
0
def paginate_list(li, limit=None, marker=None, include_marker=False):
    """Paginate a list of objects based on the name attribute.
    :returns:           Page sublist and a marker (name of the last item).
    """
    return pagination.paginate_object_list(li,
                                           'name',
                                           limit=limit,
                                           marker=marker,
                                           include_marker=include_marker)
Beispiel #2
0
 def list_users(
         self,
         context,
         limit=None,
         marker=None,
         include_marker=False,
 ):
     """List all users on the instance along with their access permissions.
     Return a paginated list of serialized Postgres users.
     """
     page, next_name = pagination.paginate_object_list(
         self._get_users(context), 'name', limit, marker, include_marker)
     return [db.serialize() for db in page], next_name
Beispiel #3
0
 def list_databases(
         self,
         context,
         limit=None,
         marker=None,
         include_marker=False,
 ):
     """List all databases on the instance.
     Return a paginated list of serialized Postgres databases.
     """
     page, next_name = pagination.paginate_object_list(
         self._get_databases(), 'name', limit, marker, include_marker)
     return [db.serialize() for db in page], next_name
Beispiel #4
0
    def test_object_paginate(self):

        def build_mock_object(name):
            o = Mock()
            o.name = name
            o.attr = 'attr'
            return o

        li = [build_mock_object('db1'), build_mock_object('db2'),
              build_mock_object('db3')]

        l, m = pagination.paginate_object_list(li, 'name', limit=1,
                                               marker='db1',
                                               include_marker=True)
        self.assertEqual(l[0], li[0])
        self.assertEqual(m, 'db1')
Beispiel #5
0
    def test_object_paginate(self):
        def build_mock_object(name):
            o = Mock()
            o.name = name
            o.attr = 'attr'
            return o

        li = [
            build_mock_object('db1'),
            build_mock_object('db2'),
            build_mock_object('db3')
        ]

        l, m = pagination.paginate_object_list(li,
                                               'name',
                                               limit=1,
                                               marker='db1',
                                               include_marker=True)
        self.assertEqual(l[0], li[0])
        self.assertEqual(m, 'db1')