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 }