helm-charts/charts/library/common/test-chart/unittests/service/values_test.yaml
Bernd Schorgers 433f6d132b
feat(common): Release common library 3.7.1 (#383)
Co-authored-by: Aisling McGinn <me@aisling.dev>
2025-02-11 13:23:27 +01:00

122 lines
3 KiB
YAML

---
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
suite: service values
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: ports and services are enabled by default
set:
service:
second:
type: ClusterIP
controller: main
ports:
first:
port: 80
documentSelector: &ServiceSelector
path: kind
value: Service
asserts:
- containsDocument:
kind: Service
apiVersion: v1
name: RELEASE-NAME
- it: service not present when disabled
values:
- ../_values/service_main_default.yaml
set:
service:
main:
enabled: false
asserts:
- not: true
containsDocument:
kind: Service
apiVersion: v1
name: RELEASE-NAME
- it: externalTrafficPolicy can be configured for NodePort service
values:
- ../_values/service_main_default.yaml
set:
service:
main:
type: NodePort
externalTrafficPolicy: Local
documentSelector: *ServiceSelector
asserts:
- equal:
path: spec.externalTrafficPolicy
value: Local
- it: internalTrafficPolicy can be configured
values:
- ../_values/service_main_default.yaml
set:
service:
main:
internalTrafficPolicy: Local
documentSelector: *ServiceSelector
asserts:
- equal:
path: spec.internalTrafficPolicy
value: Local
- it: externalTrafficPolicy can be configured for LoadBalancer service
values:
- ../_values/service_main_default.yaml
set:
service:
main:
type: LoadBalancer
externalTrafficPolicy: Local
documentSelector: *ServiceSelector
asserts:
- equal:
path: spec.externalTrafficPolicy
value: Local
- it: allocateLoadBalancerNodePorts can be set to true
values:
- ../_values/service_main_default.yaml
set:
service:
main:
type: LoadBalancer
allocateLoadBalancerNodePorts: true
documentSelector: *ServiceSelector
asserts:
- equal:
path: spec.allocateLoadBalancerNodePorts
value: true
- it: allocateLoadBalancerNodePorts can be set to false
values:
- ../_values/service_main_default.yaml
set:
service:
main:
type: LoadBalancer
allocateLoadBalancerNodePorts: false
documentSelector: *ServiceSelector
asserts:
- equal:
path: spec.allocateLoadBalancerNodePorts
value: false
- it: externalName can be configured for ExternalName service
values:
- ../_values/service_main_default.yaml
set:
service:
main:
type: ExternalName
externalName: my.database.example.com
documentSelector: *ServiceSelector
asserts:
- equal:
path: spec.externalName
value: my.database.example.com