Example #1
0
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
Example #2
0
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"]