@@ -11,84 +11,33 @@ import (
1111)
1212
1313func Test_buildConfig (t * testing.T ) {
14- file , err := os .Open (filepath .Join ("testdata" , "all-releases.json" ))
14+ allReleases := unmarshalRelease (t , "all-releases.json" )
15+
16+ minAllowedVersion := version {major : 1 , minor : 28 , patch : 3 }
17+
18+ config , err := buildConfig (allReleases , minAllowedVersion )
1519 require .NoError (t , err )
1620
17- defer file .Close ()
21+ data , err := json .MarshalIndent (config , "" , " " )
22+ require .NoError (t , err )
1823
19- var allReleases []release
20- err = json .NewDecoder (file ).Decode (& allReleases )
24+ expected , err := os .ReadFile (filepath .Join ("testdata" , "github-action-config.json" ))
2125 require .NoError (t , err )
2226
23- minAllowedVersion := version {major : 1 , minor : 51 , patch : 0 }
27+ assert .JSONEq (t , string (expected ), string (data ))
28+ }
2429
25- config , err := buildConfig (allReleases , minAllowedVersion )
30+ func unmarshalRelease (t * testing.T , filename string ) []release {
31+ file , err := os .Open (filepath .Join ("testdata" , filename ))
2632 require .NoError (t , err )
2733
28- expected := & actionConfig {MinorVersionToConfig : map [string ]versionConfig {
29- "latest" : {Error : "" , TargetVersion : "v1.63.4" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.63.4/golangci-lint-1.63.4-linux-amd64.tar.gz" },
30- "v1.3" : {Error : "golangci-lint version 'v1.3' isn't supported: we support only v1.51.0 and later versions" },
31- "v1.4" : {Error : "golangci-lint version 'v1.4' isn't supported: we support only v1.51.0 and later versions" },
32- "v1.5" : {Error : "golangci-lint version 'v1.5' isn't supported: we support only v1.51.0 and later versions" },
33- "v1.6" : {Error : "golangci-lint version 'v1.6' isn't supported: we support only v1.51.0 and later versions" },
34- "v1.7" : {Error : "golangci-lint version 'v1.7' isn't supported: we support only v1.51.0 and later versions" },
35- "v1.8" : {Error : "golangci-lint version 'v1.8' isn't supported: we support only v1.51.0 and later versions" },
36- "v1.9" : {Error : "golangci-lint version 'v1.9' isn't supported: we support only v1.51.0 and later versions" },
37- "v1.10" : {Error : "golangci-lint version 'v1.10' isn't supported: we support only v1.51.0 and later versions" },
38- "v1.11" : {Error : "golangci-lint version 'v1.11' isn't supported: we support only v1.51.0 and later versions" },
39- "v1.12" : {Error : "golangci-lint version 'v1.12' isn't supported: we support only v1.51.0 and later versions" },
40- "v1.13" : {Error : "golangci-lint version 'v1.13' isn't supported: we support only v1.51.0 and later versions" },
41- "v1.14" : {Error : "golangci-lint version 'v1.14' isn't supported: we support only v1.51.0 and later versions" },
42- "v1.15" : {Error : "golangci-lint version 'v1.15' isn't supported: we support only v1.51.0 and later versions" },
43- "v1.16" : {Error : "golangci-lint version 'v1.16' isn't supported: we support only v1.51.0 and later versions" },
44- "v1.17" : {Error : "golangci-lint version 'v1.17' isn't supported: we support only v1.51.0 and later versions" },
45- "v1.18" : {Error : "golangci-lint version 'v1.18' isn't supported: we support only v1.51.0 and later versions" },
46- "v1.19" : {Error : "golangci-lint version 'v1.19' isn't supported: we support only v1.51.0 and later versions" },
47- "v1.20" : {Error : "golangci-lint version 'v1.20' isn't supported: we support only v1.51.0 and later versions" },
48- "v1.21" : {Error : "golangci-lint version 'v1.21' isn't supported: we support only v1.51.0 and later versions" },
49- "v1.22" : {Error : "golangci-lint version 'v1.22' isn't supported: we support only v1.51.0 and later versions" },
50- "v1.23" : {Error : "golangci-lint version 'v1.23' isn't supported: we support only v1.51.0 and later versions" },
51- "v1.24" : {Error : "golangci-lint version 'v1.24' isn't supported: we support only v1.51.0 and later versions" },
52- "v1.25" : {Error : "golangci-lint version 'v1.25' isn't supported: we support only v1.51.0 and later versions" },
53- "v1.26" : {Error : "golangci-lint version 'v1.26' isn't supported: we support only v1.51.0 and later versions" },
54- "v1.27" : {Error : "golangci-lint version 'v1.27' isn't supported: we support only v1.51.0 and later versions" },
55- "v1.28" : {Error : "golangci-lint version 'v1.28' isn't supported: we support only v1.51.0 and later versions" },
56- "v1.29" : {Error : "golangci-lint version 'v1.29' isn't supported: we support only v1.51.0 and later versions" },
57- "v1.30" : {Error : "golangci-lint version 'v1.30' isn't supported: we support only v1.51.0 and later versions" },
58- "v1.31" : {Error : "golangci-lint version 'v1.31' isn't supported: we support only v1.51.0 and later versions" },
59- "v1.32" : {Error : "golangci-lint version 'v1.32' isn't supported: we support only v1.51.0 and later versions" },
60- "v1.33" : {Error : "golangci-lint version 'v1.33' isn't supported: we support only v1.51.0 and later versions" },
61- "v1.34" : {Error : "golangci-lint version 'v1.34' isn't supported: we support only v1.51.0 and later versions" },
62- "v1.35" : {Error : "golangci-lint version 'v1.35' isn't supported: we support only v1.51.0 and later versions" },
63- "v1.36" : {Error : "golangci-lint version 'v1.36' isn't supported: we support only v1.51.0 and later versions" },
64- "v1.37" : {Error : "golangci-lint version 'v1.37' isn't supported: we support only v1.51.0 and later versions" },
65- "v1.38" : {Error : "golangci-lint version 'v1.38' isn't supported: we support only v1.51.0 and later versions" },
66- "v1.39" : {Error : "golangci-lint version 'v1.39' isn't supported: we support only v1.51.0 and later versions" },
67- "v1.40" : {Error : "golangci-lint version 'v1.40' isn't supported: we support only v1.51.0 and later versions" },
68- "v1.41" : {Error : "golangci-lint version 'v1.41' isn't supported: we support only v1.51.0 and later versions" },
69- "v1.42" : {Error : "golangci-lint version 'v1.42' isn't supported: we support only v1.51.0 and later versions" },
70- "v1.43" : {Error : "golangci-lint version 'v1.43' isn't supported: we support only v1.51.0 and later versions" },
71- "v1.44" : {Error : "golangci-lint version 'v1.44' isn't supported: we support only v1.51.0 and later versions" },
72- "v1.45" : {Error : "golangci-lint version 'v1.45' isn't supported: we support only v1.51.0 and later versions" },
73- "v1.46" : {Error : "golangci-lint version 'v1.46' isn't supported: we support only v1.51.0 and later versions" },
74- "v1.47" : {Error : "golangci-lint version 'v1.47' isn't supported: we support only v1.51.0 and later versions" },
75- "v1.48" : {Error : "golangci-lint version 'v1.48' isn't supported: we support only v1.51.0 and later versions" },
76- "v1.49" : {Error : "golangci-lint version 'v1.49' isn't supported: we support only v1.51.0 and later versions" },
77- "v1.50" : {Error : "golangci-lint version 'v1.50' isn't supported: we support only v1.51.0 and later versions" },
78- "v1.51" : {Error : "" , TargetVersion : "v1.51.2" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.51.2/golangci-lint-1.51.2-linux-amd64.tar.gz" },
79- "v1.52" : {Error : "" , TargetVersion : "v1.52.2" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.52.2/golangci-lint-1.52.2-linux-amd64.tar.gz" },
80- "v1.53" : {Error : "" , TargetVersion : "v1.53.3" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.53.3/golangci-lint-1.53.3-linux-amd64.tar.gz" },
81- "v1.54" : {Error : "" , TargetVersion : "v1.54.2" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.54.2/golangci-lint-1.54.2-linux-amd64.tar.gz" },
82- "v1.55" : {Error : "" , TargetVersion : "v1.55.2" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.55.2/golangci-lint-1.55.2-linux-amd64.tar.gz" },
83- "v1.56" : {Error : "" , TargetVersion : "v1.56.2" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.56.2/golangci-lint-1.56.2-linux-amd64.tar.gz" },
84- "v1.57" : {Error : "" , TargetVersion : "v1.57.2" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.57.2/golangci-lint-1.57.2-linux-amd64.tar.gz" },
85- "v1.58" : {Error : "" , TargetVersion : "v1.58.2" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.58.2/golangci-lint-1.58.2-linux-amd64.tar.gz" },
86- "v1.59" : {Error : "" , TargetVersion : "v1.59.1" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.59.1/golangci-lint-1.59.1-linux-amd64.tar.gz" },
87- "v1.60" : {Error : "" , TargetVersion : "v1.60.3" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.60.3/golangci-lint-1.60.3-linux-amd64.tar.gz" },
88- "v1.61" : {Error : "" , TargetVersion : "v1.61.0" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.61.0/golangci-lint-1.61.0-linux-amd64.tar.gz" },
89- "v1.62" : {Error : "" , TargetVersion : "v1.62.2" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.62.2/golangci-lint-1.62.2-linux-amd64.tar.gz" },
90- "v1.63" : {Error : "" , TargetVersion : "v1.63.4" , AssetURL : "https://github.com/golangci/golangci-lint/releases/download/v1.63.4/golangci-lint-1.63.4-linux-amd64.tar.gz" },
91- }}
34+ t .Cleanup (func () {
35+ _ = file .Close ()
36+ })
37+
38+ var data []release
39+ err = json .NewDecoder (file ).Decode (& data )
40+ require .NoError (t , err )
9241
93- assert . Equal ( t , expected , config )
42+ return data
9443}
0 commit comments