@@ -233,6 +233,40 @@ testsToRun.forEach(test => {
233233 ] , done ) ;
234234 } ) ;
235235 } ) ;
236+
237+ describe ( 'with versioning suspended' , ( ) => {
238+ beforeEach ( done => cloudServer . createVersionedBucket ( srcBucket , done ) ) ;
239+
240+ it ( 'should transition an object' , done => {
241+ const key = `${ prefix } ver-suspended-master` ;
242+ cloudServer . setKey ( key ) ;
243+ cloud . setKey ( `${ srcBucket } /${ key } ` ) ;
244+ let versionId = null ;
245+ series ( [
246+ next => cloudServer . putBucketVersioningConfiguration ( 'Suspended' , next ) ,
247+ next => cloudServer . putObject ( Buffer . from ( key ) , ( err , data ) => {
248+ if ( data ) {
249+ versionId = data . VersionId ;
250+ }
251+ next ( err ) ;
252+ } ) ,
253+ next => checkTransition ( toLoc , cloudServer , cloud , versionId , next ) ,
254+ next => checkRestoration ( toLoc , cloudServer , versionId , next ) ,
255+ ] , done ) ;
256+ } ) ;
257+
258+ it ( 'should transition non-versioned object' , done => {
259+ const key = `${ prefix } ver-suspended-master` ;
260+ cloudServer . setKey ( key ) ;
261+ cloud . setKey ( `${ srcBucket } /${ key } ` ) ;
262+ series ( [
263+ next => cloudServer . putObject ( Buffer . from ( key ) , next ) ,
264+ next => cloudServer . putBucketVersioningConfiguration ( 'Suspended' , next ) ,
265+ next => checkTransition ( toLoc , cloudServer , cloud , null , next ) ,
266+ next => checkRestoration ( toLoc , cloudServer , null , next ) ,
267+ ] , done ) ;
268+ } ) ;
269+ } ) ;
236270 }
237271 } ) ;
238272} ) ;
0 commit comments