@@ -126,6 +126,36 @@ describe('CRR', function () {
126
126
) ,
127
127
] , done ) ) ;
128
128
129
+ it ( 'should not replicate hard deletes' , done => async . waterfall ( [
130
+ next => srcUtil . putObject (
131
+ srcBucket ,
132
+ key ,
133
+ Buffer . alloc ( 1 ) ,
134
+ ( err , data ) => next ( err , data . VersionId ) ,
135
+ ) ,
136
+ ( versionID , next ) => srcUtil . compareObjectsCRR (
137
+ srcBucket ,
138
+ destUtil ,
139
+ destBucket ,
140
+ key ,
141
+ undefined ,
142
+ err => next ( err , versionID ) ,
143
+ ) ,
144
+ ( versionID , next ) => srcUtil . deleteObject (
145
+ srcBucket ,
146
+ key ,
147
+ versionID ,
148
+ err => next ( err , versionID ) ,
149
+ ) ,
150
+ ( versionID , next ) => setTimeout ( ( ) => next ( null , versionID ) , 30000 ) ,
151
+ ( versionID , next ) => destUtil . getHeadObject (
152
+ destBucket ,
153
+ key ,
154
+ versionID ,
155
+ next ,
156
+ ) ,
157
+ ] , done ) ) ;
158
+
129
159
it ( 'should replicate object tags' , done => async . series ( [
130
160
next => srcUtil . putObject (
131
161
srcBucket ,
@@ -292,4 +322,33 @@ describe('CRR Active-Active', function () {
292
322
next ,
293
323
) ,
294
324
] , done ) ) ;
325
+
326
+ it ( 'should replicate ACLs to source bucket when they get updated on the destination bucket' , done => async . series ( [
327
+ next => srcUtil . putObject (
328
+ srcBucket ,
329
+ key ,
330
+ Buffer . alloc ( 1 ) ,
331
+ next ,
332
+ ) ,
333
+ next => srcUtil . compareObjectsCRR (
334
+ srcBucket ,
335
+ destUtil ,
336
+ destBucket ,
337
+ key ,
338
+ undefined ,
339
+ next ,
340
+ ) ,
341
+ next => destUtil . putObjectACL (
342
+ destBucket ,
343
+ key ,
344
+ next ,
345
+ ) ,
346
+ next => srcUtil . compareACLsCRR (
347
+ srcBucket ,
348
+ destUtil ,
349
+ destBucket ,
350
+ key ,
351
+ next ,
352
+ ) ,
353
+ ] , done ) ) ;
295
354
} ) ;
0 commit comments