Skip to content

Commit 4047074

Browse files
committed
bucket tests updates post unused functions removal
Issue: CLDSRV-826
1 parent 83dec6f commit 4047074

File tree

4 files changed

+223
-312
lines changed

4 files changed

+223
-312
lines changed

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

Lines changed: 94 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
const assert = require('assert');
22
const async = require('async');
33
const arsenal = require('arsenal');
4+
const {
5+
ListObjectsCommand,
6+
HeadBucketCommand,
7+
CreateBucketCommand,
8+
DeleteBucketCommand,
9+
PutObjectCommand,
10+
DeleteObjectCommand,
11+
} = require('@aws-sdk/client-s3');
412
const { GCP } = arsenal.storage.data.external.GCP;
5-
const { makeGcpRequest } = require('../../../utils/makeRequest');
6-
const { gcpRequestRetry, genUniqID } = require('../../../utils/gcpUtils');
13+
const { genUniqID, gcpRetry } = require('../../../utils/gcpUtils');
714
const { getRealAwsConfig } =
815
require('../../../../aws-node-sdk/test/support/awsConfig');
916
const { listingHardLimit } = require('../../../../../../constants');
@@ -18,95 +25,98 @@ const gcpClient = new GCP(config);
1825
function populateBucket(createdObjects, callback) {
1926
process.stdout.write(
2027
`Putting ${createdObjects.length} objects into bucket\n`);
21-
async.mapLimit(createdObjects, 10,
22-
(object, moveOn) => {
23-
makeGcpRequest({
24-
method: 'PUT',
25-
bucket: bucketName,
26-
objectKey: object,
27-
authCredentials: config.credentials,
28-
}, err => {
29-
moveOn(err);
30-
});
31-
}, err => {
32-
if (err) {
33-
process.stdout
34-
.write(`err putting objects ${err.code}\n`);
28+
async.mapLimit(
29+
createdObjects,
30+
10,
31+
(object, moveOn) => {
32+
const command = new PutObjectCommand({
33+
Bucket: bucketName,
34+
Key: object,
35+
});
36+
gcpClient.send(command)
37+
.then(() => moveOn())
38+
.catch(err => moveOn(err));
39+
},
40+
err => {
41+
if (err) {
42+
process.stdout
43+
.write(`err putting objects ${err}\n`);
44+
}
45+
return callback(err);
3546
}
36-
return callback(err);
37-
});
47+
);
3848
}
3949

4050
function removeObjects(createdObjects, callback) {
4151
process.stdout.write(
4252
`Deleting ${createdObjects.length} objects from bucket\n`);
43-
async.mapLimit(createdObjects, 10,
44-
(object, moveOn) => {
45-
makeGcpRequest({
46-
method: 'DELETE',
47-
bucket: bucketName,
48-
objectKey: object,
49-
authCredentials: config.credentials,
50-
}, err => moveOn(err));
51-
}, err => {
52-
if (err) {
53-
process.stdout
54-
.write(`err deleting objects ${err.code}\n`);
53+
async.mapLimit(
54+
createdObjects,
55+
10,
56+
(object, moveOn) => {
57+
const command = new DeleteObjectCommand({
58+
Bucket: bucketName,
59+
Key: object,
60+
});
61+
gcpClient.send(command)
62+
.then(() => moveOn())
63+
.catch(err => moveOn(err));
64+
},
65+
err => {
66+
if (err) {
67+
process.stdout
68+
.write(`err deleting objects ${err}\n`);
69+
}
70+
return callback(err);
5571
}
56-
return callback(err);
57-
});
72+
);
5873
}
5974

6075
describe('GCP: GET Bucket', function testSuite() {
6176
this.timeout(180000);
6277

63-
before(done => {
64-
gcpRequestRetry({
65-
method: 'PUT',
66-
bucket: bucketName,
67-
authCredentials: config.credentials,
68-
}, 0, err => {
69-
if (err) {
70-
process.stdout.write(`err in creating bucket ${err}\n`);
71-
}
72-
return done(err);
73-
});
78+
before(async () => {
79+
await gcpRetry(
80+
gcpClient,
81+
() => new CreateBucketCommand({
82+
Bucket: bucketName,
83+
}),
84+
);
7485
});
7586

76-
after(done => {
77-
gcpRequestRetry({
78-
method: 'DELETE',
79-
bucket: bucketName,
80-
authCredentials: config.credentials,
81-
}, 0, err => {
82-
if (err) {
83-
process.stdout.write(`err in deleting bucket ${err}\n`);
84-
}
85-
return done(err);
86-
});
87+
after(async () => {
88+
await gcpRetry(
89+
gcpClient,
90+
() => new DeleteBucketCommand({
91+
Bucket: bucketName,
92+
}),
93+
);
8794
});
8895

8996
describe('without existing bucket', () => {
90-
it('should return 404 and NoSuchBucket', done => {
97+
it('should return 404 and NoSuchBucket', async () => {
9198
const badBucketName = `nonexistingbucket-${genUniqID()}`;
92-
gcpClient.getBucket({
93-
Bucket: badBucketName,
94-
}, err => {
99+
try {
100+
const command = new HeadBucketCommand({
101+
Bucket: badBucketName,
102+
});
103+
await gcpClient.send(command);
104+
assert.fail('Expected NoSuchBucket error, but got success');
105+
} catch (err) {
95106
assert(err);
96-
assert.strictEqual(err.$metadata?.httpStatusCode, 404);
97-
assert.strictEqual(err.name, 'NoSuchBucket');
98-
return done();
99-
});
107+
const statusCode = err.$metadata && err.$metadata.httpStatusCode;
108+
assert.strictEqual(statusCode, 404);
109+
const errorName = err.name === 'NotFound' ? 'NoSuchBucket' : err.name;
110+
assert.strictEqual(errorName, 'NoSuchBucket');
111+
}
100112
});
101113

102-
it('should return 200', done => {
103-
gcpClient.listObjects({
114+
it('should return 200', async () => {
115+
const command = new ListObjectsCommand({
104116
Bucket: bucketName,
105-
}, (err, res) => {
106-
assert.equal(err, null, `Expected success, but got ${err}`);
107-
assert.strictEqual(res.$metadata?.httpStatusCode, 200);
108-
return done();
109117
});
118+
const res = await gcpClient.send(command);
119+
assert.strictEqual(res.$metadata?.httpStatusCode, 200);
110120
});
111121
});
112122

@@ -119,27 +129,22 @@ describe('GCP: GET Bucket', function testSuite() {
119129

120130
after(done => removeObjects(createdObjects, done));
121131

122-
it(`should list all ${smallSize} created objects`, done => {
123-
gcpClient.listObjects({
132+
it(`should list all ${smallSize} created objects`, async () => {
133+
const command = new ListObjectsCommand({
124134
Bucket: bucketName,
125-
}, (err, res) => {
126-
assert.equal(err, null, `Expected success, but got ${err}`);
127-
assert.strictEqual(res.Contents.length, smallSize);
128-
return done();
129135
});
136+
const res = await gcpClient.send(command);
137+
assert.strictEqual(res.Contents.length, smallSize);
130138
});
131139

132140
describe('with MaxKeys at 10', () => {
133-
it('should list MaxKeys number of objects', done => {
134-
gcpClient.listObjects({
141+
it('should list MaxKeys number of objects', async () => {
142+
const command = new ListObjectsCommand({
135143
Bucket: bucketName,
136144
MaxKeys: 10,
137-
}, (err, res) => {
138-
assert.equal(err, null,
139-
`Expected success, but got ${err}`);
140-
assert.strictEqual(res.Contents.length, 10);
141-
return done();
142145
});
146+
const res = await gcpClient.send(command);
147+
assert.strictEqual(res.Contents.length, 10);
143148
});
144149
});
145150
});
@@ -152,15 +157,12 @@ describe('GCP: GET Bucket', function testSuite() {
152157

153158
after(done => removeObjects(createdObjects, done));
154159

155-
it('should list at max 1000 of objects created', done => {
156-
gcpClient.listObjects({
160+
it('should list at max 1000 of objects created', async () => {
161+
const command = new ListObjectsCommand({
157162
Bucket: bucketName,
158-
}, (err, res) => {
159-
assert.equal(err, null, `Expected success, but got ${err}`);
160-
assert.strictEqual(res.Contents.length,
161-
listingHardLimit);
162-
return done();
163163
});
164+
const res = await gcpClient.send(command);
165+
assert.strictEqual(res.Contents.length, listingHardLimit);
164166
});
165167

166168
describe('with MaxKeys at 1001', () => {
@@ -175,17 +177,13 @@ describe('GCP: GET Bucket', function testSuite() {
175177
//
176178
// Actual behavior: it returns a list longer than 1000 objects when
177179
// max-keys is greater than 1000
178-
it.skip('should list at max 1000, ignoring MaxKeys', done => {
179-
gcpClient.listObjects({
180+
it.skip('should list at max 1000, ignoring MaxKeys', async () => {
181+
const command = new ListObjectsCommand({
180182
Bucket: bucketName,
181183
MaxKeys: 1001,
182-
}, (err, res) => {
183-
assert.equal(err, null,
184-
`Expected success, but got ${err}`);
185-
assert.strictEqual(res.Contents.length,
186-
listingHardLimit);
187-
return done();
188184
});
185+
const res = await gcpClient.send(command);
186+
assert.strictEqual(res.Contents.length, listingHardLimit);
189187
});
190188
});
191189
});

0 commit comments

Comments
 (0)