def wildcard_tls_secret_setup(request, kube_apis, ingress_controller_endpoint,
                              test_namespace) -> WildcardTLSSecretSetup:
    ing_type = request.param
    print(
        "------------------------- Deploy Wildcard-Tls-Secret-Example -----------------------------------"
    )
    create_items_from_yaml(
        kube_apis.extensions_v1_beta1,
        f"{TEST_DATA}/wildcard-tls-secret/{ing_type}/wildcard-secret-ingress.yaml",
        test_namespace)
    host = get_ingress_host_from_yaml(
        f"{TEST_DATA}/wildcard-tls-secret/{ing_type}/wildcard-secret-ingress.yaml"
    )
    common_app = create_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1,
                                   test_namespace)
    wait_until_all_pods_are_containers_ready(kube_apis.v1, test_namespace)

    def fin():
        print("Clean up Wildcard-Tls-Secret-Example:")
        delete_items_from_yaml(
            kube_apis.extensions_v1_beta1,
            f"{TEST_DATA}/wildcard-tls-secret/{ing_type}/wildcard-secret-ingress.yaml",
            test_namespace)
        delete_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1,
                          common_app, test_namespace)

    request.addfinalizer(fin)

    return WildcardTLSSecretSetup(ingress_controller_endpoint, test_namespace,
                                  host)
Exemplo n.º 2
0
def smoke_setup(request, kube_apis, ingress_controller_endpoint,
                ingress_controller, test_namespace) -> SmokeSetup:
    print(
        "------------------------- Deploy Smoke Example -----------------------------------"
    )
    secret_name = create_secret_from_yaml(
        kube_apis.v1, test_namespace, f"{TEST_DATA}/smoke/smoke-secret.yaml")
    create_items_from_yaml(
        kube_apis, f"{TEST_DATA}/smoke/{request.param}/smoke-ingress.yaml",
        test_namespace)
    ingress_host = get_first_ingress_host_from_yaml(
        f"{TEST_DATA}/smoke/{request.param}/smoke-ingress.yaml")
    common_app = create_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1,
                                   test_namespace)
    wait_until_all_pods_are_ready(kube_apis.v1, test_namespace)
    ensure_connection_to_public_endpoint(ingress_controller_endpoint.public_ip,
                                         ingress_controller_endpoint.port,
                                         ingress_controller_endpoint.port_ssl)

    def fin():
        print("Clean up the Smoke Application:")
        delete_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1,
                          common_app, test_namespace)
        delete_items_from_yaml(
            kube_apis, f"{TEST_DATA}/smoke/{request.param}/smoke-ingress.yaml",
            test_namespace)
        delete_secret(kube_apis.v1, secret_name, test_namespace)

    request.addfinalizer(fin)

    return SmokeSetup(ingress_controller_endpoint, ingress_host)
def jwt_secrets_setup(request, kube_apis, ingress_controller_endpoint,
                      ingress_controller, test_namespace) -> JWTSecretsSetup:
    with open(f"{TEST_DATA}/jwt-secrets/tokens/jwt-secrets-token.jwt",
              "r") as token_file:
        token = token_file.read().replace('\n', '')
    print(
        "------------------------- Deploy JWT Secrets Example -----------------------------------"
    )
    create_items_from_yaml(
        kube_apis,
        f"{TEST_DATA}/jwt-secrets/{request.param}/jwt-secrets-ingress.yaml",
        test_namespace)
    ingress_host = get_first_ingress_host_from_yaml(
        f"{TEST_DATA}/jwt-secrets/{request.param}/jwt-secrets-ingress.yaml")
    common_app = create_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1,
                                   test_namespace)
    wait_until_all_pods_are_ready(kube_apis.v1, test_namespace)
    ensure_connection_to_public_endpoint(ingress_controller_endpoint.public_ip,
                                         ingress_controller_endpoint.port,
                                         ingress_controller_endpoint.port_ssl)

    def fin():
        print("Clean up the JWT Secrets Application:")
        delete_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1,
                          common_app, test_namespace)
        delete_items_from_yaml(
            kube_apis,
            f"{TEST_DATA}/jwt-secrets/{request.param}/jwt-secrets-ingress.yaml",
            test_namespace)

    request.addfinalizer(fin)

    return JWTSecretsSetup(ingress_controller_endpoint, ingress_host, token)
