mirror of
https://github.com/aljazceru/kata-containers.git
synced 2025-12-17 22:34:25 +01:00
There's absolutely no need to have the skip check as part of the test itself when it's already done as part of the setup function. We're only touching the files here that were touched in the previous commit. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
63 lines
1.9 KiB
Bash
63 lines
1.9 KiB
Bash
#!/usr/bin/env bats
|
|
#
|
|
# Copyright (c) 2018 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
load "${BATS_TEST_DIRNAME}/../../common.bash"
|
|
load "${BATS_TEST_DIRNAME}/tests_common.sh"
|
|
|
|
setup() {
|
|
[ "${KATA_HYPERVISOR}" == "firecracker" ] && skip "test not working see: ${fc_limitations}"
|
|
[ "${KATA_HYPERVISOR}" == "fcr" ] && skip "test not working see: ${fc_limitations}"
|
|
|
|
get_pod_config_dir
|
|
}
|
|
|
|
@test "Credentials using secrets" {
|
|
secret_name="test-secret"
|
|
pod_name="secret-test-pod"
|
|
second_pod_name="secret-envars-test-pod"
|
|
|
|
# Create the secret
|
|
kubectl create -f "${pod_config_dir}/inject_secret.yaml"
|
|
|
|
# View information about the secret
|
|
kubectl get secret "${secret_name}" -o yaml | grep "type: Opaque"
|
|
|
|
# Create a pod that has access to the secret through a volume
|
|
kubectl create -f "${pod_config_dir}/pod-secret.yaml"
|
|
|
|
# Check pod creation
|
|
kubectl wait --for=condition=Ready --timeout=$timeout pod "$pod_name"
|
|
|
|
# List the files
|
|
cmd="ls /tmp/secret-volume"
|
|
kubectl exec $pod_name -- sh -c "$cmd" | grep -w "password"
|
|
kubectl exec $pod_name -- sh -c "$cmd" | grep -w "username"
|
|
|
|
# Create a pod that has access to the secret data through environment variables
|
|
kubectl create -f "${pod_config_dir}/pod-secret-env.yaml"
|
|
|
|
# Check pod creation
|
|
kubectl wait --for=condition=Ready --timeout=$timeout pod "$second_pod_name"
|
|
|
|
# Display environment variables
|
|
second_cmd="printenv"
|
|
kubectl exec $second_pod_name -- sh -c "$second_cmd" | grep -w "SECRET_USERNAME"
|
|
kubectl exec $second_pod_name -- sh -c "$second_cmd" | grep -w "SECRET_PASSWORD"
|
|
}
|
|
|
|
teardown() {
|
|
[ "${KATA_HYPERVISOR}" == "firecracker" ] && skip "test not working see: ${fc_limitations}"
|
|
[ "${KATA_HYPERVISOR}" == "fc" ] && skip "test not working see: ${fc_limitations}"
|
|
|
|
# Debugging information
|
|
kubectl describe "pod/$pod_name"
|
|
kubectl describe "pod/$second_pod_name"
|
|
|
|
kubectl delete pod "$pod_name" "$second_pod_name"
|
|
kubectl delete secret "$secret_name"
|
|
}
|