changes to make image membership tests pass

Needed by
Change-Id: I270ad24c4d82bc31fb5b07ea05bc84458844143e

 - introduced MemberList model
 - added remote image url properties to config
 - rebased with dependancy
 - implemented member model deserialization
 - updated relevant images client calls
 - fixed outdated/incorrect import user.py
 - fixed tenants deserialization

Change-Id: I4a892c001ab312000ce59da59c73d3a75316963e
This commit is contained in:
Sett Wai 2013-07-01 16:15:14 +02:00
parent 05d26a77db
commit 745e1c86cd
2 changed files with 28 additions and 4 deletions

View File

@ -1,6 +1,6 @@
from cafe.engine.clients.rest import AutoMarshallingRestClient
from cloudcafe.images.v1_0.models.image import Image
from cloudcafe.images.v1_0.models.member import Member
from cloudcafe.images.v1_0.models.member import MemberList
class ImagesClient(AutoMarshallingRestClient):
@ -109,7 +109,7 @@ class ImagesClient(AutoMarshallingRestClient):
url = '{0}/images/{1}/members'.format(self.url, image_id)
return self.request('GET', url,
response_entity_type=Member,
response_entity_type=MemberList,
requestslib_kwargs=requestslib_kwargs)
def update_image(self, image_id, image_data=None, headers=None,

View File

@ -1,7 +1,31 @@
from cafe.engine.models.base import AutoMarshallingModel
import json
from cafe.engine.models.base import \
AutoMarshallingModel, AutoMarshallingListModel
class Member(AutoMarshallingModel):
def __init__(self, member_id=None, shared_images=None):
def __init__(self, member_id=None, shared_images=None, can_share=None):
self.member_id = member_id
self.shared_images = shared_images
self.can_share = can_share
@classmethod
def _json_to_obj(cls, serialized_str):
json_dict = json.loads(serialized_str)
if 'members' in json_dict.keys():
members = []
members.extend([Member(**m) for m in json_dict['members']])
return members
else:
return Member(**json_dict)
class MemberList(AutoMarshallingListModel):
"""Represent a list of Members"""
@classmethod
def _json_to_obj(cls, serialized_str):
json_dict = json.loads(serialized_str)
return [Member(**m) for m in json_dict.get('members')]