@@ -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