diff --git a/openstack/resource.py b/openstack/resource.py index 4cac8fb3..06a2fd83 100644 --- a/openstack/resource.py +++ b/openstack/resource.py @@ -295,6 +295,7 @@ class Resource(collections.MutableMapping): resp = self.create_by_id(session, self._attrs, self.id, path_args=self) self._attrs[self.id_attribute] = resp[self.id_attribute] self._reset_dirty() + return self @classmethod def get_data_by_id(cls, session, r_id, path_args=None, @@ -332,6 +333,7 @@ class Resource(collections.MutableMapping): include_headers=include_headers) self._attrs.update(body) self._loaded = True + return self @classmethod def head_data_by_id(cls, session, r_id, path_args=None): @@ -360,6 +362,7 @@ class Resource(collections.MutableMapping): data = self.head_data_by_id(session, self.id, path_args=self) self._attrs.update(data) self._loaded = True + return self @classmethod def update_by_id(cls, session, r_id, attrs, path_args=None): @@ -400,6 +403,7 @@ class Resource(collections.MutableMapping): assert resp_id == self.id self._reset_dirty() + return self @classmethod def delete_by_id(cls, session, r_id, path_args=None): diff --git a/openstack/tests/test_resource.py b/openstack/tests/test_resource.py index 65104f84..79b9cd16 100644 --- a/openstack/tests/test_resource.py +++ b/openstack/tests/test_resource.py @@ -72,7 +72,7 @@ class ResourceTests(base.TestTransportBase): def test_empty_id(self): self.stub_url(httpretty.GET, path=[fake_path], json=fake_body) obj = FakeResource.new(**fake_arguments) - obj.get(self.session) + self.assertEqual(obj, obj.get(self.session)) self.assertEqual(fake_id, obj.id) self.assertEqual(fake_name, obj['name']) @@ -92,7 +92,7 @@ class ResourceTests(base.TestTransportBase): attr1=fake_attr1, attr2=fake_attr2) - obj.create(self.session) + self.assertEqual(obj, obj.create(self.session)) self.assertFalse(obj.is_dirty) last_req = httpretty.last_request().parsed_body[fake_resource] @@ -191,7 +191,7 @@ class ResourceTests(base.TestTransportBase): obj = FakeResource.new(name=fake_name, attr1=new_attr1, attr2=new_attr2) - obj.create(self.session) + self.assertEqual(obj, obj.create(self.session)) self.assertFalse(obj.is_dirty) self.assertEqual(new_attr1, obj['attr1']) @@ -199,7 +199,7 @@ class ResourceTests(base.TestTransportBase): obj.second = fake_attr2 self.assertTrue(obj.is_dirty) - obj.update(self.session) + self.assertEqual(obj, obj.update(self.session)) self.assertFalse(obj.is_dirty) last_req = httpretty.last_request().parsed_body[fake_resource]