From 9514321cb05e95da94b8f79ebdc4a5952d9f4926 Mon Sep 17 00:00:00 2001 From: wujunwei Date: Fri, 28 Oct 2022 23:47:07 +0800 Subject: [PATCH] add some test case Signed-off-by: wujunwei --- pkg/chart/v2/util/dependencies_test.go | 46 ++++++++++++++++++ .../Chart.lock | 9 ++++ .../Chart.yaml | 14 ++++++ .../charts/test-0.1.0.tgz | Bin 0 -> 584 bytes .../templates/autoscaler.yaml | 16 ++++++ .../values.yaml | 11 +++++ .../charts/test-0.1.0.tgz | Bin 337 -> 584 bytes .../charts/test-0.2.0.tgz | Bin 339 -> 584 bytes 8 files changed, 96 insertions(+) create mode 100644 pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/Chart.lock create mode 100644 pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/Chart.yaml create mode 100644 pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/charts/test-0.1.0.tgz create mode 100644 pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/templates/autoscaler.yaml create mode 100644 pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/values.yaml diff --git a/pkg/chart/v2/util/dependencies_test.go b/pkg/chart/v2/util/dependencies_test.go index 2ddf861c7..d9b5c31e4 100644 --- a/pkg/chart/v2/util/dependencies_test.go +++ b/pkg/chart/v2/util/dependencies_test.go @@ -625,3 +625,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) + } + } + }) + } +} diff --git a/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/Chart.lock b/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/Chart.lock new file mode 100644 index 000000000..b2f17fb39 --- /dev/null +++ b/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/Chart.lock @@ -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" diff --git a/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/Chart.yaml b/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/Chart.yaml new file mode 100644 index 000000000..d98d7ebe6 --- /dev/null +++ b/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/Chart.yaml @@ -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 \ No newline at end of file diff --git a/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/charts/test-0.1.0.tgz b/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/charts/test-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..33390b31bc17bb4061df0de8917829da1e247d32 GIT binary patch literal 584 zcmV-O0=NAiiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI##Z<{<6%`;N|!~L4)5JL#j$6M7s>}iXlweNRums$hcvmMkl z;=fP9OCV@#)^Mrh`02RL@ZMYN(l%a=8HIK{>eC7!(D1qHR z@ydP4Ro+^AkJqF2e~I~;%-I6ql>etJ?)pCp!`}awzz7yvX5e-JDAXkEINhBGwedff zq&3edIVz2nmYGKnN@{Bo4k!zijagPAFw$h}Slio7`1s6+FIZx3f5H>VE zH1zC1ThuGEH;da_%X9vSmP@f9oszJ)q6Gf$lj!BB{covIIa)H4=5Gc6E)GukKZxh^ zj{j%VnDzd@1V-n_&>J142i!}|AEmIEgOXV*A%@;X7?o=H;4(sv3GmQCiPh_kF1| zZ%N;33gAexQf5*HU&&(Ns!sF=Qn}m|B&=iqC~sFjis0=QH2qj}O&MHW?+yc=fq&<2 z1&2iUn^pO(b|7K(<}ks3SAXC6OG-QTUm&Gvf3B2Pr;~E(sCmA+r)NB+@ab--s<)1h W9zA-zWBd#N0RR7F>guxq5&!^W_8d|G literal 0 HcmV?d00001 diff --git a/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/templates/autoscaler.yaml b/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/templates/autoscaler.yaml new file mode 100644 index 000000000..976e5a8f1 --- /dev/null +++ b/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/templates/autoscaler.yaml @@ -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 }} \ No newline at end of file diff --git a/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/values.yaml b/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/values.yaml new file mode 100644 index 000000000..3424c6547 --- /dev/null +++ b/pkg/chartutil/testdata/dependent-chart-with-different-alias-name-same-version/values.yaml @@ -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 \ No newline at end of file diff --git a/pkg/chartutil/testdata/dependent-chart-with-same-name-different-version/charts/test-0.1.0.tgz b/pkg/chartutil/testdata/dependent-chart-with-same-name-different-version/charts/test-0.1.0.tgz index 6ee51c1c7b87f35efbdba339181a567495722832..33390b31bc17bb4061df0de8917829da1e247d32 100644 GIT binary patch delta 536 zcmV+z0_XkF0>}iAJAYPDZ<{<6%`;N|!~L4)5JL#j$6M7s>}iXlweNRums$hcvmMkl z;=fP9OCV@#)^Mrh`02RL@ZMYN(lz*XzN;Qwn4}9hcEGU89 zKJm(Z$yMH3dym(n_J4`_n#|b(;FSNTEbjV03d7$2m%s=XT4vyO04UTX>^R+>2et7( zm!vh%C^;&Pm6n-D4@zol5)U9li@Om(laXtkl5vj!xVF-yn3LW!00kFIQaMl2BoH<< zJ~Z^~KwH!+vVS*=+grzgDbFrF~!O;88MV7$F zgTjT(u3P#FvRH@R&;xKcqwN;_CFO*M{7+aARMoh>B!BmwQJDVb<(h`78hS=iTF+Yd zeW^2VN#AM;;7GDkW>N-U$ztHDPV@&-x!e>atYiNuZ&yBw;O!PP{aABN8C+fO4g;Qn zf9GxmheY?ARr#%UAYt|9Fu{LUf8Y5_N;~#nAf;)4u9Q}%lXB{)dA_=*XFR3w>29d1 aw~mhguxq5&!^FwGVy( delta 287 zcmV+)0pR|~1knPJJAakIYQr!LhI7tS2zG8Kr%uOm?E|a~y1Ph3XGm=$E1}!dkG6DW zxr|Y|G4OX0`u{@|&@U?|yo4mSbExV1Am7-DaW&Qa{hYu%=H}e zKTQ$PV;Y#$@%{c?qDsUgVP2;Bw??!_V6AYga0(Li0iodV$Gt2uH=0T zqNynXI#N1R0O1q{X*r!*02(x;mU@=60XiC+K! diff --git a/pkg/chartutil/testdata/dependent-chart-with-same-name-different-version/charts/test-0.2.0.tgz b/pkg/chartutil/testdata/dependent-chart-with-same-name-different-version/charts/test-0.2.0.tgz index 0309b9533c06503b125dc6a0eb3bbd1ca937eb92..347032915ba49a272da85b3468dddeb3ee0f0b06 100644 GIT binary patch delta 536 zcmV+z0_XkH0>}iAJAYPDZ<{<6%`;N|!~L4)5JL#)omBjX+caAl>*upqr-07@?pYu#Wwsylwd)f;St`^kc;}<#2VqJq&mb z{++uO>=WH@SLJuwfrQoT{RIDA{e9;zDc#tAft0rWxl%fvPRgmH=K1QLp7E5zr@Nu9 a-#R{e^bzRsj`1@90RR6b*Fu&65&!^a9tx=d delta 289 zcmV++0p9+|1k(bLJAakIYQr!LhI7tS2zG9!q;AG??E|a~y1Ph3XGm=$E1}!dkG6DW zxr|Y=G4OZ!(XT@k&@U@TyFAW{|)Y7Bff+420$QTr;GOZ9-M;zG_r{8xcSmr1o2(Y zhu}qHlLK_5bW{N0=m%*zo=X54)W?>3mWu00960j96vn01N;Ca-@*Z