pull/12276/merge
Max North 7 months ago committed by GitHub
commit c4b5c55970
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -107,6 +107,13 @@ func getAliasDependency(charts []*chart.Chart, dep *chart.Dependency) *chart.Cha
md := *c.Metadata
out.Metadata = &md
deps := []*chart.Dependency{}
for _, d := range out.Metadata.Dependencies {
dc := *d
deps = append(deps, &dc)
}
out.Metadata.Dependencies = deps
if dep.Alias != "" {
md.Name = dep.Alias
}

@ -521,3 +521,37 @@ func TestDependentChartsWithSomeSubchartsSpecifiedInDependency(t *testing.T) {
t.Fatalf("expected 1 dependency specified in Chart.yaml, got %d", len(c.Metadata.Dependencies))
}
}
func TestMultiLevelDependentChartsWithMultipleAliases(t *testing.T) {
c1 := loadChart(t, "testdata/three-level-dependent-chart-multi-alias/chart1")
if err := processDependencyEnabled(c1, c1.Values, ""); err != nil {
t.Fatalf("expected no errors but got %q", err)
}
if len(c1.Dependencies()) != 2 {
t.Fatalf("expected 2 dependencies for chart1, but got %d", len(c1.Dependencies()))
}
c1DepA := c1.Dependencies()[0]
if c1DepA.Metadata.Name != "2a" {
t.Fatalf("expected chart1's first dependency name to be 2a, but got %s", c1DepA.Metadata.Name)
}
c1DepB := c1.Dependencies()[1]
if c1DepB.Metadata.Name != "2b" {
t.Fatalf("expected chart1's second dependency name to be 2b, but got %s", c1DepB.Metadata.Name)
}
for _, c2 := range c1.Dependencies() {
c2DepA := c2.Dependencies()[0]
if c2DepA.Metadata.Name != "3a" {
t.Fatalf("expected chart2's first dependency name to be 3a, but got %s", c2DepA.Metadata.Name)
}
c2DepB := c2.Dependencies()[1]
if c2DepB.Metadata.Name != "3b" {
t.Fatalf("expected chart2's second dependency name to be 3b, but got %s", c2DepB.Metadata.Name)
}
}
}

@ -0,0 +1,13 @@
apiVersion: v2
name: chart1
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
dependencies:
- name: chart2
version: 0.1.0
alias: 2a
- name: chart2
version: 0.1.0
alias: 2b

@ -0,0 +1,13 @@
apiVersion: v2
name: chart2
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
dependencies:
- name: chart3
version: 0.1.0
alias: 3a
- name: chart3
version: 0.1.0
alias: 3b

@ -0,0 +1,5 @@
apiVersion: v2
name: chart3
description: A Helm chart for Kubernetes
type: application
version: 0.1.0

@ -0,0 +1,5 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Chart.Name }}
data: {}
Loading…
Cancel
Save