Skip to content

Commit 425731c

Browse files
committed
relative tests migration
1 parent 41f4e4c commit 425731c

File tree

7 files changed

+547
-263
lines changed

7 files changed

+547
-263
lines changed

tests/functional/backbeat/bucketIndexing.js

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,30 @@
11
const assert = require('assert');
22
const async = require('async');
3+
const {
4+
CreateBucketCommand,
5+
DeleteBucketCommand,
6+
} = require('@aws-sdk/client-s3');
37

48
const { makeRequest } = require('../../functional/raw-node/utils/makeRequest');
59
const BucketUtility =
610
require('../../functional/aws-node-sdk/lib/utility/bucket-util');
711

812
const ipAddress = process.env.IP ? process.env.IP : '127.0.0.1';
913

10-
const bucketUtil = new BucketUtility('default', { signatureVersion: 'v4' });
14+
const bucketUtil = new BucketUtility('default', {});
1115
const s3 = bucketUtil.s3;
12-
const backbeatAuthCredentials = {
13-
accessKey: s3.config.credentials.accessKeyId,
14-
secretKey: s3.config.credentials.secretAccessKey,
15-
};
16+
17+
let credentials = null;
18+
let backbeatAuthCredentials = null;
19+
20+
async function getCredentials() {
21+
const creds = await s3.config.credentials();
22+
credentials = {
23+
accessKey: creds.accessKeyId,
24+
secretKey: creds.secretAccessKey,
25+
};
26+
return credentials;
27+
}
1628

1729
const TEST_BUCKET = 'bucket-for-bucket-indexing';
1830

@@ -106,18 +118,21 @@ const describeIfNotMongo = process.env.S3METADATA !== 'mongodb' ? describe : des
106118

