add some test case

Signed-off-by: wujunwei <wjw3323@live.com>
pull/11396/head
wujunwei 2 years ago committed by adam
parent fb54549578
commit 219857cc84

@ -542,3 +542,49 @@ func TestDependencyWithSameNameDifferentVersion(t *testing.T) {
})
}
}
func TestDependencyWithDifferentAliasNameSameVersion(t *testing.T) {
type M = map[string]interface{}
tests := []struct {
name string
v M
charts []string // expected dependent charts names
versions []string // expected dependent charts versions
}{
{
"Different Alias name subcharts enbale one",
M{"one": M{"enabled": true}, "two": M{"enabled": false}},
[]string{"parent-chart.test1"},
[]string{"0.1.0"},
},
{
"Different Alias name subcharts enbale another one",
M{"one": M{"enabled": false}, "two": M{"enabled": true}},
[]string{"parent-chart.test2"},
[]string{"0.1.0"},
},
{
"Different Alias name subcharts enbale all",
M{"one": M{"enabled": true}, "two": M{"enabled": true}},
[]string{"parent-chart.test1", "parent-chart.test2"},
[]string{"0.1.0", "0.1.0"},
},
}
for _, tc := range tests {
c := loadChart(t, "testdata/dependent-chart-with-different-alias-name-same-version")
t.Run(tc.name, func(t *testing.T) {
if err := processDependencyEnabled(c, tc.v, ""); err != nil {
t.Fatalf("error processing enabled dependencies %v", err)
}
if len(c.Dependencies()) != len(tc.charts) {
t.Fatalf("slice lengths do not match got %v, expected %v", len(c.Dependencies()), len(tc.charts))
}
for i, d := range c.Dependencies() {
if d.Metadata.Version != tc.versions[i] {
t.Fatalf("slice values do not match got %v, expected %v", tc.versions[i], d.Metadata.Version)
}
}
})
}
}

@ -0,0 +1,9 @@
dependencies:
- name: dev
repository: file://envs/dev
version: v0.1.0
- name: prod
repository: file://envs/prod
version: v0.1.0
digest: sha256:9403fc24f6cf9d6055820126cf7633b4bd1fed3c77e4880c674059f536346182
generated: "2020-02-03T10:38:51.180474+01:00"

@ -0,0 +1,14 @@
apiVersion: v2
name: parent-chart
version: 0.1.0
appVersion: v0.1.0
dependencies:
- name: test
alias: test1
version: "0.1.0"
condition: one.enabled
- name: test
alias: test2
version: "0.1.0"
condition: two.enabled

@ -0,0 +1,16 @@
###################################################################################################
# parent-chart horizontal pod autoscaler
###################################################################################################
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: {{ .Release.Name }}-autoscaler
namespace: {{ .Release.Namespace }}
spec:
scaleTargetRef:
apiVersion: apps/v1beta1
kind: Deployment
name: {{ .Release.Name }}
minReplicas: {{ required "A valid .Values.resources.autoscaler.minReplicas entry required!" .Values.resources.autoscaler.minReplicas }}
maxReplicas: {{ required "A valid .Values.resources.autoscaler.maxReplicas entry required!" .Values.resources.autoscaler.maxReplicas }}
targetCPUUtilizationPercentage: {{ required "A valid .Values.resources.autoscaler.targetCPUUtilizationPercentage!" .Values.resources.autoscaler.targetCPUUtilizationPercentage }}

@ -0,0 +1,11 @@
# Default values for parent-chart.
nameOverride: parent-chart
one:
enabled: false
two:
enabled: true
resources:
autoscaler:
minReplicas: 0
maxReplicas: 0
targetCPUUtilizationPercentage: 99
Loading…
Cancel
Save