]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Fix logic for building field_list in update
authorSalvatore Orlando <salv.orlando@gmail.com>
Tue, 25 Jun 2013 14:36:20 +0000 (16:36 +0200)
committerSalvatore Orlando <salv.orlando@gmail.com>
Tue, 30 Jul 2013 07:16:58 +0000 (00:16 -0700)
Bug 1194520

Change-Id: Ie3ea7b77dc9a4f712e3e838c20c062db1b2d9faa

neutron/api/v2/base.py
neutron/tests/unit/test_api_v2.py

index 0749d148b16bda4beb692f264e5306f5b09c40aa..5e6b6a51158502fd2fe01a086609e1aef1bb5105 100644 (file)
@@ -460,8 +460,8 @@ class Controller(object):
         # but pass only attributes in the original body and required
         # by the policy engine to the policy 'brain'
         field_list = [name for (name, value) in self._attr_info.iteritems()
-                      if ('required_by_policy' in value and
-                          value['required_by_policy'] or
+                      if (value.get('required_by_policy') or
+                          value.get('primary_key') or
                           'default' not in value)]
         orig_obj = self._item(request, id, field_list=field_list,
                               parent_id=parent_id)
index 4e2cc76f26ccaf29975350d9ebbfd3dee1d7a3ed..200aa2966b9af36ada1ba83a7f573b2d71c19857 100644 (file)
@@ -1085,6 +1085,10 @@ class JSONV2TestCase(APIv2TestBase, testlib_api.WebTestCase):
                            self.serialize(data),
                            extra_environ=env,
                            expect_errors=expect_errors)
+        #  Ensure id attribute is included in fields returned by GET call
+        #  in update procedure.
+        self.assertEqual(1, instance.get_network.call_count)
+        self.assertIn('id', instance.get_network.call_args[1]['fields'])
         self.assertEqual(res.status_int, expected_code)
 
     def test_update_noauth(self):