def happy_path_list_services(context): """ :type context behave.runner.Context :type SERVICE_ADMIN str :type SERVICE_PWD str """ # Recover a Token for a test default user context.user_admin = context.config["env_data"]["users"]["user_1"]["user_name"] context.password_admin = context.config["env_data"]["users"]["user_1"]["user_password"] context.service_admin = context.config["env_data"]["users"]["user_1"]["user_service"] context.services = orc_get_services(context) print ("\n#>> Services availables: {} \n".format(context.services)) # Get target service_id if "service" in context: for service in context.services: if context.service == service["name"]: context.service_id = service["id"] print ("#>> Service info: {} {}".format(service["name"], service["id"])) break
def provision_atorchestrator(context, instance): context.user_admin = context.config["env_data"]["users"]["user_1"]["user_name"] context.password_admin = context.config["env_data"]["users"]["user_1"]["user_password"] context.service_admin = context.config["env_data"]["users"]["user_1"]["user_service"] context.services = orc_get_services(context) for service in context.services: if context.service == service["name"]: __logger__.debug("service retrieved: {} {}".format(service["name"], service["id"])) context.service_id = service["id"] break # Get config env credentials context.user_admin = context.config["env_data"]["users"]["user_1"]["user_name"] context.password_admin = context.config["env_data"]["users"]["user_2"]["user_password"] try: if "service_id" in context: delete_response = orc_delete_service(context, context.service_id) except ValueError: __logger__.error("[Error] Service to delete ({}) not found".format(context.service)) # Composing payloads payload_service = dict(context.table[0:6]) context.user = payload_service["NEW_SERVICE_ADMIN_USER"] context.pwd = payload_service["NEW_SERVICE_ADMIN_PASSWORD"] payload_service.update({"KEYPASS_PROTOCOL": "http", "KEYPASS_HOST": "localhost"}) if "NEW_SERVICE_DESCRIPTION" not in payload_service: payload_service["NEW_SERVICE_DESCRIPTION"] = payload_service["NEW_SERVICE_NAME"] if "SERVICE_NAME" not in payload_service: payload_service["SERVICE_NAME"] = payload_service["NEW_SERVICE_NAME"] payload_servicepath = dict(context.table[6:]) payload_servicepath.update({"KEYPASS_PROTOCOL": "http", "KEYPASS_HOST": "localhost", "KEYSTONE_PROTOCOL": "http", "KEYSTONE_HOST": "localhost"}) if "SERVICE_NAME" not in payload_servicepath: payload_servicepath["SERVICE_NAME"] = payload_service["NEW_SERVICE_NAME"] if "SERVICE_ADMIN_USER" not in payload_servicepath: payload_servicepath["SERVICE_ADMIN_USER"] = payload_service["NEW_SERVICE_ADMIN_USER"] if "SERVICE_ADMIN_PASSWORD" not in payload_servicepath: payload_servicepath["SERVICE_ADMIN_PASSWORD"] = payload_service["NEW_SERVICE_ADMIN_PASSWORD"] if "NEW_SUBSERVICE_DESCRIPTION" not in payload_servicepath: payload_servicepath["NEW_SUBSERVICE_DESCRIPTION"] = payload_servicepath["NEW_SUBSERVICE_NAME"] context.headers = {"Accept": "application/json", "Content-type": "application/json"} context.instance_ip = context.config['components'][instance]['instance'] context.instance_port = context.config['components'][instance]['port'] context.instance_protocol = context.config['components'][instance]['protocol'] context.url_component = get_endpoint(context.instance_protocol, context.instance_ip, context.instance_port) # Service provision url_service = '{}/v1.0/service'.format(context.url_component) json_orcservice = json.dumps(payload_service) __logger__.debug("Create service: {}, \n url: {}".format(json_orcservice, url_service)) context.r = requests.post(url=url_service, headers=context.headers, data=json_orcservice) context.create_service = context.r.content jsobject = json.loads(context.create_service) context.headers["Fiware-Service"] = context.service context.headers["Fiware-ServicePath"] = context.servicepath context.service_id = jsobject["id"] context.token_service = jsobject["token"] # ServicePath provision context.headers = {'Accept': 'application/json', 'Content-type': 'application/json'} url_subservice = '{}/v1.0/service/{}/subservice'.format(context.url_component, context.service_id) json_servicepath = json.dumps(payload_servicepath) __logger__.debug("Create subservice: {}, \n url: {}".format(json_servicepath, url_subservice)) context.resp = requests.post(url=url_subservice, headers=context.headers, data=json_servicepath) context.create_servicepath = context.resp.content jsobject_s = json.loads(context.create_servicepath) context.subservice_id = jsobject_s["id"]