openbao-helm/test/unit/server-psp.bats

286 lines
9.9 KiB
Text
Raw Normal View History

#!/usr/bin/env bats
load _helpers
@test "server/PodSecurityPolicy: PodSecurityPolicy not enabled by default" {
cd `chart_dir`
local actual=$( (helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
. || echo "---") | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "false" ]
local actual=$( (helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
. || echo "---") | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "false" ]
local actual=$( (helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
. || echo "---") | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "false" ]
}
@test "server/PodSecurityPolicy: PodSecurityPolicy can be enabled" {
cd `chart_dir`
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
--set 'global.psp.enable=true' \
. | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
--set 'global.psp.enable=true' \
. | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
--set 'global.psp.enable=true' \
. | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "true" ]
}
@test "server/PodSecurityPolicy: PodSecurityPolicy annotations are templated correctly" {
cd `chart_dir`
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
--set 'global.psp.enable=true' \
. | tee /dev/stderr |
yq '.metadata.annotations | length == 4' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
--set 'global.psp.enable=true' \
. | tee /dev/stderr |
yq '.metadata.annotations | length == 4' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
--set 'global.psp.enable=true' \
. | tee /dev/stderr |
yq '.metadata.annotations | length == 4' | tee /dev/stderr)
[ "${actual}" = "true" ]
}
@test "server/PodSecurityPolicy: annotations are added - string" {
cd `chart_dir`
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
--set 'global.psp.enable=true' \
--set 'global.psp.annotations=vault-is: amazing' \
. | tee /dev/stderr |
yq -r '.metadata.annotations["vault-is"]' | tee /dev/stderr)
[ "${actual}" = "amazing" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
--set 'global.psp.enable=true' \
--set 'global.psp.annotations=vault-is: amazing' \
. | tee /dev/stderr |
yq -r '.metadata.annotations["vault-is"]' | tee /dev/stderr)
[ "${actual}" = "amazing" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
--set 'global.psp.enable=true' \
--set 'global.psp.annotations=vault-is: amazing' \
. | tee /dev/stderr |
yq -r '.metadata.annotations["vault-is"]' | tee /dev/stderr)
[ "${actual}" = "amazing" ]
}
@test "server/PodSecurityPolicy: annotations are added - object" {
cd `chart_dir`
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
--set 'global.psp.enable=true' \
--set 'global.psp.annotations.vault-is=amazing' \
. | tee /dev/stderr |
yq -r '.metadata.annotations["vault-is"]' | tee /dev/stderr)
[ "${actual}" = "amazing" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
--set 'global.psp.enable=true' \
--set 'global.psp.annotations.vault-is=amazing' \
. | tee /dev/stderr |
yq -r '.metadata.annotations["vault-is"]' | tee /dev/stderr)
[ "${actual}" = "amazing" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
--set 'global.psp.enable=true' \
--set 'global.psp.annotations.vault-is=amazing' \
. | tee /dev/stderr |
yq -r '.metadata.annotations["vault-is"]' | tee /dev/stderr)
[ "${actual}" = "amazing" ]
}
@test "server/PodSecurityPolicy: disable with global.enabled false" {
cd `chart_dir`
local actual=$( (helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
--set 'global.enabled=false' \
--set 'global.psp.enable=true' \
. || echo "---") | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "false" ]
local actual=$( (helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
--set 'global.enabled=false' \
--set 'global.psp.enable=true' \
. || echo "---") | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "false" ]
local actual=$( (helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
--set 'global.enabled=false' \
--set 'global.psp.enable=true' \
. || echo "---") | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "false" ]
}
@test "server/PodSecurityPolicy: disable with global.psp.enable false" {
cd `chart_dir`
local actual=$( (helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
--set 'global.psp.enable=false' \
. || echo "---") | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "false" ]
local actual=$( (helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
--set 'global.psp.enable=false' \
. || echo "---") | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "false" ]
local actual=$( (helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
--set 'global.psp.enable=false' \
. || echo "---") | tee /dev/stderr |
yq 'length > 0' | tee /dev/stderr)
[ "${actual}" = "false" ]
}
@test "server/PodSecurityPolicy: PodSecurityPolicy allows PVC by default" {
cd `chart_dir`
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
--set 'global.psp.enable=true' \
. | tee /dev/stderr |
yq '.spec.volumes | contains(["persistentVolumeClaim"])' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
--set 'global.psp.enable=true' \
. | tee /dev/stderr |
yq '.spec.volumes | contains(["persistentVolumeClaim"])' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
--set 'global.psp.enable=true' \
. | tee /dev/stderr |
yq '.spec.volumes | contains(["persistentVolumeClaim"])' | tee /dev/stderr)
[ "${actual}" = "true" ]
}
@test "server/PodSecurityPolicy: PodSecurityPolicy allows PVC with dataStorage" {
cd `chart_dir`
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
--set 'global.psp.enable=true' \
--set 'server.dataStorage.enabled=true' \
. | tee /dev/stderr |
yq '.spec.volumes | contains(["persistentVolumeClaim"])' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
--set 'global.psp.enable=true' \
--set 'server.dataStorage.enabled=true' \
. | tee /dev/stderr |
yq '.spec.volumes | contains(["persistentVolumeClaim"])' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
--set 'global.psp.enable=true' \
--set 'server.dataStorage.enabled=true' \
. | tee /dev/stderr |
yq '.spec.volumes | contains(["persistentVolumeClaim"])' | tee /dev/stderr)
[ "${actual}" = "true" ]
}
@test "server/PodSecurityPolicy: PodSecurityPolicy does not allow PVC without dataStorage" {
cd `chart_dir`
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.dev.enabled=true' \
--set 'global.psp.enable=true' \
--set 'server.dataStorage.enabled=false' \
. | tee /dev/stderr |
yq '.spec.volumes | contains(["persistentVolumeClaim"])' | tee /dev/stderr)
[ "${actual}" = "false" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.ha.enabled=true' \
--set 'global.psp.enable=true' \
--set 'server.dataStorage.enabled=false' \
. | tee /dev/stderr |
yq '.spec.volumes | contains(["persistentVolumeClaim"])' | tee /dev/stderr)
[ "${actual}" = "false" ]
local actual=$(helm template \
--show-only templates/server-psp.yaml \
--set 'server.standalone.enabled=true' \
--set 'global.psp.enable=true' \
--set 'server.dataStorage.enabled=false' \
. | tee /dev/stderr |
yq '.spec.volumes | contains(["persistentVolumeClaim"])' | tee /dev/stderr)
[ "${actual}" = "false" ]
}