@@ -19,6 +19,7 @@ func TestExtraManifests_Load(t *testing.T) {
1919 files []string
2020 yamlFetchError error
2121 ymlFetchError error
22+ jsonFetchError error
2223
2324 expectedFound bool
2425 expectedFiles []string
@@ -46,16 +47,25 @@ func TestExtraManifests_Load(t *testing.T) {
4647 expectedFiles : []string {"/extra-manifests/another-test.yml" },
4748 },
4849 {
49- name : "both" ,
50+ name : "only-json" ,
51+ files : []string {"/extra-manifests/test.json" },
52+
53+ expectedFound : true ,
54+ expectedFiles : []string {"/extra-manifests/test.json" },
55+ },
56+ {
57+ name : "all" ,
5058 files : []string {
5159 "/extra-manifests/test.yaml" ,
5260 "/extra-manifests/another-test.yml" ,
61+ "/extra-manifests/test.json" ,
5362 },
5463
5564 expectedFound : true ,
5665 expectedFiles : []string {
5766 "/extra-manifests/test.yaml" ,
5867 "/extra-manifests/another-test.yml" ,
68+ "/extra-manifests/test.json" ,
5969 },
6070 },
6171 {
@@ -70,12 +80,23 @@ func TestExtraManifests_Load(t *testing.T) {
7080
7181 expectedError : "failed to load *.yml files: file does not exist" ,
7282 },
83+ {
84+ name : "error" ,
85+ jsonFetchError : os .ErrNotExist ,
86+
87+ expectedError : "failed to load *.json files: file does not exist" ,
88+ },
7389 }
7490
91+ yamlPattern := "extra-manifests/*.yaml"
92+ ymlPattern := "extra-manifests/*.yml"
93+ jsonPattern := "extra-manifests/*.json"
94+
7595 for _ , tc := range cases {
7696 t .Run (tc .name , func (t * testing.T ) {
7797 yamlFiles := []* asset.File {}
7898 ymlFiles := []* asset.File {}
99+ jsonFiles := []* asset.File {}
79100 for _ , f := range tc .files {
80101 assetFile := & asset.File {
81102 Filename : f ,
@@ -87,6 +108,8 @@ func TestExtraManifests_Load(t *testing.T) {
87108 yamlFiles = append (yamlFiles , assetFile )
88109 case ".yml" :
89110 ymlFiles = append (ymlFiles , assetFile )
111+ case ".json" :
112+ jsonFiles = append (jsonFiles , assetFile )
90113 default :
91114 t .Error ("invalid extension" )
92115 }
@@ -96,21 +119,22 @@ func TestExtraManifests_Load(t *testing.T) {
96119 defer mockCtrl .Finish ()
97120
98121 fileFetcher := mock .NewMockFileFetcher (mockCtrl )
122+
99123 if tc .yamlFetchError != nil {
100- fileFetcher .EXPECT ().FetchByPattern ("extra-manifests/*.yaml" ).Return (
101- []* asset.File {},
102- tc .yamlFetchError ,
103- )
124+ fileFetcher .EXPECT ().FetchByPattern (yamlPattern ).Return ([]* asset.File {}, tc .yamlFetchError )
104125 } else {
105- fileFetcher .EXPECT ().FetchByPattern ("extra-manifests/*.yaml" ).Return (yamlFiles , nil )
126+ fileFetcher .EXPECT ().FetchByPattern (yamlPattern ).Return (yamlFiles , nil )
106127
107128 if tc .ymlFetchError != nil {
108- fileFetcher .EXPECT ().FetchByPattern ("extra-manifests/*.yml" ).Return (
109- []* asset.File {},
110- tc .ymlFetchError ,
111- )
129+ fileFetcher .EXPECT ().FetchByPattern (ymlPattern ).Return ([]* asset.File {}, tc .ymlFetchError )
112130 } else {
113- fileFetcher .EXPECT ().FetchByPattern ("extra-manifests/*.yml" ).Return (ymlFiles , nil )
131+ fileFetcher .EXPECT ().FetchByPattern (ymlPattern ).Return (ymlFiles , nil )
132+
133+ if tc .jsonFetchError != nil {
134+ fileFetcher .EXPECT ().FetchByPattern (jsonPattern ).Return ([]* asset.File {}, tc .jsonFetchError )
135+ } else {
136+ fileFetcher .EXPECT ().FetchByPattern (jsonPattern ).Return (jsonFiles , nil )
137+ }
114138 }
115139 }
116140
0 commit comments