def cli_arguments(request) -> {}: """ Verify the CLI arguments. :param request: pytest fixture :return: {context, image, image-pull-policy, deployment-type, ic-type, service, node-ip, kubeconfig} """ result = {"kubeconfig": request.config.getoption("--kubeconfig")} assert result["kubeconfig"] != "", "Empty kubeconfig is not allowed" print(f"\nTests will use this kubeconfig: {result['kubeconfig']}") result["context"] = request.config.getoption("--context") if result["context"] != "": ensure_context_in_config(result["kubeconfig"], result["context"]) print(f"Tests will run against: {result['context']}") else: result["context"] = get_current_context_name(result["kubeconfig"]) print(f"Tests will use a current context: {result['context']}") result["image"] = request.config.getoption("--image") assert result["image"] != "", "Empty image is not allowed" print(f"Tests will use the image: {result['image']}") result["image-pull-policy"] = request.config.getoption( "--image-pull-policy") assert result[ "image-pull-policy"] != "", "Empty image-pull-policy is not allowed" print( f"Tests will run with the image-pull-policy: {result['image-pull-policy']}" ) result["deployment-type"] = request.config.getoption("--deployment-type") assert (result["deployment-type"] in ALLOWED_DEPLOYMENT_TYPES ), f"Deployment type {result['deployment-type']} is not allowed" print( f"Tests will use the IC deployment of type: {result['deployment-type']}" ) result["ic-type"] = request.config.getoption("--ic-type") assert result[ "ic-type"] in ALLOWED_IC_TYPES, f"IC type {result['ic-type']} is not allowed" print(f"Tests will run against the IC of type: {result['ic-type']}") result["replicas"] = request.config.getoption("--replicas") print(f"Number of pods spun up will be : {result['replicas']}") result["service"] = request.config.getoption("--service") assert result[ "service"] in ALLOWED_SERVICE_TYPES, f"Service {result['service']} is not allowed" print(f"Tests will use Service of this type: {result['service']}") if result["service"] == "nodeport": node_ip = request.config.getoption("--node-ip", None) assert node_ip is not None and node_ip != "", f"Service 'nodeport' requires a node-ip" result["node-ip"] = node_ip print(f"Tests will use the node-ip: {result['node-ip']}") return result
def cli_arguments(request) -> {}: """ Verify the CLI arguments. :param request: pytest fixture :return: {context, image, image-pull-policy, deployment-type, ic-type, service, node-ip, kubeconfig} """ result = {"kubeconfig": request.config.getoption("--kubeconfig")} assert result["kubeconfig"] != "", "Empty kubeconfig is not allowed" print(f"\nTests will use this kubeconfig: {result['kubeconfig']}") result["context"] = request.config.getoption("--context") if result["context"] != "": ensure_context_in_config(result["kubeconfig"], result["context"]) print(f"Tests will run against: {result['context']}") else: result["context"] = get_current_context_name(result["kubeconfig"]) print(f"Tests will use a current context: {result['context']}") result["image"] = request.config.getoption("--image") assert result["image"] != "", "Empty image is not allowed" print(f"Tests will use the image: {result['image']}") result["image-pull-policy"] = request.config.getoption("--image-pull-policy") assert result["image-pull-policy"] != "", "Empty image-pull-policy is not allowed" print(f"Tests will run with the image-pull-policy: {result['image-pull-policy']}") result["deployment-type"] = request.config.getoption("--deployment-type") assert result["deployment-type"] in ALLOWED_DEPLOYMENT_TYPES, f"Deployment type {result['deployment-type']} is not allowed" print(f"Tests will use the IC deployment of type: {result['deployment-type']}") result["ic-type"] = request.config.getoption("--ic-type") assert result["ic-type"] in ALLOWED_IC_TYPES, f"IC type {result['ic-type']} is not allowed" print(f"Tests will run against the IC of type: {result['ic-type']}") result["service"] = request.config.getoption("--service") assert result["service"] in ALLOWED_SERVICE_TYPES, f"Service {result['service']} is not allowed" print(f"Tests will use Service of this type: {result['service']}") if result['service'] == "nodeport": node_ip = request.config.getoption("--node-ip", None) assert node_ip is not None and node_ip != "", f"Service 'nodeport' requires a node-ip" result["node-ip"] = node_ip print(f"Tests will use the node-ip: {result['node-ip']}") return result