]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Fix filters default value in get_networks
authorJulien Danjou <julien@danjou.info>
Tue, 2 Oct 2012 13:37:49 +0000 (15:37 +0200)
committerJulien Danjou <julien@danjou.info>
Tue, 2 Oct 2012 14:17:50 +0000 (16:17 +0200)
With that change, if get_networks() is called without fields set to
something, _filter_nets_l3 fails because it tries to call "filters.get()"
where filters is None.

This fixes bug #1060047

Change-Id: Ia0787e7a278a3562af5409861762f067d71f2cf6
Signed-off-by: Julien Danjou <julien@danjou.info>
quantum/db/l3_db.py
quantum/tests/unit/test_l3_plugin.py

index 1c6707c2c6c4cc63f051ddd9fe52799d1c25f79c..6585733adcfe83211de66e4ed0933c3f73dfd762 100644 (file)
@@ -709,7 +709,7 @@ class L3_NAT_db_mixin(l3.RouterPluginBase):
                 network_id=net_id).delete()
 
     def _filter_nets_l3(self, context, nets, filters):
-        vals = filters.get('router:external', [])
+        vals = filters and filters.get('router:external', [])
         if not vals:
             return nets
 
index 741a96bea2f5b59550962e13b580935940d44dc8..29ca27d9f31b28922183ea669108f8d36e0536db 100644 (file)
@@ -892,6 +892,12 @@ class L3NatDBTestCase(test_db_plugin.QuantumDbPluginV2TestCase):
                                   query_params="%s=False" % l3.EXTERNAL)
                 self.assertEquals(len(body['networks']), 1)
 
+    def test_get_network_succeeds_without_filter(self):
+        plugin = manager.QuantumManager.get_plugin()
+        ctx = context.Context(None, None, is_admin=True)
+        result = plugin.get_networks(ctx, filters=None)
+        self.assertEqual(result, [])
+
     def test_network_filter_hook_admin_context(self):
         plugin = manager.QuantumManager.get_plugin()
         ctx = context.Context(None, None, is_admin=True)