--- # yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json suite: serviceAccount values templates: - common.yaml tests: - it: a serviceAccount is not created by default asserts: - hasDocuments: count: 2 - documentIndex: &DeploymentDocument 0 isKind: of: Deployment - documentIndex: &ServiceDocument 1 isKind: of: Service - it: a serviceAccount is not created when disabled set: serviceAccount: create: false asserts: - hasDocuments: count: 2 - documentIndex: &DeploymentDocument 0 isKind: of: Deployment - documentIndex: &ServiceDocument 1 isKind: of: Service - it: a serviceAccount and Secret are created when enabled set: serviceAccount: create: true asserts: - hasDocuments: count: 4 - documentIndex: &ServiceAccountDocument 0 isKind: of: ServiceAccount - documentIndex: &DeploymentDocument 1 isKind: of: Deployment - documentIndex: &ServiceDocument 2 isKind: of: Service - documentIndex: &SecretDocument 3 isKind: of: Secret - documentIndex: *ServiceAccountDocument equal: path: metadata.name value: &ServiceAccountName RELEASE-NAME - documentIndex: *ServiceAccountDocument equal: path: secrets value: - name: RELEASE-NAME-sa-token - documentIndex: *DeploymentDocument equal: path: spec.template.spec.serviceAccountName value: *ServiceAccountName - documentIndex: *SecretDocument equal: path: metadata.annotations value: kubernetes.io/service-account.name: RELEASE-NAME - it: a serviceAccount and Secret are created with custom name set: serviceAccount: create: true name: &ServiceAccountName myAccount asserts: - hasDocuments: count: 4 - documentIndex: &ServiceAccountDocument 0 isKind: of: ServiceAccount - documentIndex: &DeploymentDocument 1 isKind: of: Deployment - documentIndex: &ServiceDocument 2 isKind: of: Service - documentIndex: &SecretDocument 3 isKind: of: Secret - documentIndex: *ServiceAccountDocument equal: path: metadata.name value: *ServiceAccountName - documentIndex: *ServiceAccountDocument equal: path: secrets value: - name: RELEASE-NAME-sa-token - documentIndex: *DeploymentDocument equal: path: spec.template.spec.serviceAccountName value: *ServiceAccountName - documentIndex: *SecretDocument equal: path: metadata.annotations value: kubernetes.io/service-account.name: *ServiceAccountName