@@ -83,19 +83,21 @@ test.serial("Publish a release with assets", async (t) => {
8383 t . true ( gitlab . isDone ( ) ) ;
8484} ) ;
8585
86- test . serial ( "Publish a release with generics and relative URL " , async ( t ) => {
86+ test . serial ( "Publish a release with generics" , async ( t ) => {
8787 const cwd = "test/fixtures/files" ;
8888 const owner = "test_user" ;
8989 const repo = "test_repo" ;
9090 const env = { GITLAB_TOKEN : "gitlab_token" } ;
91- const nextRelease = { gitHead : "123" , gitTag : "v1.0.0" , notes : "Test release note body" } ;
91+ const nextRelease = { gitHead : "123" , gitTag : "v1.0.0" , notes : "Test release note body" , version : "1.0.0" } ;
9292 const options = { repositoryUrl : `https://gitlab.com/${ owner } /${ repo } .git` } ;
9393 const encodedRepoId = encodeURIComponent ( `${ owner } /${ repo } ` ) ;
9494 const encodedGitTag = encodeURIComponent ( nextRelease . gitTag ) ;
95+ const encodedVersion = encodeURIComponent ( nextRelease . version ) ;
9596 const uploaded = { file : { url : "/uploads/file.css" } } ;
9697 const generic = { path : "file.css" , label : "Style package" , target : "generic_package" , status : "hidden" } ;
9798 const assets = [ generic ] ;
9899 const encodedLabel = encodeURIComponent ( generic . label ) ;
100+ const expectedUrl = `https://gitlab.com/api/v4/projects/${ encodedRepoId } /packages/generic/release/${ encodedVersion } /${ encodedLabel } ` ;
99101 const gitlab = authenticate ( env )
100102 . post ( `/projects/${ encodedRepoId } /releases` , {
101103 tag_name : nextRelease . gitTag ,
@@ -104,7 +106,7 @@ test.serial("Publish a release with generics and relative URL", async (t) => {
104106 links : [
105107 {
106108 name : "Style package" ,
107- url : `https://gitlab.com/ ${ owner } / ${ repo } ${ uploaded . file . url } ` ,
109+ url : expectedUrl ,
108110 link_type : "package" ,
109111 } ,
110112 ] ,
@@ -113,15 +115,15 @@ test.serial("Publish a release with generics and relative URL", async (t) => {
113115 . reply ( 200 ) ;
114116 const gitlabUpload = authenticate ( env )
115117 . put (
116- `/projects/${ encodedRepoId } /packages/generic/release/${ encodedGitTag } /${ encodedLabel } ?status=${ generic . status } &select=package_file` ,
118+ `/projects/${ encodedRepoId } /packages/generic/release/${ encodedVersion } /${ encodedLabel } ?status=${ generic . status } &select=package_file` ,
117119 / \. t e s t \s \{ \} / gm
118120 )
119121 . reply ( 200 , uploaded ) ;
120122
121123 const result = await publish ( { assets } , { env, cwd, options, nextRelease, logger : t . context . logger } ) ;
122124
123125 t . is ( result . url , `https://gitlab.com/${ owner } /${ repo } /-/releases/${ encodedGitTag } ` ) ;
124- t . deepEqual ( t . context . log . args [ 0 ] , [ "Uploaded file: %s" , uploaded . file . url ] ) ;
126+ t . deepEqual ( t . context . log . args [ 0 ] , [ "Uploaded file: %s (%s)" , expectedUrl , uploaded . file . url ] ) ;
125127 t . deepEqual ( t . context . log . args [ 1 ] , [ "Published GitLab release: %s" , nextRelease . gitTag ] ) ;
126128 t . true ( gitlabUpload . isDone ( ) ) ;
127129 t . true ( gitlab . isDone ( ) ) ;
@@ -132,14 +134,16 @@ test.serial("Publish a release with generics and external storage provider (http
132134 const owner = "test_user" ;
133135 const repo = "test_repo" ;
134136 const env = { GITLAB_TOKEN : "gitlab_token" } ;
135- const nextRelease = { gitHead : "123" , gitTag : "v1.0.0" , notes : "Test release note body" } ;
137+ const nextRelease = { gitHead : "123" , gitTag : "v1.0.0" , notes : "Test release note body" , version : "1.0.0" } ;
136138 const options = { repositoryUrl : `https://gitlab.com/${ owner } /${ repo } .git` } ;
137139 const encodedRepoId = encodeURIComponent ( `${ owner } /${ repo } ` ) ;
138140 const encodedGitTag = encodeURIComponent ( nextRelease . gitTag ) ;
141+ const encodedVersion = encodeURIComponent ( nextRelease . version ) ;
139142 const uploaded = { file : { url : "http://aws.example.com/bucket/gitlab/file.css" } } ;
140143 const generic = { path : "file.css" , label : "Style package" , target : "generic_package" , status : "hidden" } ;
141144 const assets = [ generic ] ;
142145 const encodedLabel = encodeURIComponent ( generic . label ) ;
146+ const expectedUrl = `https://gitlab.com/api/v4/projects/${ encodedRepoId } /packages/generic/release/${ encodedVersion } /${ encodedLabel } ` ;
143147 const gitlab = authenticate ( env )
144148 . post ( `/projects/${ encodedRepoId } /releases` , {
145149 tag_name : nextRelease . gitTag ,
@@ -148,7 +152,7 @@ test.serial("Publish a release with generics and external storage provider (http
148152 links : [
149153 {
150154 name : "Style package" ,
151- url : uploaded . file . url ,
155+ url : expectedUrl ,
152156 link_type : "package" ,
153157 } ,
154158 ] ,
@@ -157,15 +161,15 @@ test.serial("Publish a release with generics and external storage provider (http
157161 . reply ( 200 ) ;
158162 const gitlabUpload = authenticate ( env )
159163 . put (
160- `/projects/${ encodedRepoId } /packages/generic/release/${ encodedGitTag } /${ encodedLabel } ?status=${ generic . status } &select=package_file` ,
164+ `/projects/${ encodedRepoId } /packages/generic/release/${ encodedVersion } /${ encodedLabel } ?status=${ generic . status } &select=package_file` ,
161165 / \. t e s t \s \{ \} / gm
162166 )
163167 . reply ( 200 , uploaded ) ;
164168
165169 const result = await publish ( { assets } , { env, cwd, options, nextRelease, logger : t . context . logger } ) ;
166170
167171 t . is ( result . url , `https://gitlab.com/${ owner } /${ repo } /-/releases/${ encodedGitTag } ` ) ;
168- t . deepEqual ( t . context . log . args [ 0 ] , [ "Uploaded file: %s" , uploaded . file . url ] ) ;
172+ t . deepEqual ( t . context . log . args [ 0 ] , [ "Uploaded file: %s (%s)" , expectedUrl , uploaded . file . url ] ) ;
169173 t . deepEqual ( t . context . log . args [ 1 ] , [ "Published GitLab release: %s" , nextRelease . gitTag ] ) ;
170174 t . true ( gitlabUpload . isDone ( ) ) ;
171175 t . true ( gitlab . isDone ( ) ) ;
@@ -176,14 +180,16 @@ test.serial("Publish a release with generics and external storage provider (http
176180 const owner = "test_user" ;
177181 const repo = "test_repo" ;
178182 const env = { GITLAB_TOKEN : "gitlab_token" } ;
179- const nextRelease = { gitHead : "123" , gitTag : "v1.0.0" , notes : "Test release note body" } ;
183+ const nextRelease = { gitHead : "123" , gitTag : "v1.0.0" , notes : "Test release note body" , version : "1.0.0" } ;
180184 const options = { repositoryUrl : `https://gitlab.com/${ owner } /${ repo } .git` } ;
181185 const encodedRepoId = encodeURIComponent ( `${ owner } /${ repo } ` ) ;
182186 const encodedGitTag = encodeURIComponent ( nextRelease . gitTag ) ;
187+ const encodedVersion = encodeURIComponent ( nextRelease . version ) ;
183188 const uploaded = { file : { url : "https://aws.example.com/bucket/gitlab/file.css" } } ;
184189 const generic = { path : "file.css" , label : "Style package" , target : "generic_package" , status : "hidden" } ;
185190 const assets = [ generic ] ;
186191 const encodedLabel = encodeURIComponent ( generic . label ) ;
192+ const expectedUrl = `https://gitlab.com/api/v4/projects/${ encodedRepoId } /packages/generic/release/${ encodedVersion } /${ encodedLabel } ` ;
187193 const gitlab = authenticate ( env )
188194 . post ( `/projects/${ encodedRepoId } /releases` , {
189195 tag_name : nextRelease . gitTag ,
@@ -192,7 +198,7 @@ test.serial("Publish a release with generics and external storage provider (http
192198 links : [
193199 {
194200 name : "Style package" ,
195- url : uploaded . file . url ,
201+ url : expectedUrl ,
196202 link_type : "package" ,
197203 } ,
198204 ] ,
@@ -201,15 +207,15 @@ test.serial("Publish a release with generics and external storage provider (http
201207 . reply ( 200 ) ;
202208 const gitlabUpload = authenticate ( env )
203209 . put (
204- `/projects/${ encodedRepoId } /packages/generic/release/${ encodedGitTag } /${ encodedLabel } ?status=${ generic . status } &select=package_file` ,
210+ `/projects/${ encodedRepoId } /packages/generic/release/${ encodedVersion } /${ encodedLabel } ?status=${ generic . status } &select=package_file` ,
205211 / \. t e s t \s \{ \} / gm
206212 )
207213 . reply ( 200 , uploaded ) ;
208214
209215 const result = await publish ( { assets } , { env, cwd, options, nextRelease, logger : t . context . logger } ) ;
210216
211217 t . is ( result . url , `https://gitlab.com/${ owner } /${ repo } /-/releases/${ encodedGitTag } ` ) ;
212- t . deepEqual ( t . context . log . args [ 0 ] , [ "Uploaded file: %s" , uploaded . file . url ] ) ;
218+ t . deepEqual ( t . context . log . args [ 0 ] , [ "Uploaded file: %s (%s)" , expectedUrl , uploaded . file . url ] ) ;
213219 t . deepEqual ( t . context . log . args [ 1 ] , [ "Published GitLab release: %s" , nextRelease . gitTag ] ) ;
214220 t . true ( gitlabUpload . isDone ( ) ) ;
215221 t . true ( gitlab . isDone ( ) ) ;
@@ -220,14 +226,16 @@ test.serial("Publish a release with generics and external storage provider (ftp)
220226 const owner = "test_user" ;
221227 const repo = "test_repo" ;
222228 const env = { GITLAB_TOKEN : "gitlab_token" } ;
223- const nextRelease = { gitHead : "123" , gitTag : "v1.0.0" , notes : "Test release note body" } ;
229+ const nextRelease = { gitHead : "123" , gitTag : "v1.0.0" , notes : "Test release note body" , version : "1.0.0" } ;
224230 const options = { repositoryUrl : `https://gitlab.com/${ owner } /${ repo } .git` } ;
225231 const encodedRepoId = encodeURIComponent ( `${ owner } /${ repo } ` ) ;
226232 const encodedGitTag = encodeURIComponent ( nextRelease . gitTag ) ;
233+ const encodedVersion = encodeURIComponent ( nextRelease . version ) ;
227234 const uploaded = { file : { url : "ftp://drive.example.com/gitlab/file.css" } } ;
228235 const generic = { path : "file.css" , label : "Style package" , target : "generic_package" , status : "hidden" } ;
229236 const assets = [ generic ] ;
230237 const encodedLabel = encodeURIComponent ( generic . label ) ;
238+ const expectedUrl = `https://gitlab.com/api/v4/projects/${ encodedRepoId } /packages/generic/release/${ encodedVersion } /${ encodedLabel } ` ;
231239 const gitlab = authenticate ( env )
232240 . post ( `/projects/${ encodedRepoId } /releases` , {
233241 tag_name : nextRelease . gitTag ,
@@ -236,7 +244,7 @@ test.serial("Publish a release with generics and external storage provider (ftp)
236244 links : [
237245 {
238246 name : "Style package" ,
239- url : uploaded . file . url ,
247+ url : expectedUrl ,
240248 link_type : "package" ,
241249 } ,
242250 ] ,
@@ -245,15 +253,15 @@ test.serial("Publish a release with generics and external storage provider (ftp)
245253 . reply ( 200 ) ;
246254 const gitlabUpload = authenticate ( env )
247255 . put (
248- `/projects/${ encodedRepoId } /packages/generic/release/${ encodedGitTag } /${ encodedLabel } ?status=${ generic . status } &select=package_file` ,
256+ `/projects/${ encodedRepoId } /packages/generic/release/${ encodedVersion } /${ encodedLabel } ?status=${ generic . status } &select=package_file` ,
249257 / \. t e s t \s \{ \} / gm
250258 )
251259 . reply ( 200 , uploaded ) ;
252260
253261 const result = await publish ( { assets } , { env, cwd, options, nextRelease, logger : t . context . logger } ) ;
254262
255263 t . is ( result . url , `https://gitlab.com/${ owner } /${ repo } /-/releases/${ encodedGitTag } ` ) ;
256- t . deepEqual ( t . context . log . args [ 0 ] , [ "Uploaded file: %s" , uploaded . file . url ] ) ;
264+ t . deepEqual ( t . context . log . args [ 0 ] , [ "Uploaded file: %s (%s)" , expectedUrl , uploaded . file . url ] ) ;
257265 t . deepEqual ( t . context . log . args [ 1 ] , [ "Published GitLab release: %s" , nextRelease . gitTag ] ) ;
258266 t . true ( gitlabUpload . isDone ( ) ) ;
259267 t . true ( gitlab . isDone ( ) ) ;
0 commit comments