update ha server unit tests

This commit is contained in:
Clint Shryock 2018-11-30 16:44:38 -06:00
parent 81b11691ae
commit 38d245d343
No known key found for this signature in database
GPG key ID: B7C8F9C70EC5CD29
2 changed files with 161 additions and 179 deletions

View file

@ -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

View file

@ -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" ]
#}