@@ -134,6 +134,61 @@ t.test('unpublish specific version', async t => {
134
134
t . ok ( ret , 'foo was unpublished' )
135
135
} )
136
136
137
+ t . test ( 'unpublishing from a custom registry' , async t => {
138
+ const opt = {
139
+ registry : 'https://artifactory.example.com/api/npm/npm-snapshots/' ,
140
+ }
141
+ const reg = opt . registry
142
+ const doc = {
143
+ _id : 'foo' ,
144
+ _rev : REV ,
145
+ _revisions : [ 1 , 2 , 3 ] ,
146
+ _attachments : [ 1 , 2 , 3 ] ,
147
+ name : 'foo' ,
148
+ 'dist-tags' : {
149
+ latest : '1.0.1' ,
150
+ } ,
151
+ versions : {
152
+ '1.0.0' : {
153
+ name : 'foo' ,
154
+ dist : {
155
+ tarball : `${ reg } /foo/-/foo-1.0.0.tgz` ,
156
+ } ,
157
+ } ,
158
+ '1.0.1' : {
159
+ name : 'foo' ,
160
+ dist : {
161
+ tarball : `${ reg } /foo/-/foo-1.0.1.tgz` ,
162
+ } ,
163
+ } ,
164
+ } ,
165
+ }
166
+ const postEdit = {
167
+ _id : 'foo' ,
168
+ _rev : REV ,
169
+ name : 'foo' ,
170
+ 'dist-tags' : {
171
+ latest : '1.0.0' ,
172
+ } ,
173
+ versions : {
174
+ '1.0.0' : {
175
+ name : 'foo' ,
176
+ dist : {
177
+ tarball : `${ reg } /foo/-/foo-1.0.0.tgz` ,
178
+ } ,
179
+ } ,
180
+ } ,
181
+ }
182
+
183
+ const srv = tnock ( t , reg )
184
+ srv . get ( '/foo?write=true' ) . reply ( 200 , doc )
185
+ srv . put ( `/foo/-rev/${ REV } ` , postEdit ) . reply ( 200 )
186
+ srv . get ( '/foo?write=true' ) . reply ( 200 , postEdit )
187
+ srv . delete ( `/foo/-/foo-1.0.1.tgz/-rev/${ REV } ` ) . reply ( 200 )
188
+ const ret = await unpub ( '[email protected] ' , opt )
189
+ t . ok ( ret , 'foo was unpublished' )
190
+ } )
191
+
137
192
t . test ( '404 considered a success' , async t => {
138
193
const srv = tnock ( t , REG )
139
194
srv . get ( '/foo?write=true' ) . reply ( 404 )
0 commit comments