github.com/dmaizel/tests@v0.0.0-20210728163746-cae6a2d9cee8/integration/kubernetes/k8s-configmap.bats (about)

     1  #!/usr/bin/env bats
     2  #
     3  # Copyright (c) 2018 Intel Corporation
     4  #
     5  # SPDX-License-Identifier: Apache-2.0
     6  #
     7  
     8  load "${BATS_TEST_DIRNAME}/../../.ci/lib.sh"
     9  load "${BATS_TEST_DIRNAME}/tests_common.sh"
    10  
    11  setup() {
    12  	export KUBECONFIG="${KUBECONFIG:-$HOME/.kube/config}"
    13  	get_pod_config_dir
    14  }
    15  
    16  @test "ConfigMap for a pod" {
    17  	config_name="test-configmap"
    18  	pod_name="config-env-test-pod"
    19  
    20  	# Create ConfigMap
    21  	kubectl create -f "${pod_config_dir}/configmap.yaml"
    22  
    23  	# View the values of the keys
    24  	kubectl get configmaps $config_name -o yaml | grep -q "data-"
    25  
    26  	# Create a pod that consumes the ConfigMap
    27  	kubectl create -f "${pod_config_dir}/pod-configmap.yaml"
    28  
    29  	# Check pod creation
    30  	kubectl wait --for=condition=Ready --timeout=$timeout pod "$pod_name"
    31  
    32  	# Check env
    33  	cmd="env"
    34  	kubectl exec $pod_name -- sh -c $cmd | grep "KUBE_CONFIG_1=value-1"
    35  	kubectl exec $pod_name -- sh -c $cmd | grep "KUBE_CONFIG_2=value-2"
    36  }
    37  
    38  teardown() {
    39  	# Debugging information
    40  	kubectl describe "pod/$pod_name"
    41  
    42  	kubectl delete pod "$pod_name"
    43  	kubectl delete configmap "$config_name"
    44  }