Skip to content

Commit 2de3555

Browse files
CLDSRV-717: Test lifecycle Transition condition
For S3C Integration that don't support Transition
1 parent 4e8b7f6 commit 2de3555

1 file changed

Lines changed: 54 additions & 19 deletions

File tree

tests/functional/aws-node-sdk/test/bucket/putBucketLifecycle.js

Lines changed: 54 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,9 @@ describe('aws-sdk test put bucket lifecycle', () => {
484484
});
485485

486486
describe('with Transitions', () => {
487+
// Integration for S3C that doesn't support Transitions expects NotImplemented
488+
const isSupported = !!process.env.S3_END_TO_END;
489+
487490
// Get lifecycle request params with Transitions.
488491
function getParams(transitions) {
489492
const rule = {
@@ -505,7 +508,11 @@ describe('aws-sdk test put bucket lifecycle', () => {
505508
}];
506509
const params = getParams(transitions);
507510
s3.putBucketLifecycleConfiguration(params, err => {
508-
assert.ifError(err);
511+
if (isSupported) {
512+
assert.ifError(err);
513+
} else {
514+
assert.strictEqual(err && err.code, 'NotImplemented');
515+
}
509516
done();
510517
});
511518
});
@@ -517,7 +524,11 @@ describe('aws-sdk test put bucket lifecycle', () => {
517524
}];
518525
const params = getParams(transitions);
519526
s3.putBucketLifecycleConfiguration(params, err => {
520-
assert.strictEqual(err.code, 'MalformedXML');
527+
if (isSupported) {
528+
assert.strictEqual(err.code, 'MalformedXML');
529+
} else {
530+
assert.strictEqual(err.code, 'NotImplemented');
531+
}
521532
done();
522533
});
523534
});
@@ -529,9 +540,13 @@ describe('aws-sdk test put bucket lifecycle', () => {
529540
}];
530541
const params = getParams(transitions);
531542
s3.putBucketLifecycleConfiguration(params, err => {
532-
assert.strictEqual(err.code, 'InvalidArgument');
533-
assert.strictEqual(err.message,
534-
"'Days' in Transition action must be nonnegative");
543+
if (isSupported) {
544+
assert.strictEqual(err.code, 'InvalidArgument');
545+
assert.strictEqual(err.message,
546+
"'Days' in Transition action must be nonnegative");
547+
} else {
548+
assert.strictEqual(err.code, 'NotImplemented');
549+
}
535550
done();
536551
});
537552
});
@@ -546,10 +561,14 @@ describe('aws-sdk test put bucket lifecycle', () => {
546561
}];
547562
const params = getParams(transitions);
548563
s3.putBucketLifecycleConfiguration(params, err => {
549-
assert.strictEqual(err.code, 'InvalidRequest');
550-
assert.strictEqual(err.message,
551-
"'StorageClass' must be different for 'Transition' " +
552-
"actions in same 'Rule' with prefix ''");
564+
if (isSupported) {
565+
assert.strictEqual(err.code, 'InvalidRequest');
566+
assert.strictEqual(err.message,
567+
"'StorageClass' must be different for 'Transition' " +
568+
"actions in same 'Rule' with prefix ''");
569+
} else {
570+
assert.strictEqual(err.code, 'NotImplemented');
571+
}
553572
done();
554573
});
555574
});
@@ -562,7 +581,11 @@ describe('aws-sdk test put bucket lifecycle', () => {
562581
}];
563582
const params = getParams(transitions);
564583
s3.putBucketLifecycleConfiguration(params, err => {
565-
assert.ifError(err);
584+
if (isSupported) {
585+
assert.ifError(err);
586+
} else {
587+
assert.strictEqual(err.code, 'NotImplemented');
588+
}
566589
done();
567590
});
568591
});
@@ -577,7 +600,11 @@ describe('aws-sdk test put bucket lifecycle', () => {
577600
}];
578601
const params = getParams(transitions);
579602
s3.putBucketLifecycleConfiguration(params, err => {
580-
assert.strictEqual(err.code, 'MalformedXML');
603+
if (isSupported) {
604+
assert.strictEqual(err.code, 'MalformedXML');
605+
} else {
606+
assert.strictEqual(err.code, 'NotImplemented');
607+
}
581608
done();
582609
});
583610
});
@@ -594,10 +621,14 @@ describe('aws-sdk test put bucket lifecycle', () => {
594621
}];
595622
const params = getParams(transitions);
596623
s3.putBucketLifecycleConfiguration(params, err => {
597-
assert.strictEqual(err.code, 'InvalidRequest');
598-
assert.strictEqual(err.message,
599-
"Found mixed 'Date' and 'Days' based Transition " +
600-
"actions in lifecycle rule for prefix ''");
624+
if (isSupported) {
625+
assert.strictEqual(err.code, 'InvalidRequest');
626+
assert.strictEqual(err.message,
627+
"Found mixed 'Date' and 'Days' based Transition " +
628+
"actions in lifecycle rule for prefix ''");
629+
} else {
630+
assert.strictEqual(err.code, 'NotImplemented');
631+
}
601632
done();
602633
});
603634
});
@@ -612,10 +643,14 @@ describe('aws-sdk test put bucket lifecycle', () => {
612643
const params = getParams(transitions);
613644
params.LifecycleConfiguration.Rules[0].Expiration = { Date: 0 };
614645
s3.putBucketLifecycleConfiguration(params, err => {
615-
assert.strictEqual(err.code, 'InvalidRequest');
616-
assert.strictEqual(err.message,
617-
"Found mixed 'Date' and 'Days' based Expiration and " +
618-
"Transition actions in lifecycle rule for prefix ''");
646+
if (isSupported) {
647+
assert.strictEqual(err.code, 'InvalidRequest');
648+
assert.strictEqual(err.message,
649+
"Found mixed 'Date' and 'Days' based Expiration and " +
650+
"Transition actions in lifecycle rule for prefix ''");
651+
} else {
652+
assert.strictEqual(err.code, 'NotImplemented');
653+
}
619654
done();
620655
});
621656
});

0 commit comments

Comments
 (0)