mirror of
https://github.com/bvanroll/cicdTest.git
synced 2025-08-30 04:22:49 +00:00
205 lines
6.5 KiB
Bash
Executable File
205 lines
6.5 KiB
Bash
Executable File
#!/usr/bin/env bats
|
|
|
|
load _helpers
|
|
|
|
@test "meshGateway/Service: disabled by default" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
. | tee /dev/stderr |
|
|
yq 'length > 0' | tee /dev/stderr)
|
|
[ "${actual}" = "false" ]
|
|
}
|
|
|
|
@test "meshGateway/Service: disabled by default with meshGateway, connectInject and client.grpc enabled" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
. | tee /dev/stderr |
|
|
yq 'length > 0' | tee /dev/stderr)
|
|
[ "${actual}" = "false" ]
|
|
}
|
|
|
|
@test "meshGateway/Service: enabled with meshGateway.enabled=true meshGateway.service.enabled" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
. | tee /dev/stderr |
|
|
yq 'length > 0' | tee /dev/stderr)
|
|
[ "${actual}" = "true" ]
|
|
}
|
|
|
|
#--------------------------------------------------------------------
|
|
# annotations
|
|
|
|
@test "meshGateway/Service: no annotations by default" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.metadata.annotations' | tee /dev/stderr)
|
|
[ "${actual}" = "null" ]
|
|
}
|
|
|
|
@test "meshGateway/Service: can set annotations" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
--set 'meshGateway.service.annotations=key: value' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.metadata.annotations.key' | tee /dev/stderr)
|
|
[ "${actual}" = "value" ]
|
|
}
|
|
|
|
#--------------------------------------------------------------------
|
|
# port
|
|
|
|
@test "meshGateway/Service: has default port" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.spec.ports[0].port' | tee /dev/stderr)
|
|
[ "${actual}" = "443" ]
|
|
}
|
|
|
|
@test "meshGateway/Service: can set port" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
--set 'meshGateway.service.port=8443' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.spec.ports[0].port' | tee /dev/stderr)
|
|
[ "${actual}" = "8443" ]
|
|
}
|
|
|
|
#--------------------------------------------------------------------
|
|
# targetPort
|
|
|
|
@test "meshGateway/Service: has default targetPort" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.spec.ports[0].targetPort' | tee /dev/stderr)
|
|
[ "${actual}" = "443" ]
|
|
}
|
|
|
|
@test "meshGateway/Service: uses targetPort from containerPort" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
--set 'meshGateway.containerPort=8443' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.spec.ports[0].targetPort' | tee /dev/stderr)
|
|
[ "${actual}" = "8443" ]
|
|
}
|
|
|
|
#--------------------------------------------------------------------
|
|
# nodePort
|
|
|
|
@test "meshGateway/Service: no nodePort by default" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.spec.ports[0].nodePort' | tee /dev/stderr)
|
|
[ "${actual}" = "null" ]
|
|
}
|
|
|
|
@test "meshGateway/Service: can set a nodePort" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
--set 'meshGateway.service.nodePort=8443' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.spec.ports[0].nodePort' | tee /dev/stderr)
|
|
[ "${actual}" = "8443" ]
|
|
}
|
|
|
|
#--------------------------------------------------------------------
|
|
# Service type
|
|
|
|
@test "meshGateway/Service: defaults to type ClusterIP" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.spec.type' | tee /dev/stderr)
|
|
[ "${actual}" = "ClusterIP" ]
|
|
}
|
|
|
|
@test "meshGateway/Service: can set type" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
--set 'meshGateway.service.type=LoadBalancer' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.spec.type' | tee /dev/stderr)
|
|
[ "${actual}" = "LoadBalancer" ]
|
|
}
|
|
|
|
#--------------------------------------------------------------------
|
|
# additionalSpec
|
|
|
|
@test "meshGateway/Service: can add additionalSpec" {
|
|
cd `chart_dir`
|
|
local actual=$(helm template \
|
|
-x templates/mesh-gateway-service.yaml \
|
|
--set 'meshGateway.enabled=true' \
|
|
--set 'connectInject.enabled=true' \
|
|
--set 'client.grpc=true' \
|
|
--set 'meshGateway.service.enabled=true' \
|
|
--set 'meshGateway.service.additionalSpec=key: value' \
|
|
. | tee /dev/stderr |
|
|
yq -r '.spec.key' | tee /dev/stderr)
|
|
[ "${actual}" = "value" ]
|
|
}
|