mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
test: add Kustomize test case for multiple helm charts with different version
Signed-off-by: Ardika Bagus <me@ardikabs.com>
This commit is contained in:
@@ -567,6 +567,123 @@ metadata:
|
||||
`)
|
||||
}
|
||||
|
||||
// Reference: https://github.com/kubernetes-sigs/kustomize/issues/5163
|
||||
func TestHelmChartInflationGeneratorForMultipleChartsDifferentVersion(t *testing.T) {
|
||||
th := kusttest_test.MakeEnhancedHarnessWithTmpRoot(t)
|
||||
defer th.Reset()
|
||||
if err := th.ErrIfNoHelm(); err != nil {
|
||||
t.Skip("skipping: " + err.Error())
|
||||
}
|
||||
|
||||
copyValuesFilesTestChartsIntoHarness(t, th)
|
||||
|
||||
th.WriteK(th.GetRoot(), `
|
||||
namespace: default
|
||||
helmCharts:
|
||||
- name: test-chart
|
||||
releaseName: test
|
||||
version: 1.0.0
|
||||
skipTests: true
|
||||
- name: minecraft
|
||||
repo: https://itzg.github.io/minecraft-server-charts
|
||||
version: 3.1.3
|
||||
releaseName: test-1
|
||||
- name: minecraft
|
||||
repo: https://itzg.github.io/minecraft-server-charts
|
||||
version: 3.1.4
|
||||
releaseName: test-2
|
||||
`)
|
||||
|
||||
m := th.Run(th.GetRoot(), th.MakeOptionsPluginsEnabled())
|
||||
th.AssertActualEqualsExpected(m, `
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
chart: test-1.0.0
|
||||
name: my-deploy
|
||||
namespace: default
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: test
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- image: test-image:v1.0.0
|
||||
imagePullPolicy: Always
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
rcon-password: Q0hBTkdFTUUh
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
app: test-1-minecraft
|
||||
chart: minecraft-3.1.3
|
||||
heritage: Helm
|
||||
release: test-1
|
||||
name: test-1-minecraft
|
||||
namespace: default
|
||||
type: Opaque
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: test-1-minecraft
|
||||
chart: minecraft-3.1.3
|
||||
heritage: Helm
|
||||
release: test-1
|
||||
name: test-1-minecraft
|
||||
namespace: default
|
||||
spec:
|
||||
ports:
|
||||
- name: minecraft
|
||||
port: 25565
|
||||
protocol: TCP
|
||||
targetPort: minecraft
|
||||
selector:
|
||||
app: test-1-minecraft
|
||||
type: ClusterIP
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
rcon-password: Q0hBTkdFTUUh
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
app: test-2-minecraft
|
||||
chart: minecraft-3.1.4
|
||||
heritage: Helm
|
||||
release: test-2
|
||||
name: test-2-minecraft
|
||||
namespace: default
|
||||
type: Opaque
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: test-2-minecraft
|
||||
chart: minecraft-3.1.4
|
||||
heritage: Helm
|
||||
release: test-2
|
||||
name: test-2-minecraft
|
||||
namespace: default
|
||||
spec:
|
||||
ports:
|
||||
- name: minecraft
|
||||
port: 25565
|
||||
protocol: TCP
|
||||
targetPort: minecraft
|
||||
selector:
|
||||
app: test-2-minecraft
|
||||
type: ClusterIP
|
||||
`)
|
||||
}
|
||||
|
||||
func copyValuesFilesTestChartsIntoHarness(t *testing.T, th *kusttest_test.HarnessEnhanced) {
|
||||
t.Helper()
|
||||
|
||||
|
||||
@@ -786,10 +786,10 @@ func TestHelmChartInflationGeneratorUsingVersionWithoutRepo(t *testing.T) {
|
||||
apiVersion: builtin
|
||||
kind: HelmChartInflationGenerator
|
||||
metadata:
|
||||
name: foo-chart
|
||||
name: foo-chart
|
||||
name: test-chart
|
||||
name: test-chart
|
||||
version: 1.0.0
|
||||
releaseName: foo-chart
|
||||
releaseName: test
|
||||
chartHome: ./charts
|
||||
`)
|
||||
|
||||
@@ -797,11 +797,11 @@ chartHome: ./charts
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "bar", cm)
|
||||
|
||||
chartDir := filepath.Join(th.GetRoot(), "charts/foo-chart")
|
||||
chartDir := filepath.Join(th.GetRoot(), "charts/test-chart")
|
||||
assert.True(t, th.GetFSys().Exists(chartDir))
|
||||
|
||||
chartYamlContent, err := th.GetFSys().ReadFile(filepath.Join(chartDir, "Chart.yaml"))
|
||||
assert.NoError(t, err)
|
||||
assert.Contains(t, string(chartYamlContent), "name: foo-chart")
|
||||
assert.Contains(t, string(chartYamlContent), "name: test-chart")
|
||||
assert.Contains(t, string(chartYamlContent), "version: 1.0.0")
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: foo-chart
|
||||
description: A Helm chart for Kubernetes
|
||||
name: test-chart
|
||||
description: A simple test helm chart.
|
||||
|
||||
# A chart can be either an 'application' or a 'library' chart.
|
||||
#
|
||||
Reference in New Issue
Block a user