107119
describe('Indexing Routes', () => {
108120
before(done => {
109-
s3.createBucket({ Bucket: TEST_BUCKET }).promise()
121+
getCredentials()
122+
.then(creds => {
123+
backbeatAuthCredentials = creds;
124+
return s3.send(new CreateBucketCommand({ Bucket: TEST_BUCKET }));
125+
})
110126
.then(() => done())
111127
.catch(err => {
112128
process.stdout.write(`Error creating bucket: ${err}\n`);
113129
done(err);
114130
});
115131
});
116132

117-
after(done => {
118-
bucketUtil.empty(TEST_BUCKET)
119-
.then(() => s3.deleteBucket({ Bucket: TEST_BUCKET }).promise())
120-
.then(() => done());
133+
after(async () => {
134+
await bucketUtil.empty(TEST_BUCKET);
135+
await s3.send(new DeleteBucketCommand({ Bucket: TEST_BUCKET }));
121136
});
122137

123138
it('should reject non-authenticated requests', done => {
@@ -249,3 +264,4 @@ describe('Indexing Routes', () => {
249264
});
250265
});
251266

267+

tests/functional/backbeat/excludedDataStoreName.js

Lines changed: 110 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,130 @@
11
const assert = require('assert');
22
const async = require('async');
3+
const {
4+
CreateBucketCommand,
5+
DeleteBucketCommand,
6+
PutBucketVersioningCommand,
7+
PutObjectCommand,
8+
} = require('@aws-sdk/client-s3');
39
const BucketUtility = require('../aws-node-sdk/lib/utility/bucket-util');
410
const { removeAllVersions } = require('../aws-node-sdk/lib/utility/versioning-util');
511
const { makeBackbeatRequest, updateMetadata } = require('./utils');
612
const { config } = require('../../../lib/Config');
713

814
const testBucket = 'bucket-for-list-lifecycle-current-tests';
915

10-
const bucketUtil = new BucketUtility('default', { signatureVersion: 'v4' });
16+
const bucketUtil = new BucketUtility('default', {});
1117
const s3 = bucketUtil.s3;
12-
const credentials = {
13-
accessKey: s3.config.credentials.accessKeyId,
14-
secretKey: s3.config.credentials.secretAccessKey,
15-
};
1618

17-
// for S3C it is dc-1, in Integration it's node1.scality.com, otherwise us-east-1
18-
const s3Hostname = s3.endpoint.hostname;
19-
const location1 = config.restEndpoints[s3Hostname] || config.restEndpoints.localhost;
20-
const location2 = 'us-east-2';
19+
async function getCredentials() {
20+
const creds = await s3.config.credentials();
21+
console.log('credential retrieved', creds);
22+
return credentials = {
23+
accessKey: creds.accessKeyId,
24+
secretKey: creds.secretAccessKey,
25+
};
26+
}
27+
28+
async function getS3Hostname() {
29+
const s3Hostname = await s3.config.endpoint();
30+
return s3Hostname.hostname;
31+
}
2132

2233
describe('excludedDataStoreName', () => {
2334
const expectedVersions = [];
35+
let credentials;
36+
let s3Hostname;
37+
let location1;
38+
let location2;
2439

2540
before(done => async.series([
26-
next => s3.createBucket({ Bucket: testBucket }, next),
27-
next => s3.putBucketVersioning({
28-
Bucket: testBucket,
29-
VersioningConfiguration: { Status: 'Enabled' },
30-
}, next),
31-
next => s3.putObject({ Bucket: testBucket, Key: 'key0' }, (err, data) => {
32-
expectedVersions.push(data.VersionId);
33-
return next(err);
34-
}),
35-
next => s3.putObject({ Bucket: testBucket, Key: 'key0' }, (err, data) => {
36-
if (err) {
37-
return next(err);
38-
}
39-
const versionId = data.VersionId;
40-
return updateMetadata(
41-
{ bucket: testBucket, objectKey: 'key0', versionId, authCredentials: credentials },
42-
{ dataStoreName: location2 },
43-
next);
44-
}),
45-
next => s3.putObject({ Bucket: testBucket, Key: 'key0' }, (err, data) => {
46-
expectedVersions.push(data.VersionId);
47-
return next(err);
48-
}),
49-
next => s3.putObject({ Bucket: testBucket, Key: 'key0' }, next),
50-
next => s3.putObject({ Bucket: testBucket, Key: 'key1' }, (err, data) => {
51-
if (err) {
52-
return next(err);
53-
}
54-
const versionId = data.VersionId;
55-
return updateMetadata(
56-
{ bucket: testBucket, objectKey: 'key1', versionId, authCredentials: credentials },
57-
{ dataStoreName: location2 },
58-
next);
59-
}),
60-
next => s3.putObject({ Bucket: testBucket, Key: 'key2' }, next),
41+
next => {
42+
getCredentials()
43+
.then(creds => {
44+
credentials = creds;
45+
next();
46+
})
47+
.catch(next);
48+
},
49+
next => {
50+
getS3Hostname()
51+
.then(hostname => {
52+
s3Hostname = hostname;
53+
location1 = config.restEndpoints[s3Hostname] || config.restEndpoints.localhost;
54+
location2 = 'us-east-2';
55+
next();
56+
})
57+
.catch(next);
58+
},
59+
next => {
60+
s3.send(new CreateBucketCommand({ Bucket: testBucket }))
61+
.then(() => next())
62+
.catch(next);
63+
},
64+
next => {
65+
s3.send(new PutBucketVersioningCommand({
66+
Bucket: testBucket,
67+
VersioningConfiguration: { Status: 'Enabled' },
68+
}))
69+
.then(() => next())
70+
.catch(next);
71+
},
72+
next => {
73+
s3.send(new PutObjectCommand({ Bucket: testBucket, Key: 'key0' }))
74+
.then(data => {
75+
expectedVersions.push(data.VersionId);
76+
next();
77+
})
78+
.catch(next);
79+
},
80+
next => {
81+
s3.send(new PutObjectCommand({ Bucket: testBucket, Key: 'key0' }))
82+
.then(data => {
83+
const versionId = data.VersionId;
84+
return updateMetadata(
85+
{ bucket: testBucket, objectKey: 'key0', versionId, authCredentials: credentials },
86+
{ dataStoreName: location2 },
87+
next);
88+
})
89+
.catch(next);
90+
},
91+
next => {
92+
s3.send(new PutObjectCommand({ Bucket: testBucket, Key: 'key0' }))
93+
.then(data => {
94+
console.log('we are here2');
95+
expectedVersions.push(data.VersionId);
96+
next();
97+
})
98+
.catch(next);
99+
},
100+
next => {
101+
s3.send(new PutObjectCommand({ Bucket: testBucket, Key: 'key0' }))
102+
.then(() => next())
103+
.catch(next);
104+
},
105+
next => {
106+
s3.send(new PutObjectCommand({ Bucket: testBucket, Key: 'key1' }))
107+
.then(data => {
108+
console.log('we are here');
109+
const versionId = data.VersionId;
110+
return updateMetadata(
111+
{ bucket: testBucket, objectKey: 'key1', versionId, authCredentials: credentials },
112+
{ dataStoreName: location2 },
113+
next);
114+
})
115+
.catch(next);
116+
},
117+
next => {
118+
s3.send(new PutObjectCommand({ Bucket: testBucket, Key: 'key2' }))
119+
.then(() => next())
120+
.catch(next);
121+
},
61122
], done));
62123

63-
after(done => async.series([
64-
next => removeAllVersions({ Bucket: testBucket }, next),
65-
next => s3.deleteBucket({ Bucket: testBucket }, next),
66-
], done));
124+
after(async () => {
125+
await removeAllVersions({ Bucket: testBucket });
126+
await s3.send(new DeleteBucketCommand({ Bucket: testBucket }));
127+
});
67128

68129
it('should return error when listing current versions if excluded-data-store-name is not in config', done => {
69130
makeBackbeatRequest({
@@ -280,3 +341,4 @@ describe('excludedDataStoreName', () => {
280341
});
281342
});
282343
});
344+

tests/functional/backbeat/listDeleteMarker.js

Lines changed: 68 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,30 @@
11
const assert = require('assert');
22
const async = require('async');
3+
const {
4+
CreateBucketCommand,
5+
DeleteBucketCommand,
6+
PutBucketVersioningCommand,
7+
PutObjectCommand,
8+
DeleteObjectCommand,
9+
} = require('@aws-sdk/client-s3');
10+
311
const BucketUtility = require('../aws-node-sdk/lib/utility/bucket-util');
412
const { removeAllVersions } = require('../aws-node-sdk/lib/utility/versioning-util');
513
const { makeBackbeatRequest } = require('./utils');
614

7-
const bucketUtil = new BucketUtility('default', { signatureVersion: 'v4' });
15+
const bucketUtil = new BucketUtility('default', {});
816
const s3 = bucketUtil.s3;
9-
const credentials = {
10-
accessKey: s3.config.credentials.accessKeyId,
11-
secretKey: s3.config.credentials.secretAccessKey,
12-
};
17+
let credentials = null;
18+
19+
async function getCredentials() {
20+
const creds = await s3.config.credentials();
21+
credentials = {
22+
accessKey: creds.accessKeyId,
23+
secretKey: creds.secretAccessKey,
24+
};
25+
return credentials;
26+
}
27+
1328

1429
describe('listLifecycle with non-current delete marker', () => {
1530
let expectedVersionId;
@@ -18,31 +33,38 @@ describe('listLifecycle with non-current delete marker', () => {
1833
const keyName = 'key0';
1934

2035
before(done => async.series([
21-
next => s3.createBucket({ Bucket: testBucket }, next),
22-
next => s3.putBucketVersioning({
36+
next => getCredentials().then(creds => {
37+
credentials = creds;
38+
next();
39+
}).catch(next),
40+
next => s3.send(new CreateBucketCommand({ Bucket: testBucket }))
41+
.then(() => next())
42+
.catch(next),
43+
next => s3.send(new PutBucketVersioningCommand({
2344
Bucket: testBucket,
2445
VersioningConfiguration: { Status: 'Enabled' },
25-
}, next),
26-
next => s3.deleteObject({ Bucket: testBucket, Key: keyName }, (err, data) => {
27-
if (err) {
28-
return next(err);
29-
}
30-
expectedDMVersionId = data.VersionId;
31-
return next();
32-
}),
33-
next => s3.putObject({ Bucket: testBucket, Key: keyName }, (err, data) => {
34-
if (err) {
35-
return next(err);
36-
}
37-
expectedVersionId = data.VersionId;
38-
return next();
39-
}),
46+
}))
47+
.then(() => next())
48+
.catch(next),
49+
next => s3.send(new DeleteObjectCommand({ Bucket: testBucket, Key: keyName }))
50+
.then(data => {
51+
expectedDMVersionId = data.VersionId;
52+
next();
53+
})
54+
.catch(next),
55+
next => s3.send(new PutObjectCommand({ Bucket: testBucket, Key: keyName }))
56+
.then(data => {
57+
expectedVersionId = data.VersionId;
58+
next();
59+
})
60+
.catch(next),
4061
], done));
4162

42-
after(done => async.series([
43-
next => removeAllVersions({ Bucket: testBucket }, next),
44-
next => s3.deleteBucket({ Bucket: testBucket }, next),
45-
], done));
63+
64+
after(async () => {
65+
await removeAllVersions({ Bucket: testBucket });
66+
await s3.send(new DeleteBucketCommand({ Bucket: testBucket }));
67+
});
4668

4769
it('should return the current version', done => {
4870
makeBackbeatRequest({
@@ -114,25 +136,30 @@ describe('listLifecycle with current delete marker version', () => {
114136
const keyName = 'key0';
115137

116138
before(done => async.series([
117-
next => s3.createBucket({ Bucket: testBucket }, next),
118-
next => s3.putBucketVersioning({
139+
next => s3.send(new CreateBucketCommand({ Bucket: testBucket }))
140+
.then(() => next())
141+
.catch(next),
142+
next => s3.send(new PutBucketVersioningCommand({
119143
Bucket: testBucket,
120144
VersioningConfiguration: { Status: 'Enabled' },
121-
}, next),
122-
next => s3.putObject({ Bucket: testBucket, Key: keyName }, (err, data) => {
123-
if (err) {
124-
return next(err);
125-
}
126-
expectedVersionId = data.VersionId;
127-
return next();
128-
}),
129-
next => s3.deleteObject({ Bucket: testBucket, Key: keyName }, next),
145+
}))
146+
.then(() => next())
147+
.catch(next),
148+
next => s3.send(new PutObjectCommand({ Bucket: testBucket, Key: keyName }))
149+
.then(data => {
150+
expectedVersionId = data.VersionId;
151+
next();
152+
})
153+
.catch(next),
154+
next => s3.send(new DeleteObjectCommand({ Bucket: testBucket, Key: keyName }))
155+
.then(() => next())
156+
.catch(next),
130157
], done));
131158

132-
after(done => async.series([
133-
next => removeAllVersions({ Bucket: testBucket }, next),
134-
next => s3.deleteBucket({ Bucket: testBucket }, next),
135-
], done));
159+
after(async () => {
160+
await removeAllVersions({ Bucket: testBucket });
161+
await s3.send(new DeleteBucketCommand({ Bucket: testBucket }));
162+
});
136163

137164
it('should return no current object if current version is a delete marker', done => {
138165
makeBackbeatRequest({

0 commit comments

Comments
 (0)