Have resource CRUD return self to simplify the proxies
Instead of: def create_project(self, **data): obj = project.Project(**data) obj.create(self.session) return obj We can: def create_project(self, **data): return project.Project(**data).create(self.session) Change-Id: Ifbb41c7d1de461c80ea98b2c3d2e715da770a07f
This commit is contained in:
parent
94e83e34a3
commit
2f1b4086da
@ -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):
|
||||
|
@ -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]
|
||||
|
Loading…
x
Reference in New Issue
Block a user