diff --git a/integration_test/integration_test.go b/integration_test/integration_test.go index 041dcca..f5b73bd 100644 --- a/integration_test/integration_test.go +++ b/integration_test/integration_test.go @@ -9,7 +9,7 @@ import ( ) func TestHelmTestShouldSucceed(t *testing.T) { - l := framework.NewLoader("testdata/helmtest") + l := framework.NewLoader("testdata/helmtest", framework.WithAdditionalTestDirs("testdata/helmtest/additional_directory")) s, err := l.LoadSuite() require.NoError(t, err) diff --git a/integration_test/testdata/helmtest/additional_directory/inhereit_defines.test.yaml b/integration_test/testdata/helmtest/additional_directory/inhereit_defines.test.yaml new file mode 100644 index 0000000..0774d46 --- /dev/null +++ b/integration_test/testdata/helmtest/additional_directory/inhereit_defines.test.yaml @@ -0,0 +1,4 @@ +tests: + - name: "use inhereited defined function" + expect: + container(.deployments.nginx; "nginx") | assertThat(. != null) diff --git a/integration_test/testdata/helmtest/suite.yaml b/integration_test/testdata/helmtest/suite.yaml index b6e02b3..1d4cdfb 100644 --- a/integration_test/testdata/helmtest/suite.yaml +++ b/integration_test/testdata/helmtest/suite.yaml @@ -1,3 +1,11 @@ +defs: | + def container(obj; name): + obj.spec.template.spec.containers[] | select(.name == name); server: visibleSchemas: - kubernetes-1.20.2 + +tests: + - name: "use defined function" + expect: + container(.deployments.nginx; "nginx") | assertThat(. != null) diff --git a/integration_test/testdata/nginx-example/templates/deployment.yaml b/integration_test/testdata/nginx-example/templates/deployment.yaml index 71f128d..2145331 100644 --- a/integration_test/testdata/nginx-example/templates/deployment.yaml +++ b/integration_test/testdata/nginx-example/templates/deployment.yaml @@ -28,7 +28,7 @@ spec: securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} containers: - - name: {{ .Chart.Name }} + - name: nginx securityContext: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" diff --git a/integration_test/testdata/nginx-example/values.yaml b/integration_test/testdata/nginx-example/values.yaml index 1e6e960..4f665f3 100644 --- a/integration_test/testdata/nginx-example/values.yaml +++ b/integration_test/testdata/nginx-example/values.yaml @@ -12,7 +12,7 @@ image: imagePullSecrets: [] nameOverride: "" -fullnameOverride: "" +fullnameOverride: "nginx" serviceAccount: # Specifies whether a service account should be created