@@ -22,6 +22,12 @@ const (
22
22
repo = "slsa-provenance-action"
23
23
)
24
24
25
+ const (
26
+ releasesAPI = "https://api.github.com/repos/philips-labs/slsa-provenance-action/releases"
27
+ firstRelease = "v0.1.1"
28
+ assetsURLTemplate = "GET: %s/assets/%d"
29
+ )
30
+
25
31
var githubToken string
26
32
27
33
func tokenRetriever () string {
@@ -44,18 +50,16 @@ func TestFetchRelease(t *testing.T) {
44
50
assert := assert .New (t )
45
51
ctx := context .Background ()
46
52
47
- api := "https://api.github.com/repos/philips-labs/slsa-provenance-action/releases"
48
-
49
53
client , requestLogger := createReleaseClient (ctx )
50
- release , err := client .FetchRelease (ctx , owner , repo , "v0.1.1" )
54
+ release , err := client .FetchRelease (ctx , owner , repo , firstRelease )
51
55
52
56
if ! assert .NoError (err ) && ! assert .NotNil (release ) {
53
57
return
54
58
}
55
59
assert .Equal (int64 (51517953 ), release .GetID ())
56
- assert .Equal ("v0.1.1" , release .GetTagName ())
60
+ assert .Equal (firstRelease , release .GetTagName ())
57
61
assert .Len (release .Assets , 7 )
58
- assert .Equal (fmt .Sprintf ("GET: %s?per_page=20\n GET: %s?page=2&per_page=20\n " , api , api ), requestLogger .String ())
62
+ assert .Equal (fmt .Sprintf ("GET: %s?per_page=20\n GET: %s?page=2&per_page=20\n " , releasesAPI , releasesAPI ), requestLogger .String ())
59
63
}
60
64
61
65
func TestDownloadReleaseAssets (t * testing.T ) {
@@ -66,8 +70,8 @@ func TestDownloadReleaseAssets(t *testing.T) {
66
70
67
71
ctx := context .Background ()
68
72
69
- api := "https://api.github.com/repos/philips-labs/slsa-provenance-action/releases"
70
- version := "v0.1.1"
73
+ api := releasesAPI
74
+ version := firstRelease
71
75
client , requestLogger := createReleaseClient (ctx )
72
76
release , _ , err := client .Repositories .GetReleaseByTag (ctx , owner , repo , version )
73
77
if ! assert .NoError (err ) || ! assert .NotNil (release ) {
@@ -87,13 +91,13 @@ func TestDownloadReleaseAssets(t *testing.T) {
87
91
}
88
92
assert .NotEmpty (requestLogger )
89
93
assert .Contains (requestLogger .String (), fmt .Sprintf ("GET: %s/%d/assets?per_page=10" , api , release .GetID ()))
90
- assert .Contains (requestLogger .String (), fmt .Sprintf ("GET: %s/assets/%d" , api , assets [0 ].GetID ()))
91
- assert .Contains (requestLogger .String (), fmt .Sprintf ("GET: %s/assets/%d" , api , assets [1 ].GetID ()))
92
- assert .Contains (requestLogger .String (), fmt .Sprintf ("GET: %s/assets/%d" , api , assets [2 ].GetID ()))
93
- assert .Contains (requestLogger .String (), fmt .Sprintf ("GET: %s/assets/%d" , api , assets [3 ].GetID ()))
94
- assert .Contains (requestLogger .String (), fmt .Sprintf ("GET: %s/assets/%d" , api , assets [4 ].GetID ()))
95
- assert .Contains (requestLogger .String (), fmt .Sprintf ("GET: %s/assets/%d" , api , assets [5 ].GetID ()))
96
- assert .Contains (requestLogger .String (), fmt .Sprintf ("GET: %s/assets/%d" , api , assets [6 ].GetID ()))
94
+ assert .Contains (requestLogger .String (), fmt .Sprintf (assetsURLTemplate , api , assets [0 ].GetID ()))
95
+ assert .Contains (requestLogger .String (), fmt .Sprintf (assetsURLTemplate , api , assets [1 ].GetID ()))
96
+ assert .Contains (requestLogger .String (), fmt .Sprintf (assetsURLTemplate , api , assets [2 ].GetID ()))
97
+ assert .Contains (requestLogger .String (), fmt .Sprintf (assetsURLTemplate , api , assets [3 ].GetID ()))
98
+ assert .Contains (requestLogger .String (), fmt .Sprintf (assetsURLTemplate , api , assets [4 ].GetID ()))
99
+ assert .Contains (requestLogger .String (), fmt .Sprintf (assetsURLTemplate , api , assets [5 ].GetID ()))
100
+ assert .Contains (requestLogger .String (), fmt .Sprintf (assetsURLTemplate , api , assets [6 ].GetID ()))
97
101
assert .Contains (requestLogger .String (), "GET: https://objects.githubusercontent.com/github-production-release-asset" )
98
102
99
103
defer func () {
@@ -165,7 +169,7 @@ func TestListReleaseAssets(t *testing.T) {
165
169
assert := assert .New (t )
166
170
ctx := context .Background ()
167
171
168
- api := "https://api.github.com/repos/philips-labs/slsa-provenance-action/releases /51517953/assets"
172
+ api := releasesAPI + " /51517953/assets"
169
173
170
174
client , requestLogger := createReleaseClient (ctx )
171
175
opt := gh.ListOptions {PerPage : 4 }
@@ -185,17 +189,17 @@ func TestListReleaseAssets(t *testing.T) {
185
189
assert .Len (assets , 7 )
186
190
187
191
_ , err = client .ListReleaseAssets (ctx , owner , repo , 0 , opt )
188
- assert .EqualError (err , "failed to list release assets: GET https://api.github.com/repos/philips-labs/slsa-provenance-action/releases /0/assets?per_page=10: 404 Not Found []" )
192
+ assert .EqualError (err , "failed to list release assets: GET " + releasesAPI + " /0/assets?per_page=10: 404 Not Found []" )
189
193
}
190
194
191
195
func TestListReleases (t * testing.T ) {
192
196
assert := assert .New (t )
193
197
ctx := context .Background ()
194
198
195
- api := "https://api.github.com/repos/philips-labs/slsa-provenance-action/releases"
199
+ api := releasesAPI
196
200
197
201
client , requestLogger := createReleaseClient (ctx )
198
- opt := gh.ListOptions {PerPage : 20 }
202
+ opt := gh.ListOptions {PerPage : 25 }
199
203
releases , err := client .ListReleases (ctx , owner , repo , opt )
200
204
if ! assert .NoError (err ) {
201
205
return
0 commit comments