@@ -11,84 +11,33 @@ import (
11
11
)
12
12
13
13
func 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 )
15
19
require .NoError (t , err )
16
20
17
- defer file .Close ()
21
+ data , err := json .MarshalIndent (config , "" , " " )
22
+ require .NoError (t , err )
18
23
19
- var allReleases []release
20
- err = json .NewDecoder (file ).Decode (& allReleases )
24
+ expected , err := os .ReadFile (filepath .Join ("testdata" , "github-action-config.json" ))
21
25
require .NoError (t , err )
22
26
23
- minAllowedVersion := version {major : 1 , minor : 51 , patch : 0 }
27
+ assert .JSONEq (t , string (expected ), string (data ))
28
+ }
24
29
25
- config , err := buildConfig (allReleases , minAllowedVersion )
30
+ func unmarshalRelease (t * testing.T , filename string ) []release {
31
+ file , err := os .Open (filepath .Join ("testdata" , filename ))
26
32
require .NoError (t , err )
27
33
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 )
92
41
93
- assert . Equal ( t , expected , config )
42
+ return data
94
43
}
0 commit comments