]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Add pagination parameters for extension extraroute
authorHe Jie Xu <xuhj@linux.vnet.ibm.com>
Fri, 22 Feb 2013 07:22:36 +0000 (15:22 +0800)
committerHe Jie Xu <xuhj@linux.vnet.ibm.com>
Fri, 22 Feb 2013 07:22:36 +0000 (15:22 +0800)
Fixes bug 1131560

Change-Id: Ice84aa90ef8a39efdd9c287cca9b90c4ee355b7f

quantum/db/extraroute_db.py
quantum/tests/unit/test_extension_extraroute.py

index 6282cc2119055954cf6d4964cfa1f14e1495489f..77e4265609704c1415ca149ee5c993e27ec80883 100644 (file)
@@ -142,10 +142,13 @@ class ExtraRoute_db_mixin(l3_db.L3_NAT_db_mixin):
                 context, id)
             return router
 
-    def get_routers(self, context, filters=None, fields=None):
+    def get_routers(self, context, filters=None, fields=None,
+                    sorts=None, limit=None, marker=None,
+                    page_reverse=False):
         with context.session.begin(subtransactions=True):
             routers = super(ExtraRoute_db_mixin, self).get_routers(
-                context, filters, fields)
+                context, filters, fields, sorts=sorts, limit=limit,
+                marker=marker, page_reverse=page_reverse)
             for router in routers:
                 router['routes'] = self._get_extra_routes_by_router_id(
                     context, router['id'])
index f32310a2cda9f1a933ace96883ed2006175d6dac..73eb5d800c22779c0835ebcc0a792331d44765af 100644 (file)
@@ -15,6 +15,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import contextlib
 from oslo.config import cfg
 from webob import exc
 
@@ -447,3 +448,30 @@ class ExtraRouteDBTestCase(test_l3.L3NatDBTestCase):
                 body = self._show('routers', r['router']['id'])
                 gw_info = body['router']['external_gateway_info']
                 self.assertEquals(gw_info, None)
+
+    def test_router_list_with_sort(self):
+        with contextlib.nested(self.router(name='router1'),
+                               self.router(name='router2'),
+                               self.router(name='router3')
+                               ) as (router1, router2, router3):
+            self._test_list_with_sort('router', (router3, router2, router1),
+                                      [('name', 'desc')])
+
+    def test_router_list_with_pagination(self):
+        with contextlib.nested(self.router(name='router1'),
+                               self.router(name='router2'),
+                               self.router(name='router3')
+                               ) as (router1, router2, router3):
+            self._test_list_with_pagination('router',
+                                            (router1, router2, router3),
+                                            ('name', 'asc'), 2, 2)
+
+    def test_router_list_with_pagination_reverse(self):
+        with contextlib.nested(self.router(name='router1'),
+                               self.router(name='router2'),
+                               self.router(name='router3')
+                               ) as (router1, router2, router3):
+            self._test_list_with_pagination_reverse('router',
+                                                    (router1, router2,
+                                                     router3),
+                                                    ('name', 'asc'), 2, 2)