helm-charts/charts/library/common/test-chart/unittests/pod/field_serviceAccount_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

174 lines
4.5 KiB
YAML

---
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
suite: pod serviceAccount
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:
- hasDocuments:
count: 1
- documentIndex: &deploymentDocument 0
isKind:
of: Deployment
- documentIndex: *deploymentDocument
equal:
path: spec.template.spec.serviceAccountName
value: default
- it: default with flag should pass
set:
enforceServiceAccountCreation: true
asserts:
- hasDocuments:
count: 1
- documentIndex: &deploymentDocument 0
isKind:
of: Deployment
- documentIndex: *deploymentDocument
equal:
path: spec.template.spec.serviceAccountName
value: default
- it: with create, without name should pass
set:
serviceAccount:
create: true
asserts:
- hasDocuments:
count: 3
- documentIndex: &serviceAccountDocument 0
isKind:
of: ServiceAccount
- documentIndex: &deploymentDocument 1
isKind:
of: Deployment
- documentIndex: *deploymentDocument
equal:
path: spec.template.spec.serviceAccountName
value: RELEASE-NAME
- it: with create, with name should pass
set:
serviceAccount:
create: true
name: mySA
asserts:
- hasDocuments:
count: 3
- documentIndex: &serviceAccountDocument 0
isKind:
of: ServiceAccount
- documentIndex: &deploymentDocument 1
isKind:
of: Deployment
- documentIndex: *deploymentDocument
equal:
path: spec.template.spec.serviceAccountName
value: mySA
- it: without create, with name should pass
set:
serviceAccount:
create: false
name: &serviceAccountName mySA
asserts:
- hasDocuments:
count: 1
- documentIndex: &deploymentDocument 0
isKind:
of: Deployment
- documentIndex: *deploymentDocument
equal:
path: spec.template.spec.serviceAccountName
value: *serviceAccountName
- it: without create, with name, with flag should pass
set:
enforceServiceAccountCreation: true
serviceAccount:
create: false
name: &serviceAccountName mySA
asserts:
- hasDocuments:
count: 1
- documentIndex: &deploymentDocument 0
isKind:
of: Deployment
- documentIndex: *deploymentDocument
equal:
path: spec.template.spec.serviceAccountName
value: default
- it: with extraServiceAccounts default should pass
set:
serviceAccount:
create: false
name: &serviceAccountName mySA
extraServiceAccounts:
mySA2:
create: false
mySA3:
create: true
asserts:
- hasDocuments:
count: 3
- documentIndex: &deploymentDocument 1
isKind:
of: Deployment
- documentIndex: *deploymentDocument
equal:
path: spec.template.spec.serviceAccountName
value: *serviceAccountName
- it: with extraServiceAccounts identifier should pass
set:
controllers:
main:
serviceAccount:
identifier: mySA3
serviceAccount:
create: false
name: mySA
extraServiceAccounts:
mySA2:
create: false
mySA3:
create: true
asserts:
- hasDocuments:
count: 3
- documentIndex: &deploymentDocument 1
isKind:
of: Deployment
- documentIndex: *deploymentDocument
equal:
path: spec.template.spec.serviceAccountName
value: RELEASE-NAME-mySA3
- it: with extraServiceAccounts name should pass
set:
controllers:
main:
serviceAccount:
name: arbitrary-SA
serviceAccount:
create: false
name: mySA
extraServiceAccounts:
mySA2:
create: false
mySA3:
create: true
asserts:
- hasDocuments:
count: 3
- documentIndex: &deploymentDocument 1
isKind:
of: Deployment
- documentIndex: *deploymentDocument
equal:
path: spec.template.spec.serviceAccountName
value: arbitrary-SA