2020-04-21 15:19:17 +00:00
|
|
|
#!/usr/bin/env bats
|
|
|
|
|
|
|
|
load _helpers
|
|
|
|
|
|
|
|
@test "server/ha-active-Service: generic annotations" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
2024-05-28 11:52:10 +00:00
|
|
|
--set 'server.service.annotations=openBaoIsAwesome: true' \
|
2020-04-21 15:19:17 +00:00
|
|
|
. | tee /dev/stderr |
|
2024-05-28 11:52:10 +00:00
|
|
|
yq -r '.metadata.annotations["openBaoIsAwesome"]' | tee /dev/stderr)
|
2020-04-21 15:19:17 +00:00
|
|
|
[ "${actual}" = "true" ]
|
|
|
|
}
|
2020-06-02 14:06:50 +00:00
|
|
|
|
2023-09-26 20:28:54 +00:00
|
|
|
@test "server/ha-active-Service: with active annotations" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
2024-05-28 11:52:10 +00:00
|
|
|
--set 'server.service.active.annotations=openBaoIsAwesome: true' \
|
2023-09-26 20:28:54 +00:00
|
|
|
. | tee /dev/stderr |
|
2024-05-28 11:52:10 +00:00
|
|
|
yq -r '.metadata.annotations["openBaoIsAwesome"]' | tee /dev/stderr)
|
2023-09-26 20:28:54 +00:00
|
|
|
[ "${actual}" = "true" ]
|
|
|
|
}
|
|
|
|
@test "server/ha-active-Service: with both annotations set" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local object=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
2024-05-28 11:52:10 +00:00
|
|
|
--set 'server.service.active.annotations=openBaoIsAwesome: true' \
|
|
|
|
--set 'server.service.annotations=openbaoIsNotAwesome: false' \
|
2023-09-26 20:28:54 +00:00
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.metadata' | tee /dev/stderr)
|
|
|
|
|
2024-05-28 11:52:10 +00:00
|
|
|
local actual=$(echo "$object" | yq '.annotations["openBaoIsAwesome"]' | tee /dev/stderr)
|
2023-09-26 20:28:54 +00:00
|
|
|
[ "${actual}" = "true" ]
|
2024-05-28 11:52:10 +00:00
|
|
|
actual=$(echo "$object" | yq '.annotations["openbaoIsNotAwesome"]' | tee /dev/stderr)
|
2023-09-26 20:28:54 +00:00
|
|
|
[ "${actual}" = "false" ]
|
|
|
|
}
|
2020-06-02 14:06:50 +00:00
|
|
|
@test "server/ha-active-Service: disable with ha.enabled false" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$( (helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=false' \
|
|
|
|
--set 'server.service.enabled=true' \
|
|
|
|
. || echo "---") | tee /dev/stderr |
|
|
|
|
yq 'length > 0' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "false" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "server/ha-active-Service: disable with server.service.enabled false" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$( (helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.enabled=false' \
|
|
|
|
. || echo "---") | tee /dev/stderr |
|
|
|
|
yq 'length > 0' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "false" ]
|
|
|
|
}
|
|
|
|
|
2022-11-14 14:10:21 +00:00
|
|
|
@test "server/ha-active-Service: disable with server.service.active.enabled false" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$( (helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.enabled=true' \
|
|
|
|
--set 'server.service.active.enabled=false' \
|
|
|
|
. || echo "---") | tee /dev/stderr |
|
|
|
|
yq 'length > 0' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "false" ]
|
|
|
|
}
|
|
|
|
|
2023-07-04 13:30:35 +00:00
|
|
|
@test "server/ha-active-Service: namespace" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--namespace foo \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.metadata.namespace' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "foo" ]
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'global.namespace=bar' \
|
|
|
|
--namespace foo \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.metadata.namespace' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "bar" ]
|
|
|
|
}
|
|
|
|
|
2020-06-02 14:06:50 +00:00
|
|
|
@test "server/ha-active-Service: type empty by default" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.type' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "null" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "server/ha-active-Service: type can set" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.type=NodePort' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.type' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "NodePort" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "server/ha-active-Service: clusterIP empty by default" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.clusterIP' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "null" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "server/ha-active-Service: clusterIP can set" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.clusterIP=None' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.clusterIP' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "None" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "server/ha-active-Service: port and targetPort will be 8200 by default" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.ports[0].port' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "8200" ]
|
|
|
|
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.ports[0].targetPort' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "8200" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "server/ha-active-Service: port and targetPort can be set" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.port=8000' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.ports[0].port' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "8000" ]
|
|
|
|
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.targetPort=80' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.ports[0].targetPort' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "80" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "server/ha-active-Service: nodeport can set" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.type=NodePort' \
|
2022-08-01 20:16:51 +00:00
|
|
|
--set 'server.service.activeNodePort=30009' \
|
2020-06-02 14:06:50 +00:00
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.ports[0].nodePort' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "30009" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "server/ha-active-Service: nodeport can't set when type isn't NodePort" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
2022-08-01 20:16:51 +00:00
|
|
|
--set 'server.service.activeNodePort=30009' \
|
2020-06-02 14:06:50 +00:00
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.ports[0].nodePort' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "null" ]
|
|
|
|
}
|
|
|
|
|
2024-05-28 11:52:10 +00:00
|
|
|
@test "server/ha-active-Service: openbao port name is http, when tlsDisable is true" {
|
2020-06-02 14:06:50 +00:00
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'global.tlsDisable=true' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.ports | map(select(.port==8200)) | .[] .name' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "http" ]
|
|
|
|
}
|
|
|
|
|
2024-05-28 11:52:10 +00:00
|
|
|
@test "server/ha-active-Service: openbao port name is https, when tlsDisable is false" {
|
2020-06-02 14:06:50 +00:00
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'global.tlsDisable=false' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.ports | map(select(.port==8200)) | .[] .name' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "https" ]
|
|
|
|
}
|
2021-10-18 13:45:52 +00:00
|
|
|
|
|
|
|
# duplicated in server-service.bats
|
|
|
|
@test "server/ha-active-Service: NodePort assert externalTrafficPolicy" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.type=NodePort' \
|
|
|
|
--set 'server.service.externalTrafficPolicy=Foo' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.externalTrafficPolicy' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "Foo" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
# duplicated in server-service.bats
|
|
|
|
@test "server/ha-active-Service: NodePort assert no externalTrafficPolicy" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.type=NodePort' \
|
|
|
|
--set 'server.service.externalTrafficPolicy=' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq '.spec.externalTrafficPolicy' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "null" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
# duplicated in server-service.bats
|
|
|
|
@test "server/ha-active-Service: ClusterIP assert no externalTrafficPolicy" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.type=ClusterIP' \
|
|
|
|
--set 'server.service.externalTrafficPolicy=Foo' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq '.spec.externalTrafficPolicy' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "null" ]
|
|
|
|
}
|
|
|
|
|
2022-03-17 17:52:53 +00:00
|
|
|
@test "server/ha-active-Service: publishNotReadyAddresses can be changed" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.publishNotReadyAddresses' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "true" ]
|
|
|
|
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.publishNotReadyAddresses=false' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.publishNotReadyAddresses' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "false" ]
|
|
|
|
}
|
2022-11-17 19:54:18 +00:00
|
|
|
|
|
|
|
@test "server/ha-active-Service: instance selector can be disabled" {
|
|
|
|
cd `chart_dir`
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.selector["app.kubernetes.io/instance"]' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "release-name" ]
|
|
|
|
|
|
|
|
local actual=$(helm template \
|
|
|
|
--show-only templates/server-ha-active-service.yaml \
|
|
|
|
--set 'server.ha.enabled=true' \
|
|
|
|
--set 'server.service.instanceSelector.enabled=false' \
|
|
|
|
. | tee /dev/stderr |
|
|
|
|
yq -r '.spec.selector["app.kubernetes.io/instance"]' | tee /dev/stderr)
|
|
|
|
[ "${actual}" = "null" ]
|
|
|
|
}
|