2019-07-31 18:26:12 +00:00
|
|
|
#!/usr/bin/env bats
|
|
|
|
|
|
|
|
load _helpers
|
|
|
|
|
|
|
|
@test "server/dev: testing deployment" {
|
|
|
|
cd `chart_dir`
|
2019-12-19 15:57:51 +00:00
|
|
|
kubectl delete namespace acceptance --ignore-not-found=true
|
|
|
|
kubectl create namespace acceptance
|
|
|
|
kubectl config set-context --current --namespace=acceptance
|
|
|
|
|
2020-02-06 16:44:38 +00:00
|
|
|
helm install "$(name_prefix)" --set='server.dev.enabled=true' .
|
2019-07-31 18:26:12 +00:00
|
|
|
wait_for_running $(name_prefix)-0
|
|
|
|
|
|
|
|
# Replicas
|
|
|
|
local replicas=$(kubectl get statefulset "$(name_prefix)" --output json |
|
|
|
|
jq -r '.spec.replicas')
|
|
|
|
[ "${replicas}" == "1" ]
|
|
|
|
|
|
|
|
# Volume Mounts
|
|
|
|
local volumeCount=$(kubectl get statefulset "$(name_prefix)" --output json |
|
|
|
|
jq -r '.spec.template.spec.containers[0].volumeMounts | length')
|
2020-06-03 02:10:41 +00:00
|
|
|
[ "${volumeCount}" == "1" ]
|
2019-07-31 18:26:12 +00:00
|
|
|
|
|
|
|
# Service
|
|
|
|
local service=$(kubectl get service "$(name_prefix)" --output json |
|
|
|
|
jq -r '.spec.clusterIP')
|
2019-08-08 18:14:58 +00:00
|
|
|
[ "${service}" != "None" ]
|
2019-07-31 18:26:12 +00:00
|
|
|
|
|
|
|
local service=$(kubectl get service "$(name_prefix)" --output json |
|
|
|
|
jq -r '.spec.type')
|
|
|
|
[ "${service}" == "ClusterIP" ]
|
|
|
|
|
|
|
|
local ports=$(kubectl get service "$(name_prefix)" --output json |
|
|
|
|
jq -r '.spec.ports | length')
|
|
|
|
[ "${ports}" == "2" ]
|
|
|
|
|
|
|
|
local ports=$(kubectl get service "$(name_prefix)" --output json |
|
|
|
|
jq -r '.spec.ports[0].port')
|
|
|
|
[ "${ports}" == "8200" ]
|
|
|
|
|
|
|
|
local ports=$(kubectl get service "$(name_prefix)" --output json |
|
|
|
|
jq -r '.spec.ports[1].port')
|
|
|
|
[ "${ports}" == "8201" ]
|
|
|
|
|
|
|
|
# Sealed, not initialized
|
2024-05-22 18:33:41 +00:00
|
|
|
local sealed_status=$(kubectl exec "$(name_prefix)-0" -- bao status -format=json |
|
2019-07-31 18:26:12 +00:00
|
|
|
jq -r '.sealed' )
|
|
|
|
[ "${sealed_status}" == "false" ]
|
|
|
|
|
2024-05-22 18:33:41 +00:00
|
|
|
local init_status=$(kubectl exec "$(name_prefix)-0" -- bao status -format=json |
|
2019-07-31 18:26:12 +00:00
|
|
|
jq -r '.initialized')
|
|
|
|
[ "${init_status}" == "true" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
# Clean up
|
|
|
|
teardown() {
|
2020-04-09 13:26:58 +00:00
|
|
|
if [[ ${CLEANUP:-true} == "true" ]]
|
|
|
|
then
|
|
|
|
echo "helm/pvc teardown"
|
2024-05-22 18:33:41 +00:00
|
|
|
helm delete openbao
|
2020-04-09 13:26:58 +00:00
|
|
|
kubectl delete --all pvc
|
|
|
|
kubectl delete namespace acceptance --ignore-not-found=true
|
|
|
|
fi
|
2019-07-31 18:26:12 +00:00
|
|
|
}
|