Skip to content

Commit 1401fbe

Browse files
CLDSRV-805: Factorize setup and cleanup function
1 parent 65ee31a commit 1401fbe

1 file changed

Lines changed: 29 additions & 54 deletions

File tree

  • tests/functional/raw-node/test/GCP/object

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

Lines changed: 29 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -33,35 +33,36 @@ describe('GCP: Object', function testSuite() {
3333
await gcpRetry(gcpClient, new DeleteBucketCommand({ Bucket: bucketName }));
3434
});
3535

36+
async function setupExistingObject(test) {
37+
/* eslint-disable no-param-reassign */
38+
test.key = `somekey-${genUniqID()}`;
39+
const res = await gcpClient.send(new PutObjectCommand({
40+
Bucket: bucketName,
41+
Key: test.key,
42+
}));
43+
test.uploadId = res.VersionId;
44+
test.ETag = res.ETag;
45+
/* eslint-enable no-param-reassign */
46+
}
47+
48+
async function cleanupObject(test) {
49+
if (!test.key) {
50+
return;
51+
}
52+
await gcpClient.send(new DeleteObjectCommand({
53+
Bucket: bucketName,
54+
Key: test.key,
55+
}));
56+
}
57+
3658
describe('HEAD Object', () => {
3759
describe('with existing object in bucket', () => {
3860
beforeEach(async function beforeFn() {
39-
this.currentTest.key = `somekey-${genUniqID()}`;
40-
const res = await gcpClient.send(new PutObjectCommand({
41-
Bucket: bucketName,
42-
Key: this.currentTest.key,
43-
}));
44-
this.currentTest.uploadId = res.VersionId;
45-
this.currentTest.ETag = res.ETag;
61+
await setupExistingObject(this.currentTest);
4662
});
4763

4864
afterEach(async function afterFn() {
49-
if (!this.currentTest.key) {
50-
return;
51-
}
52-
await new Promise((resolve, reject) => {
53-
gcpClient.deleteObject({
54-
Bucket: bucketName,
55-
Key: this.currentTest.key,
56-
}, err => {
57-
if (err) {
58-
process.stdout.write(`err in deleting object ${err}\n`);
59-
reject(err);
60-
return;
61-
}
62-
resolve();
63-
});
64-
});
65+
await cleanupObject(this.currentTest);
6566
});
6667

6768
it('should successfully retrieve object', async function testFn() {
@@ -94,20 +95,11 @@ describe('GCP: Object', function testSuite() {
9495
describe('GET Object', () => {
9596
describe('with existing object in bucket', () => {
9697
beforeEach(async function beforeFn() {
97-
this.currentTest.key = `somekey-${genUniqID()}`;
98-
const res = await gcpClient.send(new PutObjectCommand({
99-
Bucket: bucketName,
100-
Key: this.currentTest.key,
101-
}));
102-
this.currentTest.uploadId = res.VersionId;
103-
this.currentTest.ETag = res.ETag;
98+
await setupExistingObject(this.currentTest);
10499
});
105100

106101
afterEach(async function afterFn() {
107-
await gcpClient.send(new DeleteObjectCommand({
108-
Bucket: bucketName,
109-
Key: this.currentTest.key,
110-
}));
102+
await cleanupObject(this.currentTest);
111103
});
112104

113105
it('should successfully retrieve object', async function testFn() {
@@ -137,30 +129,13 @@ describe('GCP: Object', function testSuite() {
137129
});
138130

139131
describe('PUT Object', () => {
140-
afterEach(function afterFn(done) {
141-
if (!this.currentTest.key) {
142-
done();
143-
return;
144-
}
145-
gcpClient.deleteObject({
146-
Bucket: bucketName,
147-
Key: this.currentTest.key,
148-
}, err => {
149-
if (err) {
150-
process.stdout.write(`err in deleting object ${err}\n`);
151-
}
152-
return done(err);
153-
});
132+
afterEach(async function afterFn() {
133+
await cleanupObject(this.currentTest);
154134
});
155135

156136
describe('with existing object in bucket', () => {
157137
beforeEach(async function beforeFn() {
158-
this.currentTest.key = `somekey-${genUniqID()}`;
159-
const res = await gcpClient.send(new PutObjectCommand({
160-
Bucket: bucketName,
161-
Key: this.currentTest.key,
162-
}));
163-
this.currentTest.uploadId = res.VersionId;
138+
await setupExistingObject(this.currentTest);
164139
});
165140

166141
it('should overwrite object', function testFn(done) {

0 commit comments

Comments
 (0)