Skip to content

Commit 9c34aa1

Browse files
committed
step2: use send with gcp client on object tests instead of old helpers
1 parent e3f5042 commit 9c34aa1

File tree

15 files changed

+559
-613
lines changed

15 files changed

+559
-613
lines changed

tests/functional/raw-node/test/GCP/bucket/putVersioning.js

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ const { getRealAwsConfig } =
1515
const credentialOne = 'gcpbackend';
1616
const verEnabledStatus = 'Enabled';
1717
const verDisabledStatus = 'Suspended';
18+
const bucketName = `somebucket-${genUniqID()}`;
1819

1920
describe('GCP: PUT Bucket Versioning', () => {
2021
const config = getRealAwsConfig(credentialOne);
2122
const gcpClient = new GCP(config);
2223

23-
beforeEach(function beforeFn(done) {
24-
this.currentTest.bucketName = `somebucket-${genUniqID()}`;
25-
const cmd = new CreateBucketCommand({ Bucket: this.currentTest.bucketName });
24+
before(done => {
25+
const cmd = new CreateBucketCommand({ Bucket: bucketName });
2626
gcpClient.send(cmd)
2727
.then(() => done())
2828
.catch(err => {
@@ -31,8 +31,8 @@ describe('GCP: PUT Bucket Versioning', () => {
3131
});
3232
});
3333

34-
afterEach(function afterFn(done) {
35-
const cmd = new DeleteBucketCommand({ Bucket: this.currentTest.bucketName });
34+
after(done => {
35+
const cmd = new DeleteBucketCommand({ Bucket: bucketName });
3636
gcpClient.send(cmd)
3737
.then(() => done())
3838
.catch(err => {
@@ -41,11 +41,10 @@ describe('GCP: PUT Bucket Versioning', () => {
4141
});
4242
});
4343

44-
it('should enable bucket versioning', function testFn(done) {
45-
return async.waterfall([
44+
it('should enable bucket versioning', done => async.waterfall([
4645
next => {
4746
const cmd = new PutBucketVersioningCommand({
48-
Bucket: this.test.bucketName,
47+
Bucket: bucketName,
4948
VersioningConfiguration: {
5049
Status: 'Enabled',
5150
},
@@ -56,7 +55,7 @@ describe('GCP: PUT Bucket Versioning', () => {
5655
},
5756
next => {
5857
const cmd = new GetBucketVersioningCommand({
59-
Bucket: this.test.bucketName,
58+
Bucket: bucketName,
6059
});
6160
return gcpClient.send(cmd)
6261
.then(res => {
@@ -65,14 +64,12 @@ describe('GCP: PUT Bucket Versioning', () => {
6564
})
6665
.catch(err => next(err));
6766
},
68-
], err => done(err));
69-
});
67+
], err => done(err)));
7068

71-
it('should disable bucket versioning', function testFn(done) {
72-
return async.waterfall([
69+
it('should disable bucket versioning', done => async.waterfall([
7370
next => {
7471
const cmd = new PutBucketVersioningCommand({
75-
Bucket: this.test.bucketName,
72+
Bucket: bucketName,
7673
VersioningConfiguration: {
7774
Status: 'Suspended',
7875
},
@@ -83,7 +80,7 @@ describe('GCP: PUT Bucket Versioning', () => {
8380
},
8481
next => {
8582
const cmd = new GetBucketVersioningCommand({
86-
Bucket: this.test.bucketName,
83+
Bucket: bucketName,
8784
});
8885
return gcpClient.send(cmd)
8986
.then(res => {
@@ -92,6 +89,5 @@ describe('GCP: PUT Bucket Versioning', () => {
9289
})
9390
.catch(err => next(err));
9491
},
95-
], err => done(err));
96-
});
92+
], err => done(err)));
9793
});

tests/functional/raw-node/test/GCP/object/completeMpu.js

Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,23 @@ const arsenal = require('arsenal');
44
const { ListObjectsCommand } = require('@aws-sdk/client-s3');
55
const { GCP, GcpUtils } = arsenal.storage.data.external.GCP;
66
const {
7-
gcpRequestRetry,
8-
gcpClientRetry,
9-
setBucketClass,
107
gcpMpuSetup,
118
genUniqID,
129
} = require('../../../utils/gcpUtils');
1310
const { getRealAwsConfig } =
1411
require('../../../../aws-node-sdk/test/support/awsConfig');
12+
const {
13+
CreateBucketCommand,
14+
DeleteBucketCommand,
15+
} = require('@aws-sdk/client-s3');
1516

1617
const credentialOne = 'gcpbackend';
1718
const bucketNames = {
1819
main: {
1920
Name: `somebucket-${genUniqID()}`,
20-
Type: 'MULTI_REGIONAL',
2121
},
2222
mpu: {
2323
Name: `mpubucket-${genUniqID()}`,
24-
Type: 'MULTI_REGIONAL',
2524
},
2625
};
2726
const numParts = 1024;
@@ -50,7 +49,7 @@ function listObjectsPaginated(gcpClient, bucketName, cb) {
5049
params.Marker = marker;
5150
}
5251

53-
return gcpClientRetry(gcpClient.listObjects.bind(gcpClient), params, (err, res) => {
52+
return gcpClient.listObjects(params, (err, res) => {
5453
if (err) {
5554
return cb(err);
5655
}
@@ -88,7 +87,7 @@ function emptyBucket(gcpClient, bucketName, cb) {
8887
Bucket: bucketName,
8988
Key: object.Key,
9089
};
91-
return gcpClientRetry(gcpClient.deleteObject.bind(gcpClient), deleteParams, next);
90+
return gcpClient.deleteObject(deleteParams, next);
9291
}, cb);
9392
});
9493
}
@@ -114,37 +113,34 @@ describe('GCP: Complete MPU', function testSuite() {
114113
return callback(err);
115114
});
116115
};
117-
async.eachSeries(bucketNames,
118-
(bucket, next) => gcpRequestRetry({
119-
method: 'PUT',
120-
bucket: bucket.Name,
121-
authCredentials: config.credentials,
122-
requestBody: setBucketClass(bucket.Type),
123-
}, 0, err => {
124-
if (err) {
125-
process.stdout.write(`err in creating bucket ${err}\n`);
126-
}
127-
return next(err);
128-
}),
116+
async.eachSeries(Object.values(bucketNames),
117+
(bucket, next) => {
118+
const cmd = new CreateBucketCommand({ Bucket: bucket.Name });
119+
gcpClient.send(cmd)
120+
.then(() => next())
121+
.catch(err => {
122+
process.stdout.write(`err in creating bucket ${err}\n`);
123+
return next(err);
124+
});
125+
},
129126
done);
130127
});
131128

132129
after(done => {
133-
async.eachSeries(bucketNames,
130+
async.eachSeries(Object.values(bucketNames),
134131
(bucket, next) => emptyBucket(gcpClient, bucket.Name, err => {
135132
assert.equal(err, null,
136133
`Expected success, but got error ${err}`);
137-
gcpRequestRetry({
138-
method: 'DELETE',
139-
bucket: bucket.Name,
140-
authCredentials: config.credentials,
141-
}, 0, err => {
142-
if (err) {
143-
process.stdout.write(
144-
`err in deleting bucket ${err}\n`);
145-
}
146-
return next(err);
147-
});
134+
const cmd = new DeleteBucketCommand({ Bucket: bucket.Name });
135+
gcpClient.send(cmd)
136+
.then(() => next())
137+
.catch(error => {
138+
if (error) {
139+
process.stdout.write(
140+
`err in deleting bucket ${error}\n`);
141+
}
142+
return next(error);
143+
});
148144
}),
149145
done);
150146
});

tests/functional/raw-node/test/GCP/object/copy.js

Lines changed: 48 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@ const assert = require('assert');
22
const async = require('async');
33
const arsenal = require('arsenal');
44
const { GCP } = arsenal.storage.data.external.GCP;
5-
const { makeGcpRequest } = require('../../../utils/makeRequest');
6-
const { gcpRequestRetry, genUniqID } = require('../../../utils/gcpUtils');
5+
const { genUniqID } = require('../../../utils/gcpUtils');
76
const { getRealAwsConfig } =
87
require('../../../../aws-node-sdk/test/support/awsConfig');
8+
const {
9+
CreateBucketCommand,
10+
DeleteBucketCommand,
11+
PutObjectCommand,
12+
} = require('@aws-sdk/client-s3');
913

1014
const credentialOne = 'gcpbackend';
1115
const bucketName = `somebucket-${genUniqID()}`;
@@ -16,29 +20,23 @@ describe('GCP: COPY Object', function testSuite() {
1620
const gcpClient = new GCP(config);
1721

1822
before(done => {
19-
gcpRequestRetry({
20-
method: 'PUT',
21-
bucket: bucketName,
22-
authCredentials: config.credentials,
23-
}, 0, err => {
24-
if (err) {
23+
const cmd = new CreateBucketCommand({ Bucket: bucketName });
24+
gcpClient.send(cmd)
25+
.then(() => done())
26+
.catch(err => {
2527
process.stdout.write(`err in creating bucket ${err}\n`);
26-
}
27-
return done(err);
28-
});
28+
return done(err);
29+
});
2930
});
3031

3132
after(done => {
32-
gcpRequestRetry({
33-
method: 'DELETE',
34-
bucket: bucketName,
35-
authCredentials: config.credentials,
36-
}, 0, err => {
37-
if (err) {
33+
const cmd = new DeleteBucketCommand({ Bucket: bucketName });
34+
gcpClient.send(cmd)
35+
.then(() => done())
36+
.catch(err => {
3837
process.stdout.write(`err in creating bucket ${err}\n`);
39-
}
40-
return done(err);
41-
});
38+
return done(err);
39+
});
4240
});
4341

4442
describe('without existing object in bucket', () => {
@@ -63,41 +61,38 @@ describe('GCP: COPY Object', function testSuite() {
6361
this.currentTest.key = `somekey-${genUniqID()}`;
6462
this.currentTest.copyKey = `copykey-${genUniqID()}`;
6563
this.currentTest.initValue = `${genUniqID()}`;
66-
makeGcpRequest({
67-
method: 'PUT',
68-
bucket: bucketName,
69-
objectKey: this.currentTest.copyKey,
70-
headers: {
71-
'x-goog-meta-value': this.currentTest.initValue,
64+
const cmd = new PutObjectCommand({
65+
Bucket: bucketName,
66+
Key: this.currentTest.copyKey,
67+
Metadata: {
68+
value: this.currentTest.initValue,
7269
},
73-
authCredentials: config.credentials,
74-
}, (err, res) => {
75-
if (err) {
76-
process.stdout.write(`err in creating object ${err}\n`);
77-
}
78-
this.currentTest.contentHash = res.headers['x-goog-hash'];
79-
return done(err);
8070
});
71+
gcpClient.send(cmd)
72+
.then(res => {
73+
this.currentTest.ETag = res.ETag;
74+
return done();
75+
})
76+
.catch(err => {
77+
process.stdout.write(`err in creating object ${err}\n`);
78+
return done(err);
79+
});
8180
});
8281

8382
afterEach(function afterFn(done) {
8483
async.parallel([
85-
next => makeGcpRequest({
86-
method: 'DELETE',
87-
bucket: bucketName,
88-
objectKey: this.currentTest.key,
89-
authCredentials: config.credentials,
84+
next => gcpClient.deleteObject({
85+
Bucket: bucketName,
86+
Key: this.currentTest.key,
9087
}, err => {
9188
if (err) {
9289
process.stdout.write(`err in deleting object ${err}\n`);
9390
}
9491
return next(err);
9592
}),
96-
next => makeGcpRequest({
97-
method: 'DELETE',
98-
bucket: bucketName,
99-
objectKey: this.currentTest.copyKey,
100-
authCredentials: config.credentials,
93+
next => gcpClient.deleteObject({
94+
Bucket: bucketName,
95+
Key: this.currentTest.copyKey,
10196
}, err => {
10297
if (err) {
10398
process.stdout
@@ -125,20 +120,17 @@ describe('GCP: COPY Object', function testSuite() {
125120
`Expected success, but got error ${err}`);
126121
return next();
127122
}),
128-
next => makeGcpRequest({
129-
method: 'HEAD',
130-
bucket: bucketName,
131-
objectKey: this.test.key,
132-
authCredentials: config.credentials,
123+
next => gcpClient.headObject({
124+
Bucket: bucketName,
125+
Key: this.test.key,
133126
}, (err, res) => {
134127
if (err) {
135128
process.stdout
136129
.write(`err in retrieving object ${err}\n`);
137130
return next(err);
138131
}
139-
assert.strictEqual(this.test.contentHash,
140-
res.headers['x-goog-hash']);
141-
assert.notStrictEqual(res.headers['x-goog-meta-value'],
132+
assert.strictEqual(res.ETag, this.test.ETag);
133+
assert.notStrictEqual(res.Metadata.value,
142134
this.test.initValue);
143135
return next();
144136
}),
@@ -158,20 +150,17 @@ describe('GCP: COPY Object', function testSuite() {
158150
`Expected success, but got error ${err}`);
159151
return next();
160152
}),
161-
next => makeGcpRequest({
162-
method: 'HEAD',
163-
bucket: bucketName,
164-
objectKey: this.test.key,
165-
authCredentials: config.credentials,
153+
next => gcpClient.headObject({
154+
Bucket: bucketName,
155+
Key: this.test.key,
166156
}, (err, res) => {
167157
if (err) {
168158
process.stdout
169159
.write(`err in retrieving object ${err}\n`);
170160
return next(err);
171161
}
172-
assert.strictEqual(this.test.contentHash,
173-
res.headers['x-goog-hash']);
174-
assert.strictEqual(res.headers['x-goog-meta-value'],
162+
assert.strictEqual(res.ETag, this.test.ETag);
163+
assert.strictEqual(res.Metadata.value,
175164
this.test.initValue);
176165
return next();
177166
}),

0 commit comments

Comments
 (0)