def jwt_auth_setup(request, kube_apis, ingress_controller_endpoint, ingress_controller, test_namespace) -> JWTAuthMergeableSetup:
    tokens = {"master": get_token_from_file("master"), "minion": get_token_from_file("minion")}
    master_secret_name = create_secret_from_yaml(kube_apis.v1, test_namespace,
                                                 f"{TEST_DATA}/jwt-auth-mergeable/jwt-master-secret.yaml")
    minion_secret_name = create_secret_from_yaml(kube_apis.v1, test_namespace,
                                                 f"{TEST_DATA}/jwt-auth-mergeable/jwt-minion-secret.yaml")
    print("------------------------- Deploy JWT Auth Mergeable Minions Example -----------------------------------")
    create_items_from_yaml(kube_apis.extensions_v1_beta1, f"{TEST_DATA}/jwt-auth-mergeable/mergeable/jwt-auth-ingress.yaml", test_namespace)
    ingress_host = get_ingress_host_from_yaml(f"{TEST_DATA}/jwt-auth-mergeable/mergeable/jwt-auth-ingress.yaml")
    common_app = create_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1, test_namespace)
    wait_until_all_pods_are_ready(kube_apis.v1, test_namespace)
    ensure_connection_to_public_endpoint(ingress_controller_endpoint.public_ip,
                                         ingress_controller_endpoint.port,
                                         ingress_controller_endpoint.port_ssl)
    wait_before_test(2)

    def fin():
        print("Delete Master Secret:")
        if is_secret_present(kube_apis.v1, master_secret_name, test_namespace):
            delete_secret(kube_apis.v1, master_secret_name, test_namespace)

        print("Delete Minion Secret:")
        if is_secret_present(kube_apis.v1, minion_secret_name, test_namespace):
            delete_secret(kube_apis.v1, minion_secret_name, test_namespace)

        print("Clean up the JWT Auth Mergeable Minions Application:")
        delete_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1, common_app, test_namespace)
        delete_items_from_yaml(kube_apis.extensions_v1_beta1, f"{TEST_DATA}/jwt-auth-mergeable/mergeable/jwt-auth-ingress.yaml",
                               test_namespace)

    request.addfinalizer(fin)

    return JWTAuthMergeableSetup(ingress_controller_endpoint, ingress_host, master_secret_name, minion_secret_name, tokens)
def jwt_auth_setup(request, kube_apis, ingress_controller_endpoint,
                   ingress_controller,
                   test_namespace) -> JWTAuthMergeableSetup:
    tokens = {
        "master": get_token_from_file("master"),
        "minion": get_token_from_file("minion")
    }
    master_secret_name = create_secret_from_yaml(
        kube_apis.v1, test_namespace,
        f"{TEST_DATA}/jwt-auth-mergeable/jwt-master-secret.yaml")
    minion_secret_name = create_secret_from_yaml(
        kube_apis.v1, test_namespace,
        f"{TEST_DATA}/jwt-auth-mergeable/jwt-minion-secret.yaml")
    print(
        "------------------------- Deploy JWT Auth Mergeable Minions Example -----------------------------------"
    )
    create_items_from_yaml(
        kube_apis.extensions_v1_beta1,
        f"{TEST_DATA}/jwt-auth-mergeable/mergeable/jwt-auth-ingress.yaml",
        test_namespace)
    ingress_host = get_ingress_host_from_yaml(
        f"{TEST_DATA}/jwt-auth-mergeable/mergeable/jwt-auth-ingress.yaml")
    common_app = create_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1,
                                   test_namespace)
    wait_until_all_pods_are_ready(kube_apis.v1, test_namespace)
    ensure_connection_to_public_endpoint(ingress_controller_endpoint.public_ip,
                                         ingress_controller_endpoint.port,
                                         ingress_controller_endpoint.port_ssl)
    wait_before_test(2)

    def fin():
        print("Delete Master Secret:")
        if is_secret_present(kube_apis.v1, master_secret_name, test_namespace):
            delete_secret(kube_apis.v1, master_secret_name, test_namespace)

        print("Delete Minion Secret:")
        if is_secret_present(kube_apis.v1, minion_secret_name, test_namespace):
            delete_secret(kube_apis.v1, minion_secret_name, test_namespace)

        print("Clean up the JWT Auth Mergeable Minions Application:")
        delete_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1,
                          common_app, test_namespace)
        delete_items_from_yaml(
            kube_apis.extensions_v1_beta1,
            f"{TEST_DATA}/jwt-auth-mergeable/mergeable/jwt-auth-ingress.yaml",
            test_namespace)

    request.addfinalizer(fin)

    return JWTAuthMergeableSetup(ingress_controller_endpoint, ingress_host,
                                 master_secret_name, minion_secret_name,
                                 tokens)
