Fix logic for building field_list in update

Bug 1194520

Change-Id: Ie3ea7b77dc9a4f712e3e838c20c062db1b2d9faa
This commit is contained in:
Salvatore Orlando 2013-06-25 16:36:20 +02:00
parent ca421e7e62
commit 4e9b8bc3c6
2 changed files with 6 additions and 2 deletions

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

View 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):