mirror of
https://github.com/bvanroll/cicdTest.git
synced 2025-08-31 04:52:44 +00:00
helm consul toegevoegd ma nie als submodule?
This commit is contained in:
204
consul-helm/test/unit/mesh-gateway-service.bats
Executable file
204
consul-helm/test/unit/mesh-gateway-service.bats
Executable file
@@ -0,0 +1,204 @@
|
||||
#!/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" ]
|
||||
}
|
Reference in New Issue
Block a user