11const assert = require ( 'assert' ) ;
2+ const {
3+ CreateBucketCommand,
4+ GetBucketLoggingCommand,
5+ PutBucketLoggingCommand,
6+ } = require ( '@aws-sdk/client-s3' ) ;
27
38const withV4 = require ( '../support/withV4' ) ;
49const BucketUtility = require ( '../../lib/utility/bucket-util' ) ;
@@ -20,81 +25,83 @@ describe('GET bucket logging', () => {
2025
2126 afterEach ( done => {
2227 process . stdout . write ( 'Deleting buckets\n' ) ;
23- bucketUtil . deleteOne ( bucketName ) . then ( ( ) => bucketUtil . deleteOne ( targetBucket ) ) . then ( ( ) => done ( ) )
24- . catch ( err => {
25- if ( err && err . code !== 'NoSuchBucket' ) {
26- return done ( err ) ;
27- }
28- return done ( ) ;
29- } ) ;
28+ bucketUtil . deleteOne ( bucketName )
29+ . then ( ( ) => bucketUtil . deleteOne ( targetBucket ) )
30+ . then ( ( ) => done ( ) )
31+ . catch ( err => {
32+ if ( err && err . name !== 'NoSuchBucket' ) {
33+ return done ( err ) ;
34+ }
35+ return done ( ) ;
36+ } ) ;
3037 } ) ;
3138
3239 describe ( 'without existing bucket' , ( ) => {
3340 it ( 'should return NoSuchBucket' , done => {
34- s3 . getBucketLogging ( { Bucket : bucketName } , err => {
35- assert ( err ) ;
36- assert . strictEqual ( err . code , 'NoSuchBucket' ) ;
37- assert . strictEqual ( err . statusCode , 404 ) ;
38- return done ( ) ;
39- } ) ;
41+ s3 . send ( new GetBucketLoggingCommand ( { Bucket : bucketName } ) )
42+ . then ( ( ) => {
43+ done ( new Error ( 'Expected error but succeeded' ) ) ;
44+ } )
45+ . catch ( err => {
46+ assert ( err ) ;
47+ assert . strictEqual ( err . name , 'NoSuchBucket' ) ;
48+ assert . strictEqual ( err . $metadata . httpStatusCode , 404 ) ;
49+ done ( ) ;
50+ } ) ;
4051 } ) ;
4152 } ) ;
4253
4354 describe ( 'on bucket without logging configuration' , ( ) => {
4455 before ( done => {
4556 process . stdout . write ( 'Creating bucket without logging\n' ) ;
46- s3 . createBucket ( { Bucket : bucketName } , err => {
47- if ( err ) {
57+ s3 . send ( new CreateBucketCommand ( { Bucket : bucketName } ) )
58+ . then ( ( ) => done ( ) )
59+ . catch ( err => {
4860 process . stdout . write ( 'error creating bucket' , err ) ;
49- return done ( err ) ;
50- }
51- return done ( ) ;
52- } ) ;
61+ done ( err ) ;
62+ } ) ;
5363 } ) ;
5464
5565 it ( 'should return empty BucketLoggingStatus' , done => {
56- s3 . getBucketLogging ( { Bucket : bucketName } , ( err , data ) => {
57- assert . strictEqual ( err , null ,
58- `Found unexpected err ${ err } ` ) ;
59- // When no logging is configured, AWS returns empty object
60- assert ( data ) ;
61- assert . strictEqual ( Object . keys ( data ) . length , 0 , 'Expected data to have no keys' ) ;
62- return done ( ) ;
63- } ) ;
66+ s3 . send ( new GetBucketLoggingCommand ( { Bucket : bucketName } ) )
67+ . then ( data => {
68+ // When no logging is configured, AWS returns empty object
69+ assert ( data ) ;
70+ assert . strictEqual ( Object . keys ( data ) . length , 1 , 'Expected data to have only $metadata key' ) ;
71+ assert ( data . $metadata ) ;
72+ done ( ) ;
73+ } )
74+ . catch ( err => {
75+ done ( err ) ;
76+ } ) ;
6477 } ) ;
6578 } ) ;
6679
6780 describe ( 'with existing logging configuration' , ( ) => {
6881 before ( done => {
6982 process . stdout . write ( 'Creating buckets and setting logging\n' ) ;
70- return s3 . createBucket ( { Bucket : bucketName } , err => {
71- if ( err ) {
72- return done ( err ) ;
73- }
74- return s3 . createBucket ( { Bucket : targetBucket } , err => {
75- if ( err ) {
76- return done ( err ) ;
77- }
78- return s3 . putBucketLogging ( {
79- Bucket : bucketName ,
80- BucketLoggingStatus : validLoggingConfig ,
81- } , done ) ;
82- } ) ;
83- } ) ;
83+ s3 . send ( new CreateBucketCommand ( { Bucket : bucketName } ) )
84+ . then ( ( ) => s3 . send ( new CreateBucketCommand ( { Bucket : targetBucket } ) ) )
85+ . then ( ( ) => s3 . send ( new PutBucketLoggingCommand ( {
86+ Bucket : bucketName ,
87+ BucketLoggingStatus : validLoggingConfig ,
88+ } ) ) )
89+ . then ( ( ) => done ( ) )
90+ . catch ( done ) ;
8491 } ) ;
8592
8693 it ( 'should return bucket logging configuration successfully' , done => {
87- s3 . getBucketLogging ( { Bucket : bucketName } , ( err , data ) => {
88- assert . strictEqual ( err , null ,
89- `Found unexpected err ${ err } ` ) ;
90- assert ( data . LoggingEnabled ) ;
91- assert . strictEqual ( data . LoggingEnabled . TargetBucket ,
92- targetBucket ) ;
93- assert . strictEqual ( data . LoggingEnabled . TargetPrefix , 'logs/' ) ;
94- return done ( ) ;
95- } ) ;
94+ s3 . send ( new GetBucketLoggingCommand ( { Bucket : bucketName } ) )
95+ . then ( data => {
96+ assert ( data . LoggingEnabled ) ;
97+ assert . strictEqual ( data . LoggingEnabled . TargetBucket , targetBucket ) ;
98+ assert . strictEqual ( data . LoggingEnabled . TargetPrefix , 'logs/' ) ;
99+ done ( ) ;
100+ } )
101+ . catch ( err => {
102+ done ( err ) ;
103+ } ) ;
96104 } ) ;
97105 } ) ;
98106 } ) ;
99107} ) ;
100-
0 commit comments