Skip to content

Commit ea9cb65

Browse files
committed
tests updates post gcpService unused functions removal
As these functions are only used in GCP tests, we decided to remove them from gcpService. This commit updates the tests accordingly using the new send command directly and enabling us to drop the wrapper functions. Issue: CLDSRV-826
1 parent a3a207a commit ea9cb65

File tree

6 files changed

+132
-34
lines changed

6 files changed

+132
-34
lines changed

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

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const assert = require('assert');
22
const async = require('async');
33
const arsenal = require('arsenal');
4+
const { ListObjectsCommand } = require('@aws-sdk/client-s3');
45
const { GCP } = arsenal.storage.data.external.GCP;
56
const { makeGcpRequest } = require('../../../utils/makeRequest');
67
const { gcpRequestRetry, genUniqID } = require('../../../utils/gcpUtils');
@@ -15,6 +16,37 @@ const bigSize = listingHardLimit + 1;
1516
const config = getRealAwsConfig(credentialOne);
1617
const gcpClient = new GCP(config);
1718

19+
gcpClient.listObjects = (params, callback) => {
20+
const command = new ListObjectsCommand(params);
21+
return gcpClient.send(command)
22+
.then(data => callback(null, data))
23+
.catch(err => {
24+
if (err && err.$metadata && err.$metadata.httpStatusCode &&
25+
err.statusCode === undefined) {
26+
// eslint-disable-next-line no-param-reassign
27+
err.statusCode = err.$metadata.httpStatusCode;
28+
}
29+
return callback(err);
30+
});
31+
};
32+
33+
gcpClient.getBucket = (params, callback) =>
34+
gcpClient.headBucket(params, (err, res) => {
35+
if (err) {
36+
if (err.$metadata && err.$metadata.httpStatusCode &&
37+
err.statusCode === undefined) {
38+
// eslint-disable-next-line no-param-reassign
39+
err.statusCode = err.$metadata.httpStatusCode;
40+
}
41+
if (err.$metadata && err.$metadata.httpStatusCode === 404) {
42+
// eslint-disable-next-line no-param-reassign
43+
err.name = 'NoSuchBucket';
44+
}
45+
return callback(err);
46+
}
47+
return callback(null, res);
48+
});
49+
1850
function populateBucket(createdObjects, callback) {
1951
process.stdout.write(
2052
`Putting ${createdObjects.length} objects into bucket\n`);

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

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const assert = require('assert');
22
const async = require('async');
33
const arsenal = require('arsenal');
4+
const { GetBucketVersioningCommand } = require('@aws-sdk/client-s3');
45
const { GCP } = arsenal.storage.data.external.GCP;
56
const { makeGcpRequest } = require('../../../utils/makeRequest');
67
const { gcpRequestRetry, genUniqID } = require('../../../utils/gcpUtils');
@@ -67,14 +68,19 @@ describe('GCP: GET Bucket Versioning', () => {
6768
return next(err);
6869
}),
6970
next => {
70-
gcpClient.getBucketVersioning({
71+
const command = new GetBucketVersioningCommand({
7172
Bucket: this.test.bucketName,
72-
}, (err, res) => {
73-
assert.equal(err, null,
74-
`Expected success, but got err ${err}`);
75-
assert.deepStrictEqual(res.Status, verEnabledObj);
76-
return next();
7773
});
74+
return gcpClient.send(command)
75+
.then(res => {
76+
assert.deepStrictEqual(res.Status, verEnabledObj);
77+
return next();
78+
})
79+
.catch(err => {
80+
assert.equal(err, null,
81+
`Expected success, but got err ${err}`);
82+
return next(err);
83+
});
7884
},
7985
], err => done(err));
8086
});
@@ -93,14 +99,21 @@ describe('GCP: GET Bucket Versioning', () => {
9399
}
94100
return next(err);
95101
}),
96-
next => gcpClient.getBucketVersioning({
97-
Bucket: this.test.bucketName,
98-
}, (err, res) => {
99-
assert.equal(err, null,
100-
`Expected success, but got err ${err}`);
101-
assert.deepStrictEqual(res.Status, verDisabledObj);
102-
return next();
103-
}),
102+
next => {
103+
const command = new GetBucketVersioningCommand({
104+
Bucket: this.test.bucketName,
105+
});
106+
return gcpClient.send(command)
107+
.then(res => {
108+
assert.deepStrictEqual(res.Status, verDisabledObj);
109+
return next();
110+
})
111+
.catch(err => {
112+
assert.equal(err, null,
113+
`Expected success, but got err ${err}`);
114+
return next(err);
115+
});
116+
},
104117
], err => done(err));
105118
});
106119
});

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

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const assert = require('assert');
22
const async = require('async');
33
const arsenal = require('arsenal');
4+
const { PutBucketVersioningCommand } = require('@aws-sdk/client-s3');
45
const xml2js = require('xml2js');
56
const { GCP } = arsenal.storage.data.external.GCP;
67
const { makeGcpRequest } = require('../../../utils/makeRequest');
@@ -56,16 +57,21 @@ describe('GCP: PUT Bucket Versioning', () => {
5657

5758
it('should enable bucket versioning', function testFn(done) {
5859
return async.waterfall([
59-
next => gcpClient.putBucketVersioning({
60-
Bucket: this.test.bucketName,
61-
VersioningConfiguration: {
62-
Status: 'Enabled',
63-
},
64-
}, err => {
65-
assert.equal(err, null,
66-
`Expected success, but got err ${err}`);
67-
return next();
68-
}),
60+
next => {
61+
const command = new PutBucketVersioningCommand({
62+
Bucket: this.test.bucketName,
63+
VersioningConfiguration: {
64+
Status: 'Enabled',
65+
},
66+
});
67+
return gcpClient.send(command)
68+
.then(() => next())
69+
.catch(err => {
70+
assert.equal(err, null,
71+
`Expected success, but got err ${err}`);
72+
return next(err);
73+
});
74+
},
6975
next => makeGcpRequest({
7076
method: 'GET',
7177
bucket: this.test.bucketName,
@@ -83,16 +89,21 @@ describe('GCP: PUT Bucket Versioning', () => {
8389

8490
it('should disable bucket versioning', function testFn(done) {
8591
return async.waterfall([
86-
next => gcpClient.putBucketVersioning({
87-
Bucket: this.test.bucketName,
88-
VersioningConfiguration: {
89-
Status: 'Suspended',
90-
},
91-
}, err => {
92-
assert.equal(err, null,
93-
`Expected success, but got err ${err}`);
94-
return next();
95-
}),
92+
next => {
93+
const command = new PutBucketVersioningCommand({
94+
Bucket: this.test.bucketName,
95+
VersioningConfiguration: {
96+
Status: 'Suspended',
97+
},
98+
});
99+
return gcpClient.send(command)
100+
.then(() => next())
101+
.catch(err => {
102+
assert.equal(err, null,
103+
`Expected success, but got err ${err}`);
104+
return next(err);
105+
});
106+
},
96107
next => makeGcpRequest({
97108
method: 'GET',
98109
bucket: this.test.bucketName,

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const assert = require('assert');
22
const async = require('async');
33
const arsenal = require('arsenal');
4+
const { ListObjectsCommand } = require('@aws-sdk/client-s3');
45
const { GCP, GcpUtils } = arsenal.storage.data.external.GCP;
56
const {
67
gcpRequestRetry,
@@ -100,6 +101,19 @@ describe('GCP: Complete MPU', function testSuite() {
100101
before(done => {
101102
config = getRealAwsConfig(credentialOne);
102103
gcpClient = new GCP(config);
104+
gcpClient.listObjects = (params, callback) => {
105+
const command = new ListObjectsCommand(params);
106+
return gcpClient.send(command)
107+
.then(data => callback(null, data))
108+
.catch(err => {
109+
if (err && err.$metadata && err.$metadata.httpStatusCode &&
110+
err.statusCode === undefined) {
111+
// eslint-disable-next-line no-param-reassign
112+
err.statusCode = err.$metadata.httpStatusCode;
113+
}
114+
return callback(err);
115+
});
116+
};
103117
async.eachSeries(bucketNames,
104118
(bucket, next) => gcpRequestRetry({
105119
method: 'PUT',

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const assert = require('assert');
22
const async = require('async');
33
const arsenal = require('arsenal');
4+
const { ListObjectsCommand } = require('@aws-sdk/client-s3');
45
const { GCP } = arsenal.storage.data.external.GCP;
56
const { gcpRequestRetry, setBucketClass, gcpMpuSetup, genUniqID } =
67
require('../../../utils/gcpUtils');
@@ -40,6 +41,19 @@ describe('GCP: Abort MPU', function testSuite() {
4041
before(done => {
4142
config = getRealAwsConfig(credentialOne);
4243
gcpClient = new GCP(config);
44+
gcpClient.listObjects = (params, callback) => {
45+
const command = new ListObjectsCommand(params);
46+
return gcpClient.send(command)
47+
.then(data => callback(null, data))
48+
.catch(err => {
49+
if (err && err.$metadata && err.$metadata.httpStatusCode &&
50+
err.statusCode === undefined) {
51+
// eslint-disable-next-line no-param-reassign
52+
err.statusCode = err.$metadata.httpStatusCode;
53+
}
54+
return callback(err);
55+
});
56+
};
4357
async.eachSeries(bucketNames,
4458
(bucket, next) => gcpRequestRetry({
4559
method: 'PUT',

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const assert = require('assert');
22
const async = require('async');
33
const arsenal = require('arsenal');
4+
const { ListObjectsCommand } = require('@aws-sdk/client-s3');
45
const { GCP } = arsenal.storage.data.external.GCP;
56
const { gcpRequestRetry, setBucketClass, genUniqID } =
67
require('../../../utils/gcpUtils');
@@ -32,6 +33,19 @@ describe('GCP: Upload Object', function testSuite() {
3233
before(done => {
3334
config = getRealAwsConfig(credentialOne);
3435
gcpClient = new GCP(config);
36+
gcpClient.listObjects = (params, callback) => {
37+
const command = new ListObjectsCommand(params);
38+
return gcpClient.send(command)
39+
.then(data => callback(null, data))
40+
.catch(err => {
41+
if (err && err.$metadata && err.$metadata.httpStatusCode &&
42+
err.statusCode === undefined) {
43+
// eslint-disable-next-line no-param-reassign
44+
err.statusCode = err.$metadata.httpStatusCode;
45+
}
46+
return callback(err);
47+
});
48+
};
3549
async.eachSeries(bucketNames,
3650
(bucket, next) => gcpRequestRetry({
3751
method: 'PUT',

0 commit comments

Comments
 (0)