mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 08:57:04 +02:00
Co-authored-by: lab-assistant[bot] <180935599+lab-assistant[bot]@users.noreply.github.com>
255 lines
7.1 KiB
YAML
255 lines
7.1 KiB
YAML
---
|
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
|
|
suite: container - fields - env
|
|
templates:
|
|
- common.yaml
|
|
values:
|
|
- ../_values/controllers_main_default_container.yaml
|
|
tests:
|
|
- it: default should pass
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- notExists:
|
|
path: spec.template.spec.containers[0].env
|
|
|
|
- it: KeyValue string should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
string: value_of_env
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: string
|
|
value: value_of_env
|
|
|
|
- it: KeyValue float should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
string: 4.2
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: string
|
|
value: "4.2"
|
|
|
|
- it: KeyValue int should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
string: 1
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: string
|
|
value: "1"
|
|
|
|
- it: List should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
- name: STATIC_ENV_FROM_LIST
|
|
value: STATIC_ENV_VALUE_FROM_LIST
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: STATIC_ENV_FROM_LIST
|
|
value: STATIC_ENV_VALUE_FROM_LIST
|
|
|
|
- it: Explicit ValueFrom in list should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
- name: DYNAMIC_ENV_FROM_LIST
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: DYNAMIC_ENV_FROM_LIST
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
|
|
- it: Implicit ValueFrom in list should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
- name: DYNAMIC_ENV_FROM_LIST
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: DYNAMIC_ENV_FROM_LIST
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
|
|
- it: Implicit ValueFrom should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
DYNAMIC_ENV:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: DYNAMIC_ENV
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
|
|
- it: Templated value should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
DYNAMIC_ENV: "{{ .Release.Name }}-admin"
|
|
TEMPLATE_ENV:
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: "{{ .Release.Name }}-secret"
|
|
key: "{{ .Release.Name }}-key"
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: DYNAMIC_ENV
|
|
value: RELEASE-NAME-admin
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[1]
|
|
value:
|
|
name: TEMPLATE_ENV
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: "RELEASE-NAME-key"
|
|
name: "RELEASE-NAME-secret"
|
|
|
|
- it: Combined KeyValue with Explicit ValueFrom should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
STATIC_ENV: static
|
|
DYNAMIC_ENV:
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: DYNAMIC_ENV
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[1]
|
|
value:
|
|
name: STATIC_ENV
|
|
value: static
|
|
|
|
- it: Env vars with dependsOn should pass
|
|
set:
|
|
controllers.main.containers.main.env:
|
|
STATIC_ENV: 1
|
|
DYNAMIC_ENV:
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
dependsOn: STATIC_ENV
|
|
ORDERED_ENV:
|
|
value: true
|
|
dependsOn: STATIC_ENV
|
|
DEPENDENT_ENV:
|
|
value: moo_two
|
|
dependsOn:
|
|
- DYNAMIC_ENV
|
|
- ORDERED_ENV
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: STATIC_ENV
|
|
value: "1"
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[1]
|
|
value:
|
|
name: DYNAMIC_ENV
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[2]
|
|
value:
|
|
name: ORDERED_ENV
|
|
value: "true"
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[3]
|
|
value:
|
|
name: DEPENDENT_ENV
|
|
value: moo_two
|
|
|
|
- it: env from defaultContainerOptions should pass
|
|
set:
|
|
controllers.main.defaultContainerOptions:
|
|
env:
|
|
string: value_of_env
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: string
|
|
value: value_of_env
|
|
|
|
- it: env from defaultContainerOptions with container override should pass
|
|
set:
|
|
controllers.main.defaultContainerOptions:
|
|
env:
|
|
string: value_of_env
|
|
controllers.main.containers.main.env:
|
|
someThingElse: value_of_env
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].env[0]
|
|
value:
|
|
name: someThingElse
|
|
value: value_of_env
|