Skip to content

Commit a443757

Browse files
committed
post reviews fixups
1 parent 4a1e77c commit a443757

File tree

7 files changed

+96
-205
lines changed

7 files changed

+96
-205
lines changed

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('GCP: HEAD Bucket', () => {
1616
const gcpClient = new GCP(config);
1717

1818
describe('without existing bucket', () => {
19-
beforeEach(function beforeFn() {
19+
beforeEach(async function beforeFn() {
2020
this.currentTest.bucketName = `somebucket-${genUniqID()}`;
2121
});
2222

@@ -49,10 +49,12 @@ describe('GCP: HEAD Bucket', () => {
4949
});
5050

5151
afterEach(async function afterFn() {
52-
const cmd = new DeleteBucketCommand({
53-
Bucket: this.currentTest.bucketName,
54-
});
55-
await gcpClient.send(cmd);
52+
await gcpRetry(
53+
gcpClient,
54+
new DeleteBucketCommand({
55+
Bucket: this.currentTest.bucketName,
56+
}),
57+
);
5658
});
5759

5860
it('should get bucket information', async function testFn() {

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

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ const {
77
gcpMpuSetup,
88
genUniqID,
99
gcpRetry,
10+
waitForBucketReady,
1011
} = require('../../../utils/gcpUtils');
1112
const { getRealAwsConfig } =
1213
require('../../../../aws-node-sdk/test/support/awsConfig');
1314
const {
1415
CreateBucketCommand,
1516
DeleteBucketCommand,
16-
HeadBucketCommand,
1717
} = require('@aws-sdk/client-s3');
1818

1919
const credentialOne = 'gcpbackend';
@@ -95,21 +95,6 @@ function emptyBucket(gcpClient, bucketName, cb) {
9595
});
9696
}
9797

98-
function waitForBucketReady(gcpClient, bucketName) {
99-
const cmd = new HeadBucketCommand({ Bucket: bucketName });
100-
return gcpRetry(gcpClient, cmd, {
101-
maxAttempts: 6,
102-
shouldRetry: err => err && (
103-
err.name === 'NoSuchBucket'
104-
|| err.name === 'NotFound'
105-
|| err.$metadata?.httpStatusCode === 404
106-
|| err.name === 'SlowDown'
107-
|| err.$metadata?.httpStatusCode === 429
108-
),
109-
getDelayMs: attempt => (attempt + 1) * 1000,
110-
});
111-
}
112-
11398
describe('GCP: Complete MPU', function testSuite() {
11499
this.timeout(600000);
115100
let config;
@@ -123,13 +108,8 @@ describe('GCP: Complete MPU', function testSuite() {
123108
buckets,
124109
async bucket => {
125110
const cmd = new CreateBucketCommand({ Bucket: bucket.Name });
126-
try {
127-
await gcpRetry(gcpClient, cmd);
128-
await waitForBucketReady(gcpClient, bucket.Name);
129-
} catch (err) {
130-
process.stdout.write(`err in creating bucket ${err}\n`);
131-
throw err;
132-
}
111+
await gcpRetry(gcpClient, cmd);
112+
await waitForBucketReady(gcpClient, bucket.Name);
133113
},
134114
);
135115
});
@@ -149,12 +129,7 @@ describe('GCP: Complete MPU', function testSuite() {
149129
});
150130
});
151131
const cmd = new DeleteBucketCommand({ Bucket: bucket.Name });
152-
try {
153-
await gcpRetry(gcpClient, cmd);
154-
} catch (err) {
155-
process.stdout.write(`err in deleting bucket ${err}\n`);
156-
throw err;
157-
}
132+
await gcpRetry(gcpClient, cmd);
158133
},
159134
);
160135
});

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

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ describe('GCP: COPY Object', function testSuite() {
5151
});
5252

5353
describe('with existing object in bucket', () => {
54-
beforeEach(function beforeFn(done) {
54+
beforeEach(async function beforeFn() {
5555
this.currentTest.key = `somekey-${genUniqID()}`;
5656
this.currentTest.copyKey = `copykey-${genUniqID()}`;
5757
this.currentTest.initValue = `${genUniqID()}`;
@@ -62,15 +62,8 @@ describe('GCP: COPY Object', function testSuite() {
6262
value: this.currentTest.initValue,
6363
},
6464
});
65-
gcpClient.send(cmd)
66-
.then(res => {
67-
this.currentTest.ETag = res.ETag;
68-
return done();
69-
})
70-
.catch(err => {
71-
process.stdout.write(`err in creating object ${err}\n`);
72-
return done(err);
73-
});
65+
const res = await gcpClient.send(cmd);
66+
this.currentTest.ETag = res.ETag;
7467
});
7568

7669
afterEach(function afterFn(done) {

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

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +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 { gcpMpuSetup, genUniqID, gcpRetry } =
5+
const { gcpMpuSetup, genUniqID, gcpRetry, waitForBucketReady } =
66
require('../../../utils/gcpUtils');
77
const { getRealAwsConfig } =
88
require('../../../../aws-node-sdk/test/support/awsConfig');
99
const {
1010
CreateBucketCommand,
1111
DeleteBucketCommand,
1212
ListObjectsCommand,
13-
HeadBucketCommand,
1413
} = require('@aws-sdk/client-s3');
1514

1615
const credentialOne = 'gcpbackend';
@@ -41,21 +40,6 @@ describe('GCP: Abort MPU', function testSuite() {
4140
let config;
4241
let gcpClient;
4342

44-
function waitForBucketReady(bucketName) {
45-
const cmd = new HeadBucketCommand({ Bucket: bucketName });
46-
return gcpRetry(gcpClient, cmd, {
47-
maxAttempts: 6,
48-
shouldRetry: err => err && (
49-
err.name === 'NoSuchBucket'
50-
|| err.name === 'NotFound'
51-
|| err.$metadata?.httpStatusCode === 404
52-
|| err.name === 'SlowDown'
53-
|| err.$metadata?.httpStatusCode === 429
54-
),
55-
getDelayMs: attempt => (attempt + 1) * 1000,
56-
});
57-
}
58-
5943
before(async () => {
6044
config = getRealAwsConfig(credentialOne);
6145
gcpClient = new GCP(config);
@@ -68,7 +52,7 @@ describe('GCP: Abort MPU', function testSuite() {
6852
gcpClient,
6953
new CreateBucketCommand({ Bucket: bucket.Name }),
7054
);
71-
await waitForBucketReady(bucket.Name);
55+
await waitForBucketReady(gcpClient, bucket.Name);
7256
},
7357
);
7458
});

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

Lines changed: 12 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@ const assert = require('assert');
22
const async = require('async');
33
const arsenal = require('arsenal');
44
const { GCP } = arsenal.storage.data.external.GCP;
5-
const { genUniqID, gcpRetry } =
6-
require('../../../utils/gcpUtils');
5+
const {
6+
genUniqID,
7+
gcpRetry,
8+
gcpCreateMultipartUploadWithRetry,
9+
waitForBucketReady,
10+
} = require('../../../utils/gcpUtils');
711
const { getRealAwsConfig } =
812
require('../../../../aws-node-sdk/test/support/awsConfig');
913
const {
1014
CreateBucketCommand,
1115
DeleteBucketCommand,
12-
HeadBucketCommand,
1316
} = require('@aws-sdk/client-s3');
1417

1518
const credentialOne = 'gcpbackend';
@@ -26,54 +29,6 @@ describe('GCP: Initiate MPU', function testSuite() {
2629
this.timeout(180000);
2730
let config;
2831
let gcpClient;
29-
const maxCreateAttempts = 6;
30-
const retryDelayMs = attempt => (attempt + 1) * 1000;
31-
const isRetryableCreateError = err => err && (
32-
err.name === 'NoSuchBucket'
33-
|| err.name === 'NotFound'
34-
|| err.$metadata?.httpStatusCode === 404
35-
|| err.name === 'SlowDown'
36-
|| err.$metadata?.httpStatusCode === 429
37-
);
38-
39-
function waitForBucketReady(bucketName) {
40-
const cmd = new HeadBucketCommand({ Bucket: bucketName });
41-
return gcpRetry(gcpClient, cmd, {
42-
maxAttempts: 6,
43-
shouldRetry: err => err && (
44-
err.name === 'NoSuchBucket'
45-
|| err.name === 'NotFound'
46-
|| err.$metadata?.httpStatusCode === 404
47-
|| err.name === 'SlowDown'
48-
|| err.$metadata?.httpStatusCode === 429
49-
),
50-
getDelayMs: attempt => (attempt + 1) * 1000,
51-
});
52-
}
53-
54-
function createMultipartUploadWithRetry(bucket, key, metadata) {
55-
return new Promise((resolve, reject) => {
56-
const attemptCreate = attempt => {
57-
gcpClient.createMultipartUpload({
58-
Bucket: bucket,
59-
Key: key,
60-
Metadata: metadata,
61-
}, (err, res) => {
62-
if (!err) {
63-
resolve(res);
64-
return;
65-
}
66-
if (isRetryableCreateError(err) && attempt < maxCreateAttempts - 1) {
67-
const delay = retryDelayMs(attempt);
68-
setTimeout(() => attemptCreate(attempt + 1), delay);
69-
return;
70-
}
71-
reject(err);
72-
});
73-
};
74-
attemptCreate(0);
75-
});
76-
}
7732

7833
before(async () => {
7934
config = getRealAwsConfig(credentialOne);
@@ -86,7 +41,7 @@ describe('GCP: Initiate MPU', function testSuite() {
8641
gcpClient,
8742
new CreateBucketCommand({ Bucket: bucket.Name }),
8843
);
89-
await waitForBucketReady(bucket.Name);
44+
await waitForBucketReady(gcpClient, bucket.Name);
9045
},
9146
);
9247
});
@@ -108,11 +63,11 @@ describe('GCP: Initiate MPU', function testSuite() {
10863
const keyName = `somekey-${genUniqID()}`;
10964
const specialKey = `special-${genUniqID()}`;
11065

111-
const createRes = await createMultipartUploadWithRetry(
112-
bucketNames.mpu.Name,
113-
keyName,
114-
{ special: specialKey },
115-
);
66+
const createRes = await gcpCreateMultipartUploadWithRetry(gcpClient, {
67+
Bucket: bucketNames.mpu.Name,
68+
Key: keyName,
69+
Metadata: { special: specialKey },
70+
});
11671

11772
const mpuInitKey = `${keyName}-${createRes.UploadId}/init`;
11873
const headRes = await new Promise((resolve, reject) => {

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

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +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 { genUniqID, gcpRetry, gcpUploadWithRetry } =
5+
const { genUniqID, gcpRetry, gcpUploadWithRetry, waitForBucketReady } =
66
require('../../../utils/gcpUtils');
77
const { getRealAwsConfig } =
88
require('../../../../aws-node-sdk/test/support/awsConfig');
99
const {
1010
CreateBucketCommand,
1111
DeleteBucketCommand,
1212
ListObjectsCommand,
13-
HeadBucketCommand,
1413
} = require('@aws-sdk/client-s3');
1514

1615
const credentialOne = 'gcpbackend';
@@ -33,21 +32,6 @@ describe('GCP: Upload Object', function testSuite() {
3332
let config;
3433
let gcpClient;
3534

36-
function waitForBucketReady(bucketName) {
37-
const cmd = new HeadBucketCommand({ Bucket: bucketName });
38-
return gcpRetry(gcpClient, cmd, {
39-
maxAttempts: 6,
40-
shouldRetry: err => err && (
41-
err.name === 'NoSuchBucket'
42-
|| err.name === 'NotFound'
43-
|| err.$metadata?.httpStatusCode === 404
44-
|| err.name === 'SlowDown'
45-
|| err.$metadata?.httpStatusCode === 429
46-
),
47-
getDelayMs: attempt => (attempt + 1) * 1000,
48-
});
49-
}
50-
5135
before(async () => {
5236
config = getRealAwsConfig(credentialOne);
5337
gcpClient = new GCP(config);
@@ -59,7 +43,7 @@ describe('GCP: Upload Object', function testSuite() {
5943
gcpClient,
6044
new CreateBucketCommand({ Bucket: bucket.Name }),
6145
);
62-
await waitForBucketReady(bucket.Name);
46+
await waitForBucketReady(gcpClient, bucket.Name);
6347
},
6448
);
6549
});

0 commit comments

Comments
 (0)