Merge "Fix logic for building field_list in update"

This commit is contained in:
Jenkins 2013-07-31 02:04:02 +00:00 committed by Gerrit Code Review
commit 2892ab857c
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):