@@ -2,10 +2,14 @@ const assert = require('assert');
22const async = require ( 'async' ) ;
33const arsenal = require ( 'arsenal' ) ;
44const { GCP } = arsenal . storage . data . external . GCP ;
5- const { makeGcpRequest } = require ( '../../../utils/makeRequest' ) ;
6- const { gcpRequestRetry, genUniqID } = require ( '../../../utils/gcpUtils' ) ;
5+ const { genUniqID, gcpRetry } = require ( '../../../utils/gcpUtils' ) ;
76const { getRealAwsConfig } =
87 require ( '../../../../aws-node-sdk/test/support/awsConfig' ) ;
8+ const {
9+ CreateBucketCommand,
10+ DeleteBucketCommand,
11+ PutObjectCommand,
12+ } = require ( '@aws-sdk/client-s3' ) ;
913
1014const credentialOne = 'gcpbackend' ;
1115const bucketName = `somebucket-${ genUniqID ( ) } ` ;
@@ -15,30 +19,18 @@ describe('GCP: COPY Object', function testSuite() {
1519 const config = getRealAwsConfig ( credentialOne ) ;
1620 const gcpClient = new GCP ( config ) ;
1721
18- before ( done => {
19- gcpRequestRetry ( {
20- method : 'PUT' ,
21- bucket : bucketName ,
22- authCredentials : config . credentials ,
23- } , 0 , err => {
24- if ( err ) {
25- process . stdout . write ( `err in creating bucket ${ err } \n` ) ;
26- }
27- return done ( err ) ;
28- } ) ;
22+ before ( async ( ) => {
23+ await gcpRetry (
24+ gcpClient ,
25+ new CreateBucketCommand ( { Bucket : bucketName } ) ,
26+ ) ;
2927 } ) ;
3028
31- after ( done => {
32- gcpRequestRetry ( {
33- method : 'DELETE' ,
34- bucket : bucketName ,
35- authCredentials : config . credentials ,
36- } , 0 , err => {
37- if ( err ) {
38- process . stdout . write ( `err in creating bucket ${ err } \n` ) ;
39- }
40- return done ( err ) ;
41- } ) ;
29+ after ( async ( ) => {
30+ await gcpRetry (
31+ gcpClient ,
32+ new DeleteBucketCommand ( { Bucket : bucketName } ) ,
33+ ) ;
4234 } ) ;
4335
4436 describe ( 'without existing object in bucket' , ( ) => {
@@ -59,45 +51,35 @@ describe('GCP: COPY Object', function testSuite() {
5951 } ) ;
6052
6153 describe ( 'with existing object in bucket' , ( ) => {
62- beforeEach ( function beforeFn ( done ) {
54+ beforeEach ( async function beforeFn ( ) {
6355 this . currentTest . key = `somekey-${ genUniqID ( ) } ` ;
6456 this . currentTest . copyKey = `copykey-${ genUniqID ( ) } ` ;
6557 this . currentTest . initValue = `${ genUniqID ( ) } ` ;
66- makeGcpRequest ( {
67- method : 'PUT' ,
68- bucket : bucketName ,
69- objectKey : this . currentTest . copyKey ,
70- headers : {
71- 'x-goog-meta-value' : this . currentTest . initValue ,
58+ const cmd = new PutObjectCommand ( {
59+ Bucket : bucketName ,
60+ Key : this . currentTest . copyKey ,
61+ Metadata : {
62+ value : this . currentTest . initValue ,
7263 } ,
73- authCredentials : config . credentials ,
74- } , ( err , res ) => {
75- if ( err ) {
76- process . stdout . write ( `err in creating object ${ err } \n` ) ;
77- }
78- this . currentTest . contentHash = res . headers [ 'x-goog-hash' ] ;
79- return done ( err ) ;
8064 } ) ;
65+ const res = await gcpClient . send ( cmd ) ;
66+ this . currentTest . ETag = res . ETag ;
8167 } ) ;
8268
8369 afterEach ( function afterFn ( done ) {
8470 async . parallel ( [
85- next => makeGcpRequest ( {
86- method : 'DELETE' ,
87- bucket : bucketName ,
88- objectKey : this . currentTest . key ,
89- authCredentials : config . credentials ,
71+ next => gcpClient . deleteObject ( {
72+ Bucket : bucketName ,
73+ Key : this . currentTest . key ,
9074 } , err => {
9175 if ( err ) {
9276 process . stdout . write ( `err in deleting object ${ err } \n` ) ;
9377 }
9478 return next ( err ) ;
9579 } ) ,
96- next => makeGcpRequest ( {
97- method : 'DELETE' ,
98- bucket : bucketName ,
99- objectKey : this . currentTest . copyKey ,
100- authCredentials : config . credentials ,
80+ next => gcpClient . deleteObject ( {
81+ Bucket : bucketName ,
82+ Key : this . currentTest . copyKey ,
10183 } , err => {
10284 if ( err ) {
10385 process . stdout
@@ -125,20 +107,17 @@ describe('GCP: COPY Object', function testSuite() {
125107 `Expected success, but got error ${ err } ` ) ;
126108 return next ( ) ;
127109 } ) ,
128- next => makeGcpRequest ( {
129- method : 'HEAD' ,
130- bucket : bucketName ,
131- objectKey : this . test . key ,
132- authCredentials : config . credentials ,
110+ next => gcpClient . headObject ( {
111+ Bucket : bucketName ,
112+ Key : this . test . key ,
133113 } , ( err , res ) => {
134114 if ( err ) {
135115 process . stdout
136116 . write ( `err in retrieving object ${ err } \n` ) ;
137117 return next ( err ) ;
138118 }
139- assert . strictEqual ( this . test . contentHash ,
140- res . headers [ 'x-goog-hash' ] ) ;
141- assert . notStrictEqual ( res . headers [ 'x-goog-meta-value' ] ,
119+ assert . strictEqual ( res . ETag , this . test . ETag ) ;
120+ assert . notStrictEqual ( res . Metadata . value ,
142121 this . test . initValue ) ;
143122 return next ( ) ;
144123 } ) ,
@@ -158,20 +137,17 @@ describe('GCP: COPY Object', function testSuite() {
158137 `Expected success, but got error ${ err } ` ) ;
159138 return next ( ) ;
160139 } ) ,
161- next => makeGcpRequest ( {
162- method : 'HEAD' ,
163- bucket : bucketName ,
164- objectKey : this . test . key ,
165- authCredentials : config . credentials ,
140+ next => gcpClient . headObject ( {
141+ Bucket : bucketName ,
142+ Key : this . test . key ,
166143 } , ( err , res ) => {
167144 if ( err ) {
168145 process . stdout
169146 . write ( `err in retrieving object ${ err } \n` ) ;
170147 return next ( err ) ;
171148 }
172- assert . strictEqual ( this . test . contentHash ,
173- res . headers [ 'x-goog-hash' ] ) ;
174- assert . strictEqual ( res . headers [ 'x-goog-meta-value' ] ,
149+ assert . strictEqual ( res . ETag , this . test . ETag ) ;
150+ assert . strictEqual ( res . Metadata . value ,
175151 this . test . initValue ) ;
176152 return next ( ) ;
177153 } ) ,
0 commit comments