|
|
@ -286,6 +286,38 @@ func TestProcessDependencyImportValues(t *testing.T) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func TestProcessDependencyImportValuesFromSharedDependencyToAliases(t *testing.T) {
|
|
|
|
|
|
|
|
c := loadChart(t, "testdata/chart-with-import-from-aliased-dependencies")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if err := processDependencyEnabled(c, c.Values, ""); err != nil {
|
|
|
|
|
|
|
|
t.Fatalf("expected no errors but got %q", err)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if err := processDependencyImportValues(c, true); err != nil {
|
|
|
|
|
|
|
|
t.Fatalf("processing import values dependencies %v", err)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
e := make(map[string]string)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e["foo-defaults.defaultValue"] = "42"
|
|
|
|
|
|
|
|
e["bar-defaults.defaultValue"] = "42"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e["foo.defaults.defaultValue"] = "42"
|
|
|
|
|
|
|
|
e["bar.defaults.defaultValue"] = "42"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e["foo.grandchild.defaults.defaultValue"] = "42"
|
|
|
|
|
|
|
|
e["bar.grandchild.defaults.defaultValue"] = "42"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cValues := Values(c.Values)
|
|
|
|
|
|
|
|
for kk, vv := range e {
|
|
|
|
|
|
|
|
pv, err := cValues.PathValue(kk)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
t.Fatalf("retrieving import values table %v %v", kk, err)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if pv != vv {
|
|
|
|
|
|
|
|
t.Errorf("failed to match imported value %v with expected %v", pv, vv)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func TestProcessDependencyImportValuesMultiLevelPrecedence(t *testing.T) {
|
|
|
|
func TestProcessDependencyImportValuesMultiLevelPrecedence(t *testing.T) {
|
|
|
|
c := loadChart(t, "testdata/three-level-dependent-chart/umbrella")
|
|
|
|
c := loadChart(t, "testdata/three-level-dependent-chart/umbrella")
|
|
|
|
|
|
|
|
|
|
|
@ -430,6 +462,9 @@ func TestDependentChartAliases(t *testing.T) {
|
|
|
|
if aliasChart == nil {
|
|
|
|
if aliasChart == nil {
|
|
|
|
t.Fatalf("failed to get dependency chart for alias %s", req[2].Name)
|
|
|
|
t.Fatalf("failed to get dependency chart for alias %s", req[2].Name)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if aliasChart.Parent() != c {
|
|
|
|
|
|
|
|
t.Fatalf("dependency chart has wrong parent, expected %s but got %s", c.Name(), aliasChart.Parent().Name())
|
|
|
|
|
|
|
|
}
|
|
|
|
if req[2].Alias != "" {
|
|
|
|
if req[2].Alias != "" {
|
|
|
|
if aliasChart.Name() != req[2].Alias {
|
|
|
|
if aliasChart.Name() != req[2].Alias {
|
|
|
|
t.Fatalf("dependency chart name should be %s but got %s", req[2].Alias, aliasChart.Name())
|
|
|
|
t.Fatalf("dependency chart name should be %s but got %s", req[2].Alias, aliasChart.Name())
|
|
|
@ -521,3 +556,32 @@ func TestDependentChartsWithSomeSubchartsSpecifiedInDependency(t *testing.T) {
|
|
|
|
t.Fatalf("expected 1 dependency specified in Chart.yaml, got %d", len(c.Metadata.Dependencies))
|
|
|
|
t.Fatalf("expected 1 dependency specified in Chart.yaml, got %d", len(c.Metadata.Dependencies))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func validateDependencyTree(t *testing.T, c *chart.Chart) {
|
|
|
|
|
|
|
|
for _, dependency := range c.Dependencies() {
|
|
|
|
|
|
|
|
if dependency.Parent() != c {
|
|
|
|
|
|
|
|
if dependency.Parent() != c {
|
|
|
|
|
|
|
|
t.Fatalf("dependency chart %s has wrong parent, expected %s but got %s", dependency.Name(), c.Name(), dependency.Parent().Name())
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// recurse entire tree
|
|
|
|
|
|
|
|
validateDependencyTree(t, dependency)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func TestChartWithDependencyAliasedTwiceAndDoublyReferencedSubDependency(t *testing.T) {
|
|
|
|
|
|
|
|
c := loadChart(t, "testdata/chart-with-dependency-aliased-twice")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if len(c.Dependencies()) != 1 {
|
|
|
|
|
|
|
|
t.Fatalf("expected one dependency for this chart, but got %d", len(c.Dependencies()))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if err := processDependencyEnabled(c, c.Values, ""); err != nil {
|
|
|
|
|
|
|
|
t.Fatalf("expected no errors but got %q", err)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if len(c.Dependencies()) != 2 {
|
|
|
|
|
|
|
|
t.Fatal("expected two dependencies after processing aliases")
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
validateDependencyTree(t, c)
|
|
|
|
|
|
|
|
}
|
|
|
|