Skip to content

Commit 58f8c81

Browse files
committed
versionning utility migration
Issue: CLDSRV-724
1 parent 992c178 commit 58f8c81

File tree

1 file changed

+40
-34
lines changed

1 file changed

+40
-34
lines changed

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

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
const async = require('async');
22
const assert = require('assert');
3-
const { S3 } = require('aws-sdk');
3+
const { S3Client,
4+
ListObjectVersionsCommand,
5+
GetObjectCommand,
6+
DeleteObjectsCommand,
7+
PutBucketVersioningCommand,
8+
PutObjectCommand,
9+
DeleteObjectCommand } = require('@aws-sdk/client-s3');
410

511
const getConfig = require('../../test/support/config');
6-
const config = getConfig('default', { signatureVersion: 'v4' });
7-
const s3 = new S3(config);
12+
const config = getConfig('default');
13+
const s3Client = new S3Client(config);
814

915
const versioningEnabled = { Status: 'Enabled' };
1016
const versioningSuspended = { Status: 'Suspended' };
@@ -19,28 +25,25 @@ function _deleteVersionList(versionList, bucket, callback) {
1925
Key: version.Key, VersionId: version.VersionId });
2026
});
2127

22-
return s3.deleteObjects(params, callback);
28+
return s3Client.send(new DeleteObjectsCommand(params)).then(() => callback()).catch(err => callback(err));
2329
}
2430

2531
function checkOneVersion(s3, bucket, versionId, callback) {
26-
return s3.listObjectVersions({ Bucket: bucket },
27-
(err, data) => {
28-
if (err) {
29-
callback(err);
30-
}
32+
return s3Client.send(new ListObjectVersionsCommand({ Bucket: bucket })).then(data => {
3133
assert.strictEqual(data.Versions.length, 1);
3234
if (versionId) {
3335
assert.strictEqual(data.Versions[0].VersionId, versionId);
3436
}
3537
assert.strictEqual(data.DeleteMarkers.length, 0);
3638
callback();
37-
});
39+
}).catch(err => callback(err));
3840
}
3941

4042
function removeAllVersions(params, callback) {
4143
const bucket = params.Bucket;
4244
async.waterfall([
43-
cb => s3.listObjectVersions(params, cb),
45+
cb => s3Client.send(new ListObjectVersionsCommand(params)).then(data =>
46+
cb(null, data)).catch(err => cb(err)),
4447
(data, cb) => _deleteVersionList(data.DeleteMarkers, bucket,
4548
err => cb(err, data)),
4649
(data, cb) => _deleteVersionList(data.Versions, bucket,
@@ -60,25 +63,26 @@ function removeAllVersions(params, callback) {
6063
}
6164

6265
function suspendVersioning(bucket, callback) {
63-
s3.putBucketVersioning({
66+
s3Client.send(new PutBucketVersioningCommand({
6467
Bucket: bucket,
6568
VersioningConfiguration: versioningSuspended,
66-
}, callback);
69+
})).then(() => callback()).catch(err => callback(err));
6770
}
6871

6972
function enableVersioning(bucket, callback) {
70-
s3.putBucketVersioning({
73+
s3Client.send(new PutBucketVersioningCommand({
7174
Bucket: bucket,
7275
VersioningConfiguration: versioningEnabled,
73-
}, callback);
76+
})).then(() => callback()).catch(err => callback(err));
7477
}
7578

7679
function enableVersioningThenPutObject(bucket, object, callback) {
7780
enableVersioning(bucket, err => {
7881
if (err) {
7982
callback(err);
8083
}
81-
s3.putObject({ Bucket: bucket, Key: object }, callback);
84+
s3Client.send(new PutObjectCommand({ Bucket: bucket, Key: object })).then(() =>
85+
callback()).catch(err => callback(err));
8286
});
8387
}
8488

@@ -102,33 +106,35 @@ function enableVersioningThenPutObject(bucket, object, callback) {
102106
function createDualNullVersion(s3, bucketName, keyName, cb) {
103107
async.waterfall([
104108
// put null version
105-
next => s3.putObject({ Bucket: bucketName, Key: keyName },
106-
err => next(err)),
109+
next => s3Client.send(new PutObjectCommand({ Bucket: bucketName, Key: keyName, Body: null })).then(() =>
110+
next()).catch(err => next(err)),
107111
next => enableVersioning(bucketName, err => next(err)),
108112
// should store null version as separate version before
109113
// putting new version
110-
next => s3.putObject({ Bucket: bucketName, Key: keyName },
111-
(err, data) => {
112-
assert.strictEqual(err, null,
113-
'Unexpected err putting new version');
114-
assert(data.VersionId);
115-
next(null, data.VersionId);
116-
}),
114+
next => s3Client.send(new PutObjectCommand({ Bucket: bucketName, Key: keyName })).then(data => {
115+
assert(data.VersionId);
116+
next(null, data.VersionId);
117+
}).catch(err => {
118+
assert.strictEqual(err, null,
119+
'Unexpected err putting new version');
120+
next(err);
121+
}),
117122
// delete version we just created, master version should be updated
118123
// with value of next most recent version: null version previously put
119-
(versionId, next) => s3.deleteObject({
124+
(versionId, next) => s3Client.send(new DeleteObjectCommand({
120125
Bucket: bucketName,
121126
Key: keyName,
122127
VersionId: versionId,
123-
}, err => next(err)),
128+
})).then(() => next()).catch(err => next(err)),
124129
// getting object should return null version now
125-
next => s3.getObject({ Bucket: bucketName, Key: keyName },
126-
(err, data) => {
127-
assert.strictEqual(err, null,
128-
'Unexpected err getting latest version');
129-
assert.strictEqual(data.VersionId, 'null');
130-
next();
131-
}),
130+
next => s3Client.send(new GetObjectCommand({ Bucket: bucketName, Key: keyName })).then(data => {
131+
assert.strictEqual(data.VersionId, 'null');
132+
next();
133+
}).catch(err => {
134+
assert.strictEqual(err, null,
135+
'Unexpected err getting latest version');
136+
next(err);
137+
}),
132138
], err => cb(err));
133139
}
134140

0 commit comments

Comments
 (0)