@@ -670,6 +670,12 @@ func TestHelmChartInflationGeneratorWithSameChartMultipleVersions(t *testing.T)
670
670
version : "1.1.2" ,
671
671
releaseName : "terraform-1.1.2" ,
672
672
},
673
+ {
674
+ name : "terraform chart with version 1.1.2 but without repo" ,
675
+ chartName : "terraform" ,
676
+ version : "1.1.2" ,
677
+ releaseName : "terraform-1.1.2" ,
678
+ },
673
679
}
674
680
675
681
for _ , tt := range tests {
@@ -689,12 +695,14 @@ releaseName: %s
689
695
assert .True (t , len (rm .Resources ()) > 0 )
690
696
691
697
var chartDir string
692
- if tt .version != "" {
698
+ if tt .version != "" && tt . repo != "" {
693
699
chartDir = fmt .Sprintf ("charts/%s-%s/%s" , tt .chartName , tt .version , tt .chartName )
694
700
} else {
695
701
chartDir = fmt .Sprintf ("charts/%s" , tt .chartName )
696
702
}
697
703
704
+ fmt .Printf ("%s: %s\n " , tt .name , chartDir )
705
+
698
706
d , err := th .GetFSys ().ReadFile (filepath .Join (th .GetRoot (), chartDir , "Chart.yaml" ))
699
707
if err != nil {
700
708
t .Fatal (err )
@@ -761,4 +769,56 @@ releaseName: podinfo2
761
769
podinfo2ChartContents , err := th .GetFSys ().ReadFile (filepath .Join (podinfo2ChartsDir , "Chart.yaml" ))
762
770
assert .NoError (t , err )
763
771
assert .Contains (t , string (podinfo2ChartContents ), "version: 6.1.8" )
772
+
773
+ }
774
+
775
+ // Addressed: https://github.com/kubernetes-sigs/kustomize/issues/5163
776
+ func TestHelmChartInflationGeneratorWithLocalChartWithVersion (t * testing.T ) {
777
+ th := kusttest_test .MakeEnhancedHarnessWithTmpRoot (t ).
778
+ PrepBuiltin ("HelmChartInflationGenerator" )
779
+ defer th .Reset ()
780
+ if err := th .ErrIfNoHelm (); err != nil {
781
+ t .Skip ("skipping: " + err .Error ())
782
+ }
783
+
784
+ th .GetFSys ().MkdirAll (filepath .Join (th .GetRoot (), "charts/dummy/templates" ))
785
+ th .WriteF (filepath .Join (th .GetRoot (), "charts/dummy/Chart.yaml" ), `
786
+ apiVersion: v1
787
+ appVersion: 1.0.0
788
+ description: Dummy
789
+ name: dummy
790
+ version: 1.0.0
791
+ ` )
792
+
793
+ th .WriteF (filepath .Join (th .GetRoot (), "charts/dummy/values.yaml" ), `
794
+ foo: bar
795
+ ` )
796
+
797
+ th .WriteF (filepath .Join (th .GetRoot (), "charts/dummy/templates/cm.yaml" ), `
798
+ apiVersion: v1
799
+ kind: ConfigMap
800
+ metadata:
801
+ name: {{ .Values.foo }}
802
+ ` )
803
+
804
+ dummyInlineHelmChart := th .LoadAndRunGenerator (`
805
+ apiVersion: builtin
806
+ kind: HelmChartInflationGenerator
807
+ metadata:
808
+ name: dummy
809
+ name: dummy
810
+ version: 1.0.0
811
+ releaseName: dummy
812
+ ` )
813
+
814
+ dummyConfigmap , err := dummyInlineHelmChart .Resources ()[0 ].GetFieldValue ("metadata.name" )
815
+ assert .NoError (t , err )
816
+ assert .Equal (t , "bar" , dummyConfigmap )
817
+
818
+ dummyChartsDir := filepath .Join (th .GetRoot (), "charts/dummy" )
819
+ assert .True (t , th .GetFSys ().Exists (dummyChartsDir ))
820
+
821
+ dummyChartsContent , err := th .GetFSys ().ReadFile (filepath .Join (dummyChartsDir , "Chart.yaml" ))
822
+ assert .NoError (t , err )
823
+ assert .Contains (t , string (dummyChartsContent ), "version: 1.0.0" )
764
824
}
0 commit comments