update ha server unit tests
This commit is contained in:
parent
81b11691ae
commit
38d245d343
2 changed files with 161 additions and 179 deletions
|
@ -18,10 +18,6 @@ load _helpers
|
||||||
|
|
||||||
# setup a consul env
|
# setup a consul env
|
||||||
setup() {
|
setup() {
|
||||||
set +e
|
|
||||||
#if [[ "$BATS_TEST_NUMBER" -eq 1]]; then
|
|
||||||
# ...
|
|
||||||
#fi
|
|
||||||
helm install https://github.com/hashicorp/consul-helm/archive/v0.3.0.tar.gz \
|
helm install https://github.com/hashicorp/consul-helm/archive/v0.3.0.tar.gz \
|
||||||
--name consul \
|
--name consul \
|
||||||
--set 'ui.enabled=false' \
|
--set 'ui.enabled=false' \
|
||||||
|
@ -31,9 +27,6 @@ setup() {
|
||||||
|
|
||||||
#cleanup
|
#cleanup
|
||||||
teardown() {
|
teardown() {
|
||||||
#if [[ "${#BATS_TEST_NAMES[@]}" -eq "$BATS_TEST_NUMBER" ]]; then
|
|
||||||
#
|
|
||||||
#fi
|
|
||||||
helm delete --purge vault
|
helm delete --purge vault
|
||||||
helm delete --purge consul
|
helm delete --purge consul
|
||||||
kubectl delete --all pvc
|
kubectl delete --all pvc
|
||||||
|
|
|
@ -21,212 +21,201 @@ load _helpers
|
||||||
[ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
# @test "server/StatefulSet: enable with global.enabled false" {
|
@test "server/StatefulSet: enable with global.enabled false" {
|
||||||
# cd `chart_dir`
|
cd `chart_dir`
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'global.enabled=false' \
|
--set 'global.enabled=false' \
|
||||||
# --set 'server.enabled=true' \
|
--set 'serverHA.enabled=true' \
|
||||||
# . | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
# yq 'length > 0' | tee /dev/stderr)
|
yq 'length > 0' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
# }
|
}
|
||||||
|
|
||||||
#@test "server/StatefulSet: disable with server.enabled" {
|
@test "server/StatefulSet: disable with serverHA.enabled" {
|
||||||
# cd `chart_dir`
|
cd `chart_dir`
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.enabled=false' \
|
--set 'serverHA.enabled=false' \
|
||||||
# . | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
# yq 'length > 0' | tee /dev/stderr)
|
yq 'length > 0' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "false" ]
|
[ "${actual}" = "false" ]
|
||||||
#}
|
}
|
||||||
|
|
||||||
#@test "server/StatefulSet: disable with global.enabled" {
|
@test "server/StatefulSet: disable with global.enabled" {
|
||||||
# cd `chart_dir`
|
cd `chart_dir`
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'global.enabled=false' \
|
--set 'global.enabled=false' \
|
||||||
# . | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
# yq 'length > 0' | tee /dev/stderr)
|
yq 'length > 0' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "false" ]
|
[ "${actual}" = "false" ]
|
||||||
#}
|
}
|
||||||
|
|
||||||
#@test "server/StatefulSet: image defaults to global.image" {
|
@test "server/StatefulSet: image defaults to global.image" {
|
||||||
# cd `chart_dir`
|
cd `chart_dir`
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'global.image=foo' \
|
--set 'global.image=foo' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.enabled=true' \
|
||||||
# yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
# [ "${actual}" = "foo" ]
|
yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr)
|
||||||
#}
|
[ "${actual}" = "foo" ]
|
||||||
|
}
|
||||||
|
|
||||||
#@test "server/StatefulSet: image can be overridden with server.image" {
|
@test "server/StatefulSet: image can be overridden with serverHA.image" {
|
||||||
# cd `chart_dir`
|
cd `chart_dir`
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'global.image=foo' \
|
--set 'global.image=foo' \
|
||||||
# --set 'server.image=bar' \
|
--set 'serverHA.enabled=true' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.image=bar' \
|
||||||
# yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
# [ "${actual}" = "bar" ]
|
yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr)
|
||||||
#}
|
[ "${actual}" = "bar" ]
|
||||||
|
}
|
||||||
|
|
||||||
##--------------------------------------------------------------------
|
##--------------------------------------------------------------------
|
||||||
## updateStrategy
|
## updateStrategy
|
||||||
|
|
||||||
#@test "server/StatefulSet: no updateStrategy when not updating" {
|
@test "server/StatefulSet: no updateStrategy when not updating" {
|
||||||
# cd `chart_dir`
|
cd `chart_dir`
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.enabled=true' \
|
||||||
# yq -r '.spec.updateStrategy' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
# [ "${actual}" = "null" ]
|
yq -r '.spec.updateStrategy' | tee /dev/stderr)
|
||||||
#}
|
[ "${actual}" = "null" ]
|
||||||
|
}
|
||||||
|
|
||||||
#@test "server/StatefulSet: updateStrategy during update" {
|
@test "server/StatefulSet: updateStrategy during update" {
|
||||||
# cd `chart_dir`
|
cd `chart_dir`
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.updatePartition=2' \
|
--set 'serverHA.enabled=true' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.updatePartition=2' \
|
||||||
# yq -r '.spec.updateStrategy.type' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
# [ "${actual}" = "RollingUpdate" ]
|
yq -r '.spec.updateStrategy.type' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "RollingUpdate" ]
|
||||||
|
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.updatePartition=2' \
|
--set 'serverHA.enabled=true' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.updatePartition=2' \
|
||||||
# yq -r '.spec.updateStrategy.rollingUpdate.partition' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
# [ "${actual}" = "2" ]
|
yq -r '.spec.updateStrategy.rollingUpdate.partition' | tee /dev/stderr)
|
||||||
#}
|
[ "${actual}" = "2" ]
|
||||||
|
}
|
||||||
|
|
||||||
##--------------------------------------------------------------------
|
##--------------------------------------------------------------------
|
||||||
## extraVolumes
|
## extraVolumes
|
||||||
|
|
||||||
#@test "server/StatefulSet: adds extra volume" {
|
@test "server/StatefulSet: adds extra volume" {
|
||||||
# cd `chart_dir`
|
cd `chart_dir`
|
||||||
|
|
||||||
# # Test that it defines it
|
# Test that it defines it
|
||||||
# local object=$(helm template \
|
local object=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.extraVolumes[0].type=configMap' \
|
--set 'serverHA.enabled=true' \
|
||||||
# --set 'server.extraVolumes[0].name=foo' \
|
--set 'serverHA.extraVolumes[0].type=configMap' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.extraVolumes[0].name=foo' \
|
||||||
# yq -r '.spec.template.spec.volumes[] | select(.name == "userconfig-foo")' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.spec.template.spec.volumes[] | select(.name == "userconfig-foo")' | tee /dev/stderr)
|
||||||
|
|
||||||
# local actual=$(echo $object |
|
local actual=$(echo $object |
|
||||||
# yq -r '.configMap.name' | tee /dev/stderr)
|
yq -r '.configMap.name' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "foo" ]
|
[ "${actual}" = "foo" ]
|
||||||
|
|
||||||
# local actual=$(echo $object |
|
local actual=$(echo $object |
|
||||||
# yq -r '.configMap.secretName' | tee /dev/stderr)
|
yq -r '.configMap.secretName' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "null" ]
|
[ "${actual}" = "null" ]
|
||||||
|
|
||||||
# # Test that it mounts it
|
# Test that it mounts it
|
||||||
# local object=$(helm template \
|
local object=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.extraVolumes[0].type=configMap' \
|
--set 'serverHA.enabled=true' \
|
||||||
# --set 'server.extraVolumes[0].name=foo' \
|
--set 'serverHA.extraVolumes[0].type=configMap' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.extraVolumes[0].name=foo' \
|
||||||
# yq -r '.spec.template.spec.containers[0].volumeMounts[] | select(.name == "userconfig-foo")' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.spec.template.spec.containers[0].volumeMounts[] | select(.name == "userconfig-foo")' | tee /dev/stderr)
|
||||||
|
|
||||||
# local actual=$(echo $object |
|
local actual=$(echo $object |
|
||||||
# yq -r '.readOnly' | tee /dev/stderr)
|
yq -r '.readOnly' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
|
|
||||||
# local actual=$(echo $object |
|
local actual=$(echo $object |
|
||||||
# yq -r '.mountPath' | tee /dev/stderr)
|
yq -r '.mountPath' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "/consul/userconfig/foo" ]
|
[ "${actual}" = "/vault/userconfig/foo" ]
|
||||||
|
|
||||||
# # Doesn't load it
|
# Doesn't load it
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.extraVolumes[0].type=configMap' \
|
--set 'serverHA.enabled=true' \
|
||||||
# --set 'server.extraVolumes[0].name=foo' \
|
--set 'serverHA.extraVolumes[0].type=configMap' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.extraVolumes[0].name=foo' \
|
||||||
# yq -r '.spec.template.spec.containers[0].command | map(select(test("userconfig"))) | length' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
# [ "${actual}" = "0" ]
|
yq -r '.spec.template.spec.containers[0].command | map(select(test("userconfig"))) | length' | tee /dev/stderr)
|
||||||
#}
|
[ "${actual}" = "0" ]
|
||||||
|
}
|
||||||
|
|
||||||
#@test "server/StatefulSet: adds extra secret volume" {
|
@test "server/StatefulSet: adds extra secret volume" {
|
||||||
# cd `chart_dir`
|
cd `chart_dir`
|
||||||
|
|
||||||
# # Test that it defines it
|
# Test that it defines it
|
||||||
# local object=$(helm template \
|
local object=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.extraVolumes[0].type=secret' \
|
--set 'serverHA.enabled=true' \
|
||||||
# --set 'server.extraVolumes[0].name=foo' \
|
--set 'serverHA.extraVolumes[0].type=secret' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.extraVolumes[0].name=foo' \
|
||||||
# yq -r '.spec.template.spec.volumes[] | select(.name == "userconfig-foo")' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.spec.template.spec.volumes[] | select(.name == "userconfig-foo")' | tee /dev/stderr)
|
||||||
|
|
||||||
# local actual=$(echo $object |
|
local actual=$(echo $object |
|
||||||
# yq -r '.secret.name' | tee /dev/stderr)
|
yq -r '.secret.name' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "null" ]
|
[ "${actual}" = "null" ]
|
||||||
|
|
||||||
# local actual=$(echo $object |
|
local actual=$(echo $object |
|
||||||
# yq -r '.secret.secretName' | tee /dev/stderr)
|
yq -r '.secret.secretName' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "foo" ]
|
[ "${actual}" = "foo" ]
|
||||||
|
|
||||||
# # Test that it mounts it
|
# Test that it mounts it
|
||||||
# local object=$(helm template \
|
local object=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.extraVolumes[0].type=configMap' \
|
--set 'serverHA.enabled=true' \
|
||||||
# --set 'server.extraVolumes[0].name=foo' \
|
--set 'serverHA.extraVolumes[0].type=configMap' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.extraVolumes[0].name=foo' \
|
||||||
# yq -r '.spec.template.spec.containers[0].volumeMounts[] | select(.name == "userconfig-foo")' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.spec.template.spec.containers[0].volumeMounts[] | select(.name == "userconfig-foo")' | tee /dev/stderr)
|
||||||
|
|
||||||
# local actual=$(echo $object |
|
local actual=$(echo $object |
|
||||||
# yq -r '.readOnly' | tee /dev/stderr)
|
yq -r '.readOnly' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
|
|
||||||
# local actual=$(echo $object |
|
local actual=$(echo $object |
|
||||||
# yq -r '.mountPath' | tee /dev/stderr)
|
yq -r '.mountPath' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "/consul/userconfig/foo" ]
|
[ "${actual}" = "/vault/userconfig/foo" ]
|
||||||
|
|
||||||
# # Doesn't load it
|
# Doesn't load it
|
||||||
# local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
-x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.extraVolumes[0].type=configMap' \
|
--set 'serverHA.enabled=true' \
|
||||||
# --set 'server.extraVolumes[0].name=foo' \
|
--set 'serverHA.extraVolumes[0].type=configMap' \
|
||||||
# . | tee /dev/stderr |
|
--set 'serverHA.extraVolumes[0].name=foo' \
|
||||||
# yq -r '.spec.template.spec.containers[0].command | map(select(test("userconfig"))) | length' | tee /dev/stderr)
|
. | tee /dev/stderr |
|
||||||
# [ "${actual}" = "0" ]
|
yq -r '.spec.template.spec.containers[0].command | map(select(test("userconfig"))) | length' | tee /dev/stderr)
|
||||||
#}
|
[ "${actual}" = "0" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Extra volumes are not used for loading Vault configuration at this time
|
||||||
#@test "server/StatefulSet: adds loadable volume" {
|
#@test "server/StatefulSet: adds loadable volume" {
|
||||||
# cd `chart_dir`
|
# cd `chart_dir`
|
||||||
# local actual=$(helm template \
|
# local actual=$(helm template \
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
# -x templates/server-ha-statefulset.yaml \
|
||||||
# --set 'server.extraVolumes[0].type=configMap' \
|
# --set 'serverHA.enabled=true' \
|
||||||
# --set 'server.extraVolumes[0].name=foo' \
|
# --set 'serverHA.extraVolumes[0].type=configMap' \
|
||||||
# --set 'server.extraVolumes[0].load=true' \
|
# --set 'serverHA.extraVolumes[0].name=foo' \
|
||||||
|
# --set 'serverHA.extraVolumes[0].load=true' \
|
||||||
# . | tee /dev/stderr |
|
# . | tee /dev/stderr |
|
||||||
# yq -r '.spec.template.spec.containers[0].command | map(select(test("/consul/userconfig/foo"))) | length' | tee /dev/stderr)
|
# yq -r '.spec.template.spec.containers[0].command | map(select(test("/vault/userconfig/foo"))) | length' | tee /dev/stderr)
|
||||||
# [ "${actual}" = "1" ]
|
# [ "${actual}" = "1" ]
|
||||||
#}
|
#}
|
||||||
|
|
||||||
##--------------------------------------------------------------------
|
|
||||||
## updateStrategy
|
|
||||||
|
|
||||||
#@test "server/StatefulSet: no storageClass on claim by default" {
|
|
||||||
# cd `chart_dir`
|
|
||||||
# local actual=$(helm template \
|
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
|
||||||
# . | tee /dev/stderr |
|
|
||||||
# yq -r '.spec.volumeClaimTemplates[0].spec.storageClassName' | tee /dev/stderr)
|
|
||||||
# [ "${actual}" = "null" ]
|
|
||||||
#}
|
|
||||||
|
|
||||||
|
|
||||||
#@test "server/StatefulSet: can set storageClass" {
|
|
||||||
# cd `chart_dir`
|
|
||||||
# local actual=$(helm template \
|
|
||||||
# -x templates/server-ha-statefulset.yaml \
|
|
||||||
# --set 'server.storageClass=foo' \
|
|
||||||
# . | tee /dev/stderr |
|
|
||||||
# yq -r '.spec.volumeClaimTemplates[0].spec.storageClassName' | tee /dev/stderr)
|
|
||||||
# [ "${actual}" = "foo" ]
|
|
||||||
#}
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue