diff --git a/tests/templates/kuttl/smoke/30-install-superset.yaml.j2 b/tests/templates/kuttl/smoke/30-install-superset.yaml.j2 index a280c3b0..1de4b50c 100644 --- a/tests/templates/kuttl/smoke/30-install-superset.yaml.j2 +++ b/tests/templates/kuttl/smoke/30-install-superset.yaml.j2 @@ -39,9 +39,20 @@ spec: config: logging: enableVectorAgent: {{ lookup('env', 'VECTOR_AGGREGATOR') | length > 0 }} + configOverrides: + superset_config.py: + EXPERIMENTAL_FILE_HEADER: | + COMMON_HEADER_VAR = "role-value" + ROLE_HEADER_VAR = "role-value" + EXPERIMENTAL_FILE_FOOTER: | + ROLE_FOOTER_VAR = "role-value" roleGroups: default: replicas: 1 + configOverrides: + superset_config.py: + EXPERIMENTAL_FILE_HEADER: | + COMMON_HEADER_VAR = "group-value" envOverrides: COMMON_VAR: group-value # overrides role value GROUP_VAR: group-value # only defined here at group level diff --git a/tests/templates/kuttl/smoke/31-assert.yaml b/tests/templates/kuttl/smoke/31-assert.yaml index b9b151ac..aa98ee25 100644 --- a/tests/templates/kuttl/smoke/31-assert.yaml +++ b/tests/templates/kuttl/smoke/31-assert.yaml @@ -7,6 +7,30 @@ commands: # Test envOverrides # - script: | - kubectl -n $NAMESPACE get sts superset-node-default -o yaml | yq -e '.spec.template.spec.containers[] | select (.name == "superset") | .env[] | select (.name == "COMMON_VAR" and .value == "group-value")' - kubectl -n $NAMESPACE get sts superset-node-default -o yaml | yq -e '.spec.template.spec.containers[] | select (.name == "superset") | .env[] | select (.name == "GROUP_VAR" and .value == "group-value")' - kubectl -n $NAMESPACE get sts superset-node-default -o yaml | yq -e '.spec.template.spec.containers[] | select (.name == "superset") | .env[] | select (.name == "ROLE_VAR" and .value == "role-value")' + #!/usr/bin/env bash + set -euo pipefail + + # Config Test Data + SUPERSET_CONFIG=$( + kubectl -n "$NAMESPACE" get cm superset-node-default -o yaml \ + | yq -e '.data["superset_config.py"]' + ) + + # Config Test Assertions + echo "$SUPERSET_CONFIG" | grep 'COMMON_HEADER_VAR = "group-value"' + echo "$SUPERSET_CONFIG" | grep 'ROLE_FOOTER_VAR = "role-value"' + echo "$SUPERSET_CONFIG" | grep -v 'ROLE_HEADER_VAR = "role-value"' + + # STS Spec Test Data + SUPERSET_NODE_DEFAULT_STS=$(kubectl -n "$NAMESPACE" get sts superset-node-default -o yaml) + YQ_FILTER=' + .spec.template.spec.containers[] + | select(.name == "superset") + | .env[] + | select(.name == strenv(KEY) and .value == strenv(VALUE)) + ' + + # STS Spec Test Assertions + echo "$SUPERSET_NODE_DEFAULT_STS" | KEY="COMMON_VAR" VALUE="group-value" yq -e "$YQ_FILTER" + echo "$SUPERSET_NODE_DEFAULT_STS" | KEY="GROUP_VAR" VALUE="group-value" yq -e "$YQ_FILTER" + echo "$SUPERSET_NODE_DEFAULT_STS" | KEY="ROLE_VAR" VALUE="role-value" yq -e "$YQ_FILTER"