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)
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
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
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')
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')