def wildcard_tls_secret_setup(request, kube_apis, ingress_controller_endpoint, test_namespace) -> WildcardTLSSecretSetup:
    ing_type = request.param
    print("------------------------- Deploy Wildcard-Tls-Secret-Example -----------------------------------")
    create_items_from_yaml(kube_apis.extensions_v1_beta1,
                           f"{TEST_DATA}/wildcard-tls-secret/{ing_type}/wildcard-secret-ingress.yaml", test_namespace)
    host = get_ingress_host_from_yaml(f"{TEST_DATA}/wildcard-tls-secret/{ing_type}/wildcard-secret-ingress.yaml")
    common_app = create_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1, test_namespace)
    wait_until_all_pods_are_ready(kube_apis.v1, test_namespace)

    def fin():
        print("Clean up Wildcard-Tls-Secret-Example:")
        delete_items_from_yaml(kube_apis.extensions_v1_beta1,
                               f"{TEST_DATA}/wildcard-tls-secret/{ing_type}/wildcard-secret-ingress.yaml",
                               test_namespace)
        delete_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1, common_app, test_namespace)

    request.addfinalizer(fin)

    return WildcardTLSSecretSetup(ingress_controller_endpoint, test_namespace, host)
Exemplo n.º 7
0
def smoke_setup(request, kube_apis, ingress_controller_endpoint, ingress_controller, test_namespace) -> SmokeSetup:
    print("------------------------- Deploy Smoke Example -----------------------------------")
    secret_name = create_secret_from_yaml(kube_apis.v1, test_namespace, f"{TEST_DATA}/smoke/smoke-secret.yaml")
    create_items_from_yaml(kube_apis.extensions_v1_beta1, f"{TEST_DATA}/smoke/{request.param}/smoke-ingress.yaml", test_namespace)
    ingress_host = get_ingress_host_from_yaml(f"{TEST_DATA}/smoke/{request.param}/smoke-ingress.yaml")
    common_app = create_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1, test_namespace)
    wait_until_all_pods_are_ready(kube_apis.v1, test_namespace)
    ensure_connection_to_public_endpoint(ingress_controller_endpoint.public_ip,
                                         ingress_controller_endpoint.port,
                                         ingress_controller_endpoint.port_ssl)

    def fin():
        print("Clean up the Smoke Application:")
        delete_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1, common_app, test_namespace)
        delete_items_from_yaml(kube_apis.extensions_v1_beta1, f"{TEST_DATA}/smoke/{request.param}/smoke-ingress.yaml",
                               test_namespace)
        delete_secret(kube_apis.v1, secret_name, test_namespace)

    request.addfinalizer(fin)

    return SmokeSetup(ingress_controller_endpoint, ingress_host)
def jwt_secrets_setup(request, kube_apis, ingress_controller_endpoint, ingress_controller, test_namespace) -> JWTSecretsSetup:
    with open(f"{TEST_DATA}/jwt-secrets/tokens/jwt-secrets-token.jwt", "r") as token_file:
        token = token_file.read().replace('\n', '')
    print("------------------------- Deploy JWT Secrets Example -----------------------------------")
    create_items_from_yaml(kube_apis.extensions_v1_beta1, f"{TEST_DATA}/jwt-secrets/{request.param}/jwt-secrets-ingress.yaml", test_namespace)
    ingress_host = get_ingress_host_from_yaml(f"{TEST_DATA}/jwt-secrets/{request.param}/jwt-secrets-ingress.yaml")
    common_app = create_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1, test_namespace)
    wait_until_all_pods_are_ready(kube_apis.v1, test_namespace)
    ensure_connection_to_public_endpoint(ingress_controller_endpoint.public_ip,
                                         ingress_controller_endpoint.port,
                                         ingress_controller_endpoint.port_ssl)

    def fin():
        print("Clean up the JWT Secrets Application:")
        delete_common_app(kube_apis.v1, kube_apis.extensions_v1_beta1, common_app, test_namespace)
        delete_items_from_yaml(kube_apis.extensions_v1_beta1, f"{TEST_DATA}/jwt-secrets/{request.param}/jwt-secrets-ingress.yaml",
                               test_namespace)

    request.addfinalizer(fin)

    return JWTSecretsSetup(ingress_controller_endpoint, ingress_host, token)