Tenants API Service Model - Service Tests Parity.

Refactored tenants-api service model and test as per service tests parity requirements.
 Changed "service" key to "OS-KSADM:service" in dict_to_obj and json_to_obj methods.
 Added an id_ attribute while constructing a service object in _dict_to_obj.

Change-Id: Id9d27fb29f8933b990e827fe5ba2222d24bc4911
This commit is contained in:
Charles Kimpolo
2013-08-07 16:10:28 +02:00
parent eccf8ea366
commit 9641cd558e
2 changed files with 21 additions and 16 deletions

View File

@@ -13,8 +13,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
import json
import json
from cloudcafe.identity.v2_0.common.models.base import BaseIdentityListModel, \
BaseIdentityModel
from cloudcafe.identity.v2_0.common.models.constants import AdminExtensions
@@ -24,9 +24,7 @@ _admin_extensions = AdminExtensions.OS_KS_ADM
class Services(BaseIdentityListModel):
def __init__(self, services=None):
"""
An object that represents a services response object.
"""
""" An object that represents a services response object. """
super(Services, self).__init__()
self.extend(services or [])
@@ -36,21 +34,21 @@ class Services(BaseIdentityListModel):
for service_dict in service_dict_list:
service = Service._dict_to_obj(service_dict)
services.append(service)
return services
@classmethod
def _json_to_obj(cls, serialized_str):
json_dict = json.loads(serialized_str)
service_dict_list = json_dict.get(
'{0}:services'.format(_admin_extensions))
admin_services = '{0}:services'.format(_admin_extensions)
service_dict_list = json_dict.get(admin_services)
return cls._list_to_obj(service_dict_list)
class Service(BaseIdentityModel):
def __init__(self, id_=None, name=None, type_=None, description=None):
"""
An object that represents a service response object.
"""
""" An object that represents a service response object. """
super(Service, self).__init__()
self.id_ = id_
self.name = name
@@ -58,19 +56,25 @@ class Service(BaseIdentityModel):
self.description = description
def _obj_to_json(self):
json_dict = {"service": {"name": self.name,
"type": self.type_,
"description": self.description}}
admin_service = '{0}:service'.format(_admin_extensions)
json_dict = {admin_service: {"name": self.name,
"type": self.type_,
"description": self.description}}
return json.dumps(json_dict)
@classmethod
def _dict_to_obj(cls, json_dict):
service = Service(name=json_dict.get("name"),
service = Service(id_=json_dict.get("id"),
name=json_dict.get("name"),
type_=json_dict.get("type"),
description=json_dict.get("description"))
return service
@classmethod
def _json_to_obj(cls, serialized_str):
admin_service = '{0}:service'.format(_admin_extensions)
json_dict = json.loads(serialized_str)
return cls._dict_to_obj(json_dict.get("service"))
return cls._dict_to_obj(json_dict.get(admin_service))