Skip to content

Commit dc29923

Browse files
committed
helm: add tests with different kubeVersion
Signed-off-by: Arthur Outhenin-Chalandre <[email protected]>
1 parent 790ca0e commit dc29923

File tree

1 file changed

+202
-0
lines changed

1 file changed

+202
-0
lines changed

api/krusty/helmchartinflationgenerator_test.go

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,208 @@ spec:
684684
`)
685685
}
686686

687+
func TestHelmChartInflationGeneratorForMultipleKubeVersions(t *testing.T) {
688+
th := kusttest_test.MakeEnhancedHarnessWithTmpRoot(t)
689+
defer th.Reset()
690+
if err := th.ErrIfNoHelm(); err != nil {
691+
t.Skip("skipping: " + err.Error())
692+
}
693+
694+
copyValuesFilesTestChartsIntoHarness(t, th)
695+
696+
th.WriteK(th.GetRoot(), `
697+
namespace: default
698+
helmCharts:
699+
- name: minecraft
700+
repo: https://itzg.github.io/minecraft-server-charts
701+
version: 4.11.0
702+
releaseName: test
703+
kubeVersion: "1.16"
704+
valuesInline:
705+
minecraftServer:
706+
extraPorts:
707+
- name: map
708+
containerPort: 8123
709+
protocol: TCP
710+
service:
711+
enabled: false
712+
ingress:
713+
enabled: true
714+
`)
715+
716+
m := th.Run(th.GetRoot(), th.MakeOptionsPluginsEnabled())
717+
th.AssertActualEqualsExpected(m, `
718+
apiVersion: v1
719+
data:
720+
rcon-password: Q0hBTkdFTUUh
721+
kind: Secret
722+
metadata:
723+
labels:
724+
app: test-minecraft
725+
app.kubernetes.io/instance: test-minecraft
726+
app.kubernetes.io/name: minecraft
727+
app.kubernetes.io/version: 4.11.0
728+
chart: minecraft-4.11.0
729+
heritage: Helm
730+
release: test
731+
name: test-minecraft-rcon
732+
namespace: default
733+
type: Opaque
734+
---
735+
apiVersion: v1
736+
data:
737+
cf-api-key: Q0hBTkdFTUUh
738+
kind: Secret
739+
metadata:
740+
labels:
741+
app: test-minecraft
742+
app.kubernetes.io/instance: test-minecraft
743+
app.kubernetes.io/name: minecraft
744+
app.kubernetes.io/version: 4.11.0
745+
chart: minecraft-4.11.0
746+
heritage: Helm
747+
release: test
748+
name: test-minecraft-curseforge
749+
namespace: default
750+
type: Opaque
751+
---
752+
apiVersion: v1
753+
kind: Service
754+
metadata:
755+
labels:
756+
app: test-minecraft
757+
app.kubernetes.io/instance: test-minecraft
758+
app.kubernetes.io/name: minecraft
759+
app.kubernetes.io/version: 4.11.0
760+
chart: minecraft-4.11.0
761+
heritage: Helm
762+
release: test
763+
name: test-minecraft
764+
namespace: default
765+
spec:
766+
ports:
767+
- name: minecraft
768+
port: 25565
769+
protocol: TCP
770+
targetPort: minecraft
771+
selector:
772+
app: test-minecraft
773+
type: ClusterIP
774+
---
775+
apiVersion: networking.k8s.io/v1beta1
776+
kind: Ingress
777+
metadata:
778+
labels:
779+
app: test-minecraft-map
780+
app.kubernetes.io/instance: test-minecraft
781+
app.kubernetes.io/name: minecraft
782+
app.kubernetes.io/version: 4.11.0
783+
chart: minecraft-4.11.0
784+
heritage: Helm
785+
release: test
786+
name: test-minecraft-map
787+
namespace: default
788+
spec:
789+
rules: null
790+
`)
791+
792+
th.WriteK(th.GetRoot(), `
793+
namespace: default
794+
helmCharts:
795+
- name: minecraft
796+
repo: https://itzg.github.io/minecraft-server-charts
797+
version: 4.11.0
798+
releaseName: test
799+
kubeVersion: "1.27"
800+
valuesInline:
801+
minecraftServer:
802+
extraPorts:
803+
- name: map
804+
containerPort: 8123
805+
protocol: TCP
806+
service:
807+
enabled: false
808+
ingress:
809+
enabled: true
810+
`)
811+
812+
m = th.Run(th.GetRoot(), th.MakeOptionsPluginsEnabled())
813+
th.AssertActualEqualsExpected(m, `
814+
apiVersion: v1
815+
data:
816+
rcon-password: Q0hBTkdFTUUh
817+
kind: Secret
818+
metadata:
819+
labels:
820+
app: test-minecraft
821+
app.kubernetes.io/instance: test-minecraft
822+
app.kubernetes.io/name: minecraft
823+
app.kubernetes.io/version: 4.11.0
824+
chart: minecraft-4.11.0
825+
heritage: Helm
826+
release: test
827+
name: test-minecraft-rcon
828+
namespace: default
829+
type: Opaque
830+
---
831+
apiVersion: v1
832+
data:
833+
cf-api-key: Q0hBTkdFTUUh
834+
kind: Secret
835+
metadata:
836+
labels:
837+
app: test-minecraft
838+
app.kubernetes.io/instance: test-minecraft
839+
app.kubernetes.io/name: minecraft
840+
app.kubernetes.io/version: 4.11.0
841+
chart: minecraft-4.11.0
842+
heritage: Helm
843+
release: test
844+
name: test-minecraft-curseforge
845+
namespace: default
846+
type: Opaque
847+
---
848+
apiVersion: v1
849+
kind: Service
850+
metadata:
851+
labels:
852+
app: test-minecraft
853+
app.kubernetes.io/instance: test-minecraft
854+
app.kubernetes.io/name: minecraft
855+
app.kubernetes.io/version: 4.11.0
856+
chart: minecraft-4.11.0
857+
heritage: Helm
858+
release: test
859+
name: test-minecraft
860+
namespace: default
861+
spec:
862+
ports:
863+
- name: minecraft
864+
port: 25565
865+
protocol: TCP
866+
targetPort: minecraft
867+
selector:
868+
app: test-minecraft
869+
type: ClusterIP
870+
---
871+
apiVersion: networking.k8s.io/v1
872+
kind: Ingress
873+
metadata:
874+
labels:
875+
app: test-minecraft-map
876+
app.kubernetes.io/instance: test-minecraft
877+
app.kubernetes.io/name: minecraft
878+
app.kubernetes.io/version: 4.11.0
879+
chart: minecraft-4.11.0
880+
heritage: Helm
881+
release: test
882+
name: test-minecraft-map
883+
namespace: default
884+
spec:
885+
rules: null
886+
`)
887+
}
888+
687889
func copyValuesFilesTestChartsIntoHarness(t *testing.T, th *kusttest_test.HarnessEnhanced) {
688890
t.Helper()
689891

0 commit comments

Comments
 (0)