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:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user