Commit 93c5e37e authored by Dmitry Stoyanov's avatar Dmitry Stoyanov
Browse files

feat: added support of new ingress apiVersion

Added tests for ingress with different api versions
parent 44d7f292
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
module gitlab.com/gitlab-org/charts/auto-deploy-app/test

go 1.13
go 1.15

require (
	github.com/gruntwork-io/terratest v0.28.15
	github.com/stretchr/testify v1.4.0
	k8s.io/api v0.18.3
	k8s.io/apimachinery v0.18.3
	github.com/gruntwork-io/terratest v0.32.1
	github.com/stretchr/testify v1.6.1
	k8s.io/api v0.19.7
	k8s.io/apimachinery v0.19.7
)
+108 −0

File changed.

Preview size limit exceeded, changes collapsed.

+38 −0
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@ import (
	"github.com/gruntwork-io/terratest/modules/helm"
	"github.com/stretchr/testify/require"
	extensions "k8s.io/api/extensions/v1beta1"
	networkingv1 "k8s.io/api/networking/v1"
	networkingv1beta "k8s.io/api/networking/v1beta1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

@@ -322,3 +324,39 @@ func TestIngressTemplate_TLSSecret(t *testing.T) {
		})
	}
}

func TestIngressTemplate_NetworkingV1Beta1(t *testing.T) {
	templates := []string{"templates/ingress.yaml"}
	releaseName := "ingress-networking-v1beta1"
	opts := &helm.Options{
		SetValues: map[string]string{"ingress.enabled": "true"},
	}
	output := helm.RenderTemplate(t, opts, helmChartPath, releaseName, templates, "--api-versions", "networking.k8s.io/v1beta1/Ingress")
	ingress := new(networkingv1beta.Ingress)
	helm.UnmarshalK8SYaml(t, output, ingress)
	require.Equal(t, "networking.k8s.io/v1beta1", ingress.APIVersion)
}

func TestIngressTemplate_NetworkingV1(t *testing.T) {
	templates := []string{"templates/ingress.yaml"}
	releaseName := "ingress-networking-v1"
	opts := &helm.Options{
		SetValues: map[string]string{"ingress.enabled": "true"},
	}
	output := helm.RenderTemplate(t, opts, helmChartPath, releaseName, templates, "--api-versions", "networking.k8s.io/v1/Ingress")
	ingress := new(networkingv1.Ingress)
	helm.UnmarshalK8SYaml(t, output, ingress)
	require.Equal(t, "networking.k8s.io/v1", ingress.APIVersion)
}

func TestIngressTemplate_Extensions(t *testing.T) {
	templates := []string{"templates/ingress.yaml"}
	releaseName := "ingress-extensions-v1beta1"
	opts := &helm.Options{
		SetValues: map[string]string{"ingress.enabled": "true"},
	}
	output := helm.RenderTemplate(t, opts, helmChartPath, releaseName, templates, "--api-versions", "extensions/v1beta1/Ingress")
	ingress := new(extensions.Ingress)
	helm.UnmarshalK8SYaml(t, output, ingress)
	require.Equal(t, "extensions/v1beta1", ingress.APIVersion)
}