Skip to content

Commit 62d78d2

Browse files
committed
fix(test): update bucket cleanup logic to disable soft-delete policy before deletion
1 parent 87a4d6a commit 62d78d2

1 file changed

Lines changed: 24 additions & 20 deletions

File tree

storage/system-test/files.test.js

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -57,27 +57,31 @@ describe('file', () => {
5757
});
5858

5959
after(async () => {
60+
// Clean up local temporary download file
6061
await promisify(fs.unlink)(downloadFilePath).catch(console.error);
61-
// Try deleting all files twice, just to make sure
62-
await bucket.deleteFiles({force: true}).catch(console.error);
63-
await bucket.deleteFiles({force: true}).catch(console.error);
64-
await bucket.delete().catch(console.error);
65-
await softDeleteBucket
66-
.deleteFiles({force: true, versions: true})
67-
.catch(() => {});
68-
await softDeleteBucket.delete({ignoreNotFound: true}).catch(console.error);
69-
70-
await objectRetentionBucket.deleteFiles({force: true}).catch(() => {});
71-
await objectRetentionBucket
72-
.delete({ignoreNotFound: true})
73-
.catch(console.error);
74-
75-
await objectRetentionBucket
76-
.deleteFiles({force: true, versions: true})
77-
.catch(() => {});
78-
await objectRetentionBucket
79-
.delete({ignoreNotFound: true})
80-
.catch(console.error);
62+
63+
const targetBuckets = [bucket, softDeleteBucket, objectRetentionBucket];
64+
65+
for (const bucket of targetBuckets) {
66+
try {
67+
// Disable soft delete retention policy to allow immediate object purging
68+
await bucket
69+
.setMetadata({
70+
softDeletePolicy: {
71+
retentionDurationSeconds: 0,
72+
},
73+
})
74+
.catch(() => {});
75+
76+
// Force delete all objects, including archived generations and soft-deleted files
77+
await bucket.deleteFiles({force: true, versions: true}).catch(() => {});
78+
79+
// Remove the empty bucket from Google Cloud Storage
80+
await bucket.delete({ignoreNotFound: true});
81+
} catch (error) {
82+
console.error(`Failed to delete bucket ${bucket.name}:`, error.message);
83+
}
84+
}
8185
});
8286

8387
it('should upload a file', async () => {

0 commit comments

Comments
 (0)