Skip to content

Commit 420114d

Browse files
Aws Sdk V3 migration
Last adjustements following tests run against cloudserver and Zenko CI Update tests for server access log file to use sdk v2 for now ISSUE: CLDSRV-819
1 parent 7622457 commit 420114d

File tree

15 files changed

+242
-261
lines changed

15 files changed

+242
-261
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"@aws-sdk/client-iam": "^3.930.0",
2323
"@aws-sdk/client-s3": "^3.908.0",
2424
"@aws-sdk/client-sts": "^3.930.0",
25+
"aws-sdk": "^2.1692.0",
2526
"@aws-sdk/credential-providers": "^3.864.0",
2627
"@aws-sdk/middleware-retry": "^3.374.0",
2728
"@aws-sdk/protocol-http": "^3.374.0",

tests/functional/aws-node-sdk/lib/utility/versioning-util.js

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,13 @@ function _deleteVersionList(versionList, bucket, callback) {
2828
return s3Client.send(new DeleteObjectsCommand(params)).then(() => callback()).catch(err => callback(err));
2929
}
3030

31-
function checkOneVersion(s3, bucket, versionId, callback) {
32-
return s3Client.send(new ListObjectVersionsCommand({ Bucket: bucket })).then(data => {
33-
assert.strictEqual(data.Versions.length, 1);
34-
if (versionId) {
35-
assert.strictEqual(data.Versions[0].VersionId, versionId);
36-
}
37-
assert.strictEqual(data.DeleteMarkers.length, 0);
38-
callback();
39-
}).catch(err => callback(err));
31+
async function checkOneVersion(s3, bucket, versionId) {
32+
const data = await s3.send(new ListObjectVersionsCommand({ Bucket: bucket }));
33+
assert.strictEqual(data.Versions.length, 1);
34+
if (versionId) {
35+
assert.strictEqual(data.Versions[0].VersionId, versionId);
36+
}
37+
assert.strictEqual((data.DeleteMarkers || []).length, 0);
4038
}
4139

4240
function removeAllVersions(params, callback) {
@@ -106,7 +104,11 @@ function enableVersioningThenPutObject(bucket, object, callback) {
106104
function createDualNullVersion(s3, bucketName, keyName, cb) {
107105
async.waterfall([
108106
// put null version
109-
next => s3Client.send(new PutObjectCommand({ Bucket: bucketName, Key: keyName, Body: null })).then(() =>
107+
next => s3Client.send(new PutObjectCommand({
108+
Bucket: bucketName,
109+
Key: keyName,
110+
Body: Buffer.from(''),
111+
})).then(() =>
110112
next()).catch(err => next(err)),
111113
next => enableVersioning(bucketName, err => next(err)),
112114
// should store null version as separate version before

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ const validLoggingConfig = {
2121
function cleanUp(bucketUtil, cb) {
2222
Promise.all([
2323
bucketUtil.deleteOne(bucketName).catch(err => {
24-
if (err && err.code !== 'NoSuchBucket') {
24+
if (err && err.name !== 'NoSuchBucket') {
2525
throw err;
2626
}
2727
}),
2828
bucketUtil.deleteOne(targetBucket).catch(err => {
29-
if (err && err.code !== 'NoSuchBucket') {
29+
if (err && err.name !== 'NoSuchBucket') {
3030
throw err;
3131
}
3232
}),

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ describeSkipAWS('GET bucket location ', () => {
7575
after(() => {
7676
process.stdout.write('Deleting bucket\n');
7777
return bucketUtil.deleteOne(bucketName)
78-
.catch(err => {
79-
process.stdout.write(`Error in after: ${err}\n`);
80-
throw err;
81-
});
78+
.catch(err => {
79+
process.stdout.write(`Error in after: ${err}\n`);
80+
throw err;
81+
});
8282
});
8383

8484
it('should return request endpoint as location', async () => {

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

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,6 @@ describe('aws-sdk test put bucket lifecycle', () => {
506506
try {
507507
await s3.send(new PutBucketLifecycleConfigurationCommand(params));
508508
} catch (err) {
509-
// Feature not implemented in CloudServer - skip test
510509
if (err.name === 'NotImplemented') {
511510
this.skip();
512511
}
@@ -527,7 +526,6 @@ describe('aws-sdk test put bucket lifecycle', () => {
527526
await s3.send(new PutBucketLifecycleConfigurationCommand(params));
528527
throw new Error('Expected error');
529528
} catch (err) {
530-
// Accept either NotImplemented or InvalidRequest depending on implementation status
531529
if (err.name === 'NotImplemented') {
532530
// CloudServer returns NotImplemented for NoncurrentVersionTransitions
533531
assert(err.name === 'NotImplemented');
@@ -551,7 +549,6 @@ describe('aws-sdk test put bucket lifecycle', () => {
551549
await s3.send(new PutBucketLifecycleConfigurationCommand(params));
552550
throw new Error('Expected MalformedXML error');
553551
} catch (err) {
554-
// Accept either NotImplemented or MalformedXML depending on implementation status
555552
assert(err.name === 'MalformedXML' || err.name === 'NotImplemented',
556553
`Expected MalformedXML or NotImplemented, got ${err.name}`);
557554
}
@@ -567,7 +564,6 @@ describe('aws-sdk test put bucket lifecycle', () => {
567564
await s3.send(new PutBucketLifecycleConfigurationCommand(params));
568565
throw new Error('Expected MalformedXML error');
569566
} catch (err) {
570-
// Accept either NotImplemented or MalformedXML depending on implementation status
571567
assert(err.name === 'MalformedXML' || err.name === 'NotImplemented',
572568
`Expected MalformedXML or NotImplemented, got ${err.name}`);
573569
}
@@ -583,7 +579,6 @@ describe('aws-sdk test put bucket lifecycle', () => {
583579
await s3.send(new PutBucketLifecycleConfigurationCommand(params));
584580
throw new Error('Expected error');
585581
} catch (err) {
586-
// Accept either NotImplemented or InvalidArgument depending on implementation status
587582
assert(err.name === 'InvalidArgument' || err.name === 'NotImplemented',
588583
`Expected InvalidArgument or NotImplemented, got ${err.name}`);
589584
if (err.name === 'InvalidArgument') {
@@ -603,7 +598,6 @@ describe('aws-sdk test put bucket lifecycle', () => {
603598
await s3.send(new PutBucketLifecycleConfigurationCommand(params));
604599
throw new Error('Expected error');
605600
} catch (err) {
606-
// Accept either NotImplemented or MalformedXML depending on implementation status
607601
assert(err.name === 'MalformedXML' || err.name === 'NotImplemented',
608602
`Expected MalformedXML or NotImplemented, got ${err.name}`);
609603
}
@@ -618,7 +612,6 @@ describe('aws-sdk test put bucket lifecycle', () => {
618612
await s3.send(new PutBucketLifecycleConfigurationCommand(params));
619613
throw new Error('Expected error');
620614
} catch (err) {
621-
// Accept either NotImplemented or MalformedXML depending on implementation status
622615
assert(err.name === 'MalformedXML' || err.name === 'NotImplemented',
623616
`Expected MalformedXML or NotImplemented, got ${err.name}`);
624617
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ const itSkipIfAWS = process.env.AWS_ON_AIR ? it.skip : it;
4646
function cleanUp(bucketUtil, cb) {
4747
Promise.all([
4848
bucketUtil.deleteOne(bucketName).catch(err => {
49-
if (err && err.code !== 'NoSuchBucket') {
49+
if (err && err.name !== 'NoSuchBucket') {
5050
throw err;
5151
}
5252
}),
5353
bucketUtil.deleteOne(targetBucket).catch(err => {
54-
if (err && err.code !== 'NoSuchBucket') {
54+
if (err && err.name !== 'NoSuchBucket') {
5555
throw err;
5656
}
5757
}),

tests/functional/aws-node-sdk/test/multipleBackend/acl/aclAwsVersioning.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,7 @@ function getObjectAndAssertAcl(s3, params, cb) {
143143
.then(data => {
144144
// eslint-disable-next-line no-unused-vars
145145
const {$metadata, ...aclData} = data;
146-
// eslint-disable-next-line no-param-reassign
147-
data = aclData;
148-
assert.deepEqual(data, expectedResult);
146+
assert.deepEqual(aclData, expectedResult);
149147
cb();
150148
})
151149
.catch(cb);

tests/functional/aws-node-sdk/test/multipleBackend/objectPutCopyPart/objectPutCopyPartGcp.js

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -267,21 +267,21 @@ describeSkipIfNotMultipleOrCeph('Put Copy Part to GCP', function describeFn() {
267267
UploadId: this.currentTest.uploadIdAWS,
268268
};
269269
async.waterfall([
270-
next => {
271-
s3.send(new AbortMultipartUploadCommand(paramsGcp))
272-
.then(() => next())
273-
.catch(next);
274-
},
275-
next => {
276-
s3.send(new AbortMultipartUploadCommand(paramsMem))
277-
.then(() => next())
278-
.catch(next);
279-
},
280-
next => {
281-
s3.send(new AbortMultipartUploadCommand(paramsAWS))
282-
.then(() => next())
283-
.catch(next);
284-
},
270+
next => {
271+
s3.send(new AbortMultipartUploadCommand(paramsGcp))
272+
.then(() => next())
273+
.catch(next);
274+
},
275+
next => {
276+
s3.send(new AbortMultipartUploadCommand(paramsMem))
277+
.then(() => next())
278+
.catch(next);
279+
},
280+
next => {
281+
s3.send(new AbortMultipartUploadCommand(paramsAWS))
282+
.then(() => next())
283+
.catch(next);
284+
},
285285
], done);
286286
});
287287

tests/functional/aws-node-sdk/test/multipleBackend/utils.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,6 @@ utils.putToAwsBackend = (s3, bucket, key, body, callback) => {
276276
};
277277

278278
utils.enableVersioning = (s3, bucket, callback) => {
279-
// Support both callback and promise patterns
280279
const promise = s3.send(new PutBucketVersioningCommand({
281280
Bucket: bucket,
282281
VersioningConfiguration: versioningEnabled
@@ -289,7 +288,6 @@ utils.enableVersioning = (s3, bucket, callback) => {
289288
};
290289

291290
utils.suspendVersioning = (s3, bucket, callback) => {
292-
// Support both callback and promise patterns
293291
const promise = s3.send(new PutBucketVersioningCommand({
294292
Bucket: bucket,
295293
VersioningConfiguration: versioningSuspended
@@ -305,7 +303,6 @@ utils.mapToAwsPuts = async (s3, bucket, key, dataArray, callback) => {
305303
try {
306304
const results = [];
307305
for (const data of dataArray) {
308-
// Don't pass callback to putToAwsBackend - we need the version ID from the promise
309306
const result = await utils.putToAwsBackend(s3, bucket, key, data);
310307
const versionId = result.VersionId;
311308
results.push(versionId);

tests/functional/aws-node-sdk/test/object/bigMpu.js

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,12 @@ describe('large mpu', function tester() {
103103
})
104104
.catch(err => next(err));
105105
},
106-
next => {
107-
return timesLimit(partCount, 20, (n, cb) =>
108-
uploadPart(n, uploadId, s3, cb), err => {
109-
if (err) {
110-
process.stdout.write(`Error in timesLimit: ${err}\n`);
111-
}
112-
return next(err);
113-
});
114-
},
106+
next => timesLimit(partCount, 20, (n, cb) => uploadPart(n, uploadId, s3, cb), err => {
107+
if (err) {
108+
process.stdout.write(`Error in timesLimit: ${err}\n`);
109+
}
110+
return next(err);
111+
}),
115112
next => {
116113
const parts = [];
117114
for (let i = 0; i < partCount; i++) {

0 commit comments

Comments
 (0)