11const assert = require ( 'assert' ) ;
2- const { S3 } = require ( 'aws-sdk' ) ;
2+ const { S3Client,
3+ CreateBucketCommand,
4+ DeleteBucketCommand,
5+ PutBucketAclCommand,
6+ GetBucketAclCommand } = require ( '@aws-sdk/client-s3' ) ;
37const getConfig = require ( '../support/config' ) ;
48const withV4 = require ( '../support/withV4' ) ;
59const BucketUtility = require ( '../../lib/utility/bucket-util' ) ;
@@ -24,18 +28,16 @@ for (let i = 0; i < 100000; i++) {
2428describe ( 'aws-node-sdk test bucket put acl' , ( ) => {
2529 let s3 ;
2630
27- // setup test
28- before ( done => {
31+ before ( async ( ) => {
2932 const config = getConfig ( 'default' , { signatureVersion : 'v4' } ) ;
30- s3 = new S3 ( config ) ;
31- s3 . createBucket ( { Bucket : bucket } , done ) ;
33+ s3 = new S3Client ( config ) ;
34+ await s3 . send ( new CreateBucketCommand ( { Bucket : bucket } ) ) ;
3235 } ) ;
3336
34- // delete bucket after testing
35- after ( done => s3 . deleteBucket ( { Bucket : bucket } , done ) ) ;
37+ after ( ( ) => s3 . send ( new DeleteBucketCommand ( { Bucket : bucket } ) ) ) ;
3638
3739 const itSkipIfAWS = process . env . AWS_ON_AIR ? it . skip : it ;
38- itSkipIfAWS ( 'should not accept xml body larger than 512 KB' , done => {
40+ itSkipIfAWS ( 'should not accept xml body larger than 512 KB' , async ( ) => {
3941 const params = {
4042 Bucket : bucket ,
4143 AccessControlPolicy : {
@@ -46,16 +48,14 @@ describe('aws-node-sdk test bucket put acl', () => {
4648 } ,
4749 } ,
4850 } ;
49- s3 . putBucketAcl ( params , error => {
50- if ( error ) {
51- assert . strictEqual ( error . statusCode , 400 ) ;
52- assert . strictEqual (
53- error . code , 'InvalidRequest' ) ;
54- done ( ) ;
55- } else {
56- done ( 'accepted xml body larger than 512 KB' ) ;
57- }
58- } ) ;
51+ try {
52+ await s3 . send ( new PutBucketAclCommand ( params ) ) ;
53+ throw new Error ( 'accepted xml body larger than 512 KB' ) ;
54+ } catch ( error ) {
55+ assert . strictEqual ( error . $metadata . httpStatusCode , 400 ) ;
56+ assert . strictEqual (
57+ error . name , 'InvalidRequest' ) ;
58+ }
5959 } ) ;
6060} ) ;
6161
@@ -64,76 +64,63 @@ describe('PUT Bucket ACL', () => {
6464 const bucketUtil = new BucketUtility ( 'default' , sigCfg ) ;
6565 const s3 = bucketUtil . s3 ;
6666
67- beforeEach ( ( ) => {
68- process . stdout . write ( 'About to create bucket' ) ;
69- return bucketUtil . createOne ( bucketName ) . catch ( err => {
70- process . stdout . write ( `Error in beforeEach ${ err } \n` ) ;
71- throw err ;
72- } ) ;
73- } ) ;
67+ beforeEach ( ( ) => bucketUtil . createOne ( bucketName ) ) ;
7468
75- afterEach ( ( ) => {
76- process . stdout . write ( 'About to delete bucket' ) ;
77- return bucketUtil . deleteOne ( bucketName ) . catch ( err => {
78- process . stdout . write ( `Error in afterEach ${ err } \n` ) ;
79- throw err ;
80- } ) ;
81- } ) ;
69+ afterEach ( ( ) => bucketUtil . deleteOne ( bucketName ) ) ;
8270
8371 it ( 'should set multiple ACL permissions with same grantee specified' +
84- 'using email' , done => {
85- s3 . putBucketAcl ( {
72+ 'using email' , async ( ) => {
73+ await s3 . send ( new PutBucketAclCommand ( {
8674 Bucket : bucketName ,
8775887689- } , err => {
90- assert ( ! err ) ;
91- s3 . getBucketAcl ( {
92- Bucket : bucketName ,
93- } , ( err , res ) => {
94- assert ( ! err ) ;
95- // expect both READ and WRITE grants to exist
96- assert . strictEqual ( res . Grants . length , 2 ) ;
97- return done ( ) ;
98- } ) ;
99- } ) ;
77+ } ) ) ;
78+ const res = await s3 . send ( new GetBucketAclCommand ( {
79+ Bucket : bucketName ,
80+ } ) ) ;
81+ assert . strictEqual ( res . Grants . length , 2 ) ;
10082 } ) ;
10183
10284 it ( 'should return InvalidArgument if invalid grantee ' +
103- 'user ID provided in ACL header request' , done => {
104- s3 . putBucketAcl ( {
105- Bucket : bucketName ,
106- GrantRead : 'id=invalidUserID' } , err => {
107- assert . strictEqual ( err . statusCode , 400 ) ;
108- assert . strictEqual ( err . code , 'InvalidArgument' ) ;
109- done ( ) ;
110- } ) ;
85+ 'user ID provided in ACL header request' , async ( ) => {
86+ try {
87+ await s3 . send ( new PutBucketAclCommand ( {
88+ Bucket : bucketName ,
89+ GrantRead : 'id=invalidUserID'
90+ } ) ) ;
91+ throw new Error ( 'Expected InvalidArgument error' ) ;
92+ } catch ( err ) {
93+ assert . strictEqual ( err . $metadata . httpStatusCode , 400 ) ;
94+ assert . strictEqual ( err . name , 'InvalidArgument' ) ;
95+ }
11196 } ) ;
11297
11398 it ( 'should return InvalidArgument if invalid grantee ' +
114- 'user ID provided in ACL request body' , done => {
115- s3 . putBucketAcl ( {
116- Bucket : bucketName ,
117- AccessControlPolicy : {
118- Grants : [
119- {
120- Grantee : {
121- Type : 'CanonicalUser' ,
122- ID : 'invalidUserID' ,
123- } ,
124- Permission : 'WRITE_ACP' ,
125- } ] ,
126- Owner : {
127- DisplayName : 'Bart' ,
128- ID : '79a59df900b949e55d96a1e698fbace' +
129- 'dfd6e09d98eacf8f8d5218e7cd47ef2be' ,
99+ 'user ID provided in ACL request body' , async ( ) => {
100+ try {
101+ await s3 . send ( new PutBucketAclCommand ( {
102+ Bucket : bucketName ,
103+ AccessControlPolicy : {
104+ Grants : [
105+ {
106+ Grantee : {
107+ Type : 'CanonicalUser' ,
108+ ID : 'invalidUserID' ,
109+ } ,
110+ Permission : 'WRITE_ACP' ,
111+ } ] ,
112+ Owner : {
113+ DisplayName : 'Bart' ,
114+ ID : '79a59df900b949e55d96a1e698fbace' +
115+ 'dfd6e09d98eacf8f8d5218e7cd47ef2be' ,
116+ } ,
130117 } ,
131- } ,
132- } , err => {
133- assert . strictEqual ( err . statusCode , 400 ) ;
134- assert . strictEqual ( err . code , 'InvalidArgument' ) ;
135- done ( ) ;
136- } ) ;
118+ } ) ) ;
119+ throw new Error ( 'Expected InvalidArgument error' ) ;
120+ } catch ( err ) {
121+ assert . strictEqual ( err . $metadata . httpStatusCode , 400 ) ;
122+ assert . strictEqual ( err . name , 'InvalidArgument' ) ;
123+ }
137124 } ) ;
138125 } ) ;
139126} ) ;
0 commit comments