11const assert = require ( 'assert' ) ;
22const async = require ( 'async' ) ;
3+ const {
4+ CreateBucketCommand,
5+ PutObjectCommand,
6+ GetObjectAclCommand,
7+ PutObjectAclCommand,
8+ } = require ( '@aws-sdk/client-s3' ) ;
9+
310const withV4 = require ( '../../support/withV4' ) ;
411const BucketUtility = require ( '../../../lib/utility/bucket-util' ) ;
512const constants = require ( '../../../../../../constants' ) ;
@@ -56,27 +63,47 @@ const testAcp = new _AccessControlPolicy(ownerParams);
5663testAcp . addGrantee ( 'Group' , constants . publicId , 'READ' ) ;
5764
5865function putObjectAcl ( s3 , key , versionId , acp , cb ) {
59- s3 . putObjectAcl ( { Bucket : bucket , Key : key , AccessControlPolicy : acp ,
60- VersionId : versionId } , err => {
61- assert . strictEqual ( err , null , 'Expected success ' +
62- `putting object acl, got error ${ err } ` ) ;
63- cb ( ) ;
64- } ) ;
66+ const params = {
67+ Bucket : bucket ,
68+ Key : key ,
69+ AccessControlPolicy : acp ,
70+ } ;
71+ if ( versionId ) {
72+ params . VersionId = versionId ;
73+ }
74+
75+ const command = new PutObjectAclCommand ( params ) ;
76+ s3 . send ( command )
77+ . then ( ( ) => {
78+ cb ( ) ;
79+ } )
80+ . catch ( err => {
81+ assert . strictEqual ( err , null , 'Expected success ' +
82+ `putting object acl, got error ${ err } ` ) ;
83+ } ) ;
6584}
6685
6786function putObjectAndAcl ( s3 , key , body , acp , cb ) {
68- s3 . putObject ( { Bucket : bucket , Key : key , Body : body } ,
69- ( err , putData ) => {
70- assert . strictEqual ( err , null , 'Expected success ' +
71- `putting object, got error ${ err } ` ) ;
72- putObjectAcl ( s3 , key , putData . VersionId , acp , ( ) =>
73- cb ( null , putData . VersionId ) ) ;
87+ const command = new PutObjectCommand ( {
88+ Bucket : bucket ,
89+ Key : key ,
90+ Body : body ,
7491 } ) ;
92+
93+ s3 . send ( command )
94+ . then ( putData => {
95+ putObjectAcl ( s3 , key , putData . VersionId , acp , ( ) =>
96+ cb ( null , putData . VersionId ) ) ;
97+ } )
98+ . catch ( err => {
99+ assert . strictEqual ( err , null , 'Expected success ' +
100+ `putting object, got error ${ err } ` ) ;
101+ } ) ;
75102}
76103
77104/** putVersionsWithAclToAws - enable versioning and put multiple versions
78105 * followed by putting object acl
79- * @param {AWS.S3 } s3 - aws node sdk s3 instance
106+ * @param {S3Client } s3 - aws sdk v3 s3 client instance
80107 * @param {string } key - string
81108 * @param {(string[]|Buffer[]) } data - array of data to put as objects
82109 * @param {_AccessControlPolicy[] } acps - array of _AccessControlPolicy instance
@@ -103,19 +130,30 @@ function getObjectAndAssertAcl(s3, params, cb) {
103130 = params ;
104131 getAndAssertResult ( s3 , { bucket, key, versionId, expectedVersionId, body } ,
105132 ( ) => {
106- s3 . getObjectAcl ( { Bucket : bucket , Key : key , VersionId : versionId } ,
107- ( err , data ) => {
108- assert . strictEqual ( err , null , 'Expected success ' +
109- `getting object acl, got error ${ err } ` ) ;
133+ const aclParams = {
134+ Bucket : bucket ,
135+ Key : key ,
136+ } ;
137+ if ( versionId ) {
138+ aclParams . VersionId = versionId ;
139+ }
140+
141+ const command = new GetObjectAclCommand ( aclParams ) ;
142+ s3 . send ( command )
143+ . then ( data => {
110144 assert . deepEqual ( data , expectedResult ) ;
111145 cb ( ) ;
146+ } )
147+ . catch ( err => {
148+ assert . strictEqual ( err , null , 'Expected success ' +
149+ `getting object acl, got error ${ err } ` ) ;
112150 } ) ;
113151 } ) ;
114152}
115153
116154/** getObjectsAndAssertAcls - enable versioning and put multiple versions
117155 * followed by putting object acl
118- * @param {AWS.S3 } s3 - aws node sdk s3 instance
156+ * @param {S3Client } s3 - aws sdk v3 s3 client instance
119157 * @param {string } key - string
120158 * @param {string[] } versionIds - array of versionIds to use to get objs & acl
121159 * @param {(string[]|Buffer[]) } expectedData - array of data expected from gets
@@ -150,15 +188,19 @@ function testSuite() {
150188 process . stdout . write ( 'Creating bucket' ) ;
151189 bucketUtil = new BucketUtility ( 'default' , sigCfg ) ;
152190 s3 = bucketUtil . s3 ;
153- return s3 . createBucket ( { Bucket : bucket ,
191+
192+ const command = new CreateBucketCommand ( {
193+ Bucket : bucket ,
154194 CreateBucketConfiguration : {
155195 LocationConstraint : awsLocation ,
156196 } ,
157- } ) . promise ( )
158- . catch ( err => {
159- process . stdout . write ( `Error creating bucket: ${ err } \n` ) ;
160- throw err ;
161197 } ) ;
198+
199+ return s3 . send ( command )
200+ . catch ( err => {
201+ process . stdout . write ( `Error creating bucket: ${ err } \n` ) ;
202+ throw err ;
203+ } ) ;
162204 } ) ;
163205
164206 afterEach ( ( ) => {
0 commit comments