@@ -7,6 +7,34 @@ import (
77 "github.com/stretchr/testify/assert"
88)
99
10+ var (
11+ v3610 = semver .MustParse ("3.61.0" )
12+ v3620 = semver .MustParse ("3.62.0" )
13+ v3621 = semver .MustParse ("3.62.1" )
14+ v4000 = semver .MustParse ("4.0.0" )
15+ v4001 = semver .MustParse ("4.0.1" )
16+ v4002 = semver .MustParse ("4.0.2" )
17+ v4100 = semver .MustParse ("4.1.0" )
18+ v4101 = semver .MustParse ("4.1.1" )
19+ v4200 = semver .MustParse ("4.2.0" )
20+
21+ entry3620 = newChannelEntry (v3620 , v3610 , v3610 , nil )
22+ entry3621 = newChannelEntry (v3621 , v3620 , v3610 , nil )
23+ entry4000 = newChannelEntry (v4000 , v3621 , v3620 , nil )
24+ entry4001 = newChannelEntry (v4001 , v4000 , v3620 , []* semver.Version {v4001 })
25+ entry4002 = newChannelEntry (v4002 , v4001 , v3620 , []* semver.Version {v4001 })
26+ entry4100 = newChannelEntry (v4100 , v4002 , v4000 , []* semver.Version {v4001 })
27+ entry4101 = newChannelEntry (v4101 , v4100 , v4000 , []* semver.Version {v4001 })
28+ entry4200 = newChannelEntry (v4200 , v4101 , v4100 , []* semver.Version {v4001 })
29+
30+ channel36 = newChannel (v3620 , []ChannelEntry {entry3620 , entry3621 })
31+ latestChannel = newLatestChannel ([]ChannelEntry {entry3620 , entry3621 })
32+ channel40 = newChannel (v4000 , []ChannelEntry {entry4000 , entry4001 , entry4002 })
33+ channel41 = newChannel (v4100 , []ChannelEntry {entry4000 , entry4001 , entry4002 , entry4100 , entry4101 })
34+ channel42 = newChannel (v4200 , []ChannelEntry {entry4000 , entry4001 , entry4002 , entry4100 , entry4101 , entry4200 })
35+ stableChannel = newStableChannel ([]ChannelEntry {entry4000 , entry4001 , entry4002 , entry4100 , entry4101 , entry4200 })
36+ )
37+
1038func TestGenerateChannels (t * testing.T ) {
1139 // Define test cases
1240 tests := []struct {
@@ -16,40 +44,29 @@ func TestGenerateChannels(t *testing.T) {
1644 expectedChannels []Channel
1745 }{
1846 {
19- name : "Single major version with no broken versions" ,
20- versions : []* semver.Version {
21- semver .MustParse ("4.0.0" ),
22- semver .MustParse ("4.0.1" ),
23- semver .MustParse ("4.1.0" ),
24- semver .MustParse ("4.1.1" ),
25- },
26- brokenVersions : nil ,
27- expectedChannels : []Channel {
28- // Expected channels for the given versions
29- },
30- },
31- {
32- name : "Multiple major versions with broken versions" ,
47+ name : "Multiple major versions with broken version" ,
3348 versions : []* semver.Version {
34- semver .MustParse ("3.61.0" ),
35- semver .MustParse ("4.0.0" ),
36- semver .MustParse ("4.0.1" ),
37- semver .MustParse ("4.1.0" ),
38- semver .MustParse ("5.0.0" ),
49+ v3620 ,
50+ v3621 ,
51+ v4000 ,
52+ v4001 ,
53+ v4002 ,
54+ v4100 ,
55+ v4101 ,
56+ v4200 ,
3957 },
4058 brokenVersions : []* semver.Version {
41- semver . MustParse ( "4.0.1" ) ,
59+ v4001 ,
4260 },
4361 expectedChannels : []Channel {
44- // Expected channels for the given versions
62+ * channel36 ,
63+ latestChannel ,
64+ * channel40 ,
65+ * channel41 ,
66+ * channel42 ,
67+ stableChannel ,
4568 },
4669 },
47- {
48- name : "Empty versions list" ,
49- versions : []* semver.Version {},
50- brokenVersions : nil ,
51- expectedChannels : []Channel {},
52- },
5370 }
5471
5572 for _ , tt := range tests {
0 commit comments