11package generator
22
33import (
4- "fmt"
54 "net/http"
65 "net/http/httptest"
76 "os"
@@ -14,107 +13,37 @@ import (
1413 "github.com/stretchr/testify/assert"
1514)
1615
17- func TestBuilderVersionSorting (t * testing.T ) {
18- seedVersions := []string {
19- "2.10.0" , "1.0.0" , "2.2.0" , "2.1.0" , "1.01.01" ,
20- }
21- bundles := make ([]gitBundle , 0 )
22- for _ , v := range seedVersions {
23- bundles = append (bundles , gitBundle {tag : v , paths : []gitPath {}})
16+ func TestBuildWithVersionPatternFiltering (t * testing.T ) {
17+ config := configuration.Configuration {
18+ Kind : configuration .Http ,
19+ Name : "test" ,
20+ ApiGroups : []string {"chart.uri" },
21+ VersionPattern : `^v([0-9]+\.[0-9]+\.[0-9]+)$` ,
22+ Downloads : []configuration.ConfigurationDownload {
23+ {
24+ Version : "v1.0.0" ,
25+ },
26+ {
27+ Version : "v2.0.0" ,
28+ },
29+ {
30+ Version : "3.0.0" ,
31+ },
32+ },
2433 }
25- expectedVersions := []string {seedVersions [0 ], seedVersions [2 ], seedVersions [3 ], seedVersions [4 ], seedVersions [1 ]}
2634
27- p , err := setupGit ( t , bundles )
35+ reader , err := crd . NewCrdReader ( setupLogger () )
2836 assert .Nil (t , err )
29- assert .NotNil (t , p )
3037
31- config := configuration.Configuration {
32- Kind : configuration .Git ,
33- Repository : fmt .Sprintf ("file://%s" , * p ),
34- VersionPattern : `^([0-9]+\.[0-9]+\.[0-9]+)$` ,
35- }
38+ tmpDir := t .TempDir ()
3639
37- b , err := NewBuilder (config , nil , "-" , "-" , "-" , nil , nil )
40+ builder , err := NewBuilder (config , reader , tmpDir , tmpDir , tmpDir , setupLogger () , nil )
3841 assert .Nil (t , err )
3942
40- versions , err := b . versions ()
43+ version , result , err := builder . registryStatus ()
4144 assert .Nil (t , err )
42- assert .NotNil (t , versions )
43- assert .Equal (t , expectedVersions , versions )
44- }
45-
46- type testScenario struct {
47- versions []string
48- expectedVersions []string
49- pattern string
50- }
51-
52- func TestBuilderVersionFiltering (t * testing.T ) {
53- tests := []testScenario {
54- {
55- versions : []string {"2.0.0" , "1.3.0" , "1.0.0" },
56- expectedVersions : []string {"2.0.0" , "1.3.0" , "1.0.0" },
57- },
58- {
59- versions : []string {"v2.0.0" , "v1.3.0" , "v1.0.0" },
60- expectedVersions : []string {},
61- },
62- {
63- versions : []string {"v2.0.0" , "v1.3.0" , "v1.0.0" },
64- expectedVersions : []string {"v2.0.0" , "v1.3.0" , "v1.0.0" },
65- pattern : `^v([0-9]+\.[0-9]+\.[0-9]+)$` ,
66- },
67- {
68- versions : []string {"2.0.0" , "v1.3.0" , "v1.0.0" },
69- expectedVersions : []string {"2.0.0" , "v1.3.0" , "v1.0.0" },
70- pattern : `^v?([0-9]+\.[0-9]+\.[0-9]+)$` ,
71- },
72- {
73- versions : []string {"2.0.0" , "v1.3.0v" , "v1.0.0" },
74- expectedVersions : []string {"2.0.0" , "v1.0.0" },
75- pattern : `^v?([0-9]+\.[0-9]+\.[0-9]+)$` ,
76- },
77- {
78- versions : []string {"2.0.0-2" , "1.3.0-1892" , "1.0.0-01" },
79- expectedVersions : []string {"2.0.0-2" , "1.3.0-1892" , "1.0.0-01" },
80- pattern : `^([0-9]+\.[0-9]+\.[0-9]+-\d+)$` ,
81- },
82- {
83- versions : []string {"v1.33.2+k0s.0" },
84- expectedVersions : []string {"v1.33.2+k0s.0" },
85- pattern : `^v([0-9]+\.[0-9]+\.[0-9]+\+k0s\.0)$` ,
86- },
87- {
88- versions : []string {"main" , "v1.0" , "master" },
89- expectedVersions : []string {"main" , "master" },
90- pattern : `^(main|master)$` ,
91- },
92- {
93- versions : []string {"main" , "v1.0.0" , "2.0.0" , "master" },
94- expectedVersions : []string {"2.0.0" , "main" , "master" },
95- pattern : `^([0-9]+\.[0-9]+\.[0-9]+)|(main|master)$` ,
96- },
97- }
98-
99- for i , test := range tests {
100- downloads := make ([]configuration.ConfigurationDownload , 0 )
101- for _ , v := range test .versions {
102- downloads = append (downloads , configuration.ConfigurationDownload {Version : v })
103- }
104- config := configuration.Configuration {
105- Kind : configuration .Http ,
106- Downloads : downloads ,
107- VersionPattern : test .pattern ,
108- }
109-
110- b , err := NewBuilder (config , nil , "-" , "-" , "-" , nil , nil )
111- assert .Nil (t , err )
112-
113- versions , err := b .versions ()
114- assert .Nil (t , err , "index %d failed" , i )
115- assert .NotNil (t , versions , "index %d failed" , i )
116- assert .Equal (t , test .expectedVersions , versions , "index %d failed" , i )
117- }
45+ assert .False (t , result )
46+ assert .Equal (t , "v2.0.0" , version )
11847}
11948
12049func TestResolveGenerator (t * testing.T ) {
@@ -241,11 +170,12 @@ func TestRegistryStatusNoRegistry(t *testing.T) {
241170 Downloads : []configuration.ConfigurationDownload {{Version : "1.0.0" }},
242171 }
243172
244- b , err := NewBuilder (config , nil , "-" , "-" , "-" , nil , nil )
173+ builder , err := NewBuilder (config , nil , "-" , "-" , "-" , nil , nil )
245174 assert .Nil (t , err )
246- assert .NotNil (t , b )
175+ assert .NotNil (t , builder )
247176
248- version , result := b .registryStatus ()
177+ version , result , err := builder .registryStatus ()
178+ assert .Nil (t , err )
249179 assert .False (t , result )
250180 assert .Equal (t , "1.0.0" , version )
251181}
@@ -283,7 +213,8 @@ func TestRegistryStatusSameVersion(t *testing.T) {
283213 builder , err := NewBuilder (config , reader , tmpDir , tmpDir , tmpDir , setupLogger (), reg )
284214 assert .Nil (t , err )
285215
286- version , result := builder .registryStatus ()
216+ version , result , err := builder .registryStatus ()
217+ assert .Nil (t , err )
287218 assert .True (t , result )
288219 assert .Equal (t , "1.0.0" , version )
289220}
@@ -321,7 +252,8 @@ func TestRegistryStatusDifferentVersion(t *testing.T) {
321252 builder , err := NewBuilder (config , reader , tmpDir , tmpDir , tmpDir , setupLogger (), reg )
322253 assert .Nil (t , err )
323254
324- version , result := builder .registryStatus ()
255+ version , result , err := builder .registryStatus ()
256+ assert .Nil (t , err )
325257 assert .False (t , result )
326258 assert .Equal (t , "2.0.0" , version )
327259}
@@ -359,7 +291,8 @@ func TestRegistryStatusDifferentKind(t *testing.T) {
359291 builder , err := NewBuilder (config , reader , tmpDir , tmpDir , tmpDir , setupLogger (), reg )
360292 assert .Nil (t , err )
361293
362- version , result := builder .registryStatus ()
294+ version , result , err := builder .registryStatus ()
295+ assert .Nil (t , err )
363296 assert .False (t , result )
364297 assert .Equal (t , "1.0.0" , version )
365298}
0 commit comments