11const Readable = require ( 'stream' ) . Readable ;
2- const { fromPromise } = require ( 'universalify' ) ;
32const azure = require ( '../lib' ) ;
43
54//Mock Date functions
@@ -123,69 +122,54 @@ test('validate partial credentials, no name', () => {
123122 }
124123 }
125124] . forEach ( scenario => {
126- test ( `test getFile ${ scenario . src } ` , done => {
125+ test ( `test getFile ${ scenario . src } ` , async ( ) => {
127126 const options = {
128127 publicContainerName : 'pubcon' ,
129128 privateContainerName : 'privcon'
130129 } ;
131130 const client = new azure ( options ) ;
131+ const operation = ( ) =>
132+ client [ scenario . src . match ( / \. j s o n $ / ) ? 'getJson' : 'getFile' ] (
133+ scenario . src ,
134+ false
135+ ) ;
132136
133- fromPromise ( client [ scenario . src . match ( / \. j s o n $ / ) ? 'getJson' : 'getFile' ] ) (
134- scenario . src ,
135- false ,
136- ( err , data ) => {
137- expect ( err ) . toEqual ( scenario . expected . err ) ;
138- expect ( data ) . toEqual ( scenario . expected . data ) ;
139- done ( ) ;
140- }
141- ) ;
137+ if ( scenario . expected . err ) {
138+ return expect ( operation ( ) ) . rejects . toEqual ( scenario . expected . err ) ;
139+ } else {
140+ return expect ( operation ( ) ) . resolves . toEqual ( scenario . expected . data ) ;
141+ }
142142 } ) ;
143143} ) ;
144144
145- test ( 'test getFile force mode' , done => {
145+ test ( 'test getFile force mode' , async ( ) => {
146146 const options = {
147147 publicContainerName : 'pubcon' ,
148148 privateContainerName : 'privcon'
149149 } ;
150-
151150 const client = new azure ( options ) ;
152- const getFile = fromPromise ( client . getFile ) ;
153-
154- getFile ( 'path/to-mutable.txt' , false , ( err1 , data1 ) => {
155- getFile ( 'path/to-mutable.txt' , ( err2 , data2 ) => {
156- getFile ( 'path/to-mutable.txt' , true , ( err3 , data3 ) => {
157- expect ( err1 ) . toBeNull ( ) ;
158- expect ( err2 ) . toBeNull ( ) ;
159- expect ( err3 ) . toBeNull ( ) ;
160- expect ( data1 ) . toBe ( data2 ) ;
161- expect ( data3 ) . not . toBe ( data1 ) ;
162- done ( ) ;
163- } ) ;
164- } ) ;
165- } ) ;
151+
152+ const data1 = await client . getFile ( 'path/to-mutable.txt' , false ) ;
153+ const data2 = await client . getFile ( 'path/to-mutable.txt' ) ;
154+ const data3 = await client . getFile ( 'path/to-mutable.txt' , true ) ;
155+
156+ expect ( data1 ) . toBe ( data2 ) ;
157+ expect ( data3 ) . not . toBe ( data1 ) ;
166158} ) ;
167159
168- test ( 'test getJson force mode' , done => {
160+ test ( 'test getJson force mode' , async ( ) => {
169161 const options = {
170162 publicContainerName : 'pubcon' ,
171163 privateContainerName : 'privcon'
172164 } ;
173-
174165 const client = new azure ( options ) ;
175- const getJson = fromPromise ( client . getJson ) ;
176-
177- getJson ( 'path/to-mutable.json' , false , ( err1 , data1 ) => {
178- getJson ( 'path/to-mutable.json' , ( err2 , data2 ) => {
179- getJson ( 'path/to-mutable.json' , true , ( err3 , data3 ) => {
180- expect ( err1 ) . toBeNull ( ) ;
181- expect ( err2 ) . toBeNull ( ) ;
182- expect ( err3 ) . toBeNull ( ) ;
183- expect ( data1 . value ) . toBe ( data2 . value ) ;
184- expect ( data3 . value ) . not . toBe ( data1 . value ) ;
185- done ( ) ;
186- } ) ;
187- } ) ;
188- } ) ;
166+
167+ const data1 = await client . getJson ( 'path/to-mutable.json' , false ) ;
168+ const data2 = await client . getJson ( 'path/to-mutable.json' ) ;
169+ const data3 = await client . getJson ( 'path/to-mutable.json' , true ) ;
170+
171+ expect ( data1 . value ) . toBe ( data2 . value ) ;
172+ expect ( data3 . value ) . not . toBe ( data1 . value ) ;
189173} ) ;
190174
191175[
@@ -194,31 +178,28 @@ test('test getJson force mode', done => {
194178 { path : 'components/image/' , expected : [ '1.0.0' , '1.0.1' ] } ,
195179 { path : 'components/image/1.0.0/' , expected : [ ] }
196180] . forEach ( scenario => {
197- test ( `test listObjects when bucket is not empty for folder ${ scenario . path } ` , done => {
181+ test ( `test listObjects when bucket is not empty for folder ${ scenario . path } ` , async ( ) => {
198182 const client = new azure ( {
199183 publicContainerName : 'pubcon' ,
200184 privateContainerName : 'privcon'
201185 } ) ;
202186
203- fromPromise ( client . listSubDirectories ) ( scenario . path , ( err , data ) => {
204- expect ( err ) . toBeFalsy ( ) ;
205- expect ( data ) . toEqual ( scenario . expected ) ;
206- done ( ) ;
207- } ) ;
187+ const data = await client . listSubDirectories ( scenario . path ) ;
188+
189+ expect ( data ) . toEqual ( scenario . expected ) ;
208190 } ) ;
209191} ) ;
210192
211193[ 'hello' , 'path/' ] . forEach ( scenario => {
212- test ( `test listObjects when bucket is empty for folder ${ scenario } ` , done => {
194+ test ( `test listObjects when bucket is empty for folder ${ scenario } ` , async ( ) => {
213195 const client = new azure ( {
214196 publicContainerName : 'my-empty-container' ,
215197 privateContainerName : 'my-empty-container'
216198 } ) ;
217199
218- fromPromise ( client . listSubDirectories ) ( scenario , ( err , data ) => {
219- expect ( data ) . toEqual ( [ ] ) ;
220- done ( ) ;
221- } ) ;
200+ const data = await client . listSubDirectories ( scenario ) ;
201+
202+ expect ( data ) . toEqual ( [ ] ) ;
222203 } ) ;
223204} ) ;
224205
@@ -227,61 +208,46 @@ test('test getUrl ', () => {
227208 expect ( client . getUrl ( 'test' , '1.0.0' , 'test.js' ) ) . toBe ( '/test/1.0.0/test.js' ) ;
228209} ) ;
229210
230- test ( 'test put dir (failure)' , done => {
211+ test ( 'test put dir (failure)' , ( ) => {
231212 const client = new azure ( {
232213 publicContainerName : 'pubcon' ,
233214 privateContainerName : 'privcon'
234215 } ) ;
235216
236- fromPromise ( client . putDir ) (
237- '/absolute-path-to-dir' ,
238- 'components\\componentName-error\\1.0.0' ,
239- ( err , res ) => {
240- expect ( res ) . toBeUndefined ( ) ;
241- expect ( err ) . toEqual ( {
242- msg : 'sorry'
243- } ) ;
244- done ( ) ;
245- }
246- ) ;
217+ return expect (
218+ client . putDir (
219+ '/absolute-path-to-dir' ,
220+ 'components\\componentName-error\\1.0.0'
221+ )
222+ ) . rejects . toEqual ( { msg : 'sorry' } ) ;
247223} ) ;
248224
249- test ( 'test put dir (stream failure throwing)' , done => {
225+ test ( 'test put dir (stream failure throwing)' , ( ) => {
250226 const client = new azure ( {
251227 publicContainerName : 'pubcon' ,
252228 privateContainerName : 'privcon'
253229 } ) ;
254230
255- fromPromise ( client . putDir ) (
256- '/absolute-path-to-dir' ,
257- 'components\\componentName-error-throw\\1.0.0' ,
258- ( err , res ) => {
259- expect ( res ) . toBeUndefined ( ) ;
260- expect ( err . msg ) . toContain ( 'sorry' ) ;
261- done ( ) ;
262- }
263- ) ;
231+ return expect (
232+ client . putDir (
233+ '/absolute-path-to-dir' ,
234+ 'components\\componentName-error-throw\\1.0.0'
235+ )
236+ ) . rejects . toEqual ( { msg : 'sorry' } ) ;
264237} ) ;
265238
266- test ( 'test private putFileContent' , done => {
239+ test ( 'test private putFileContent' , async ( ) => {
267240 const client = new azure ( {
268241 publicContainerName : 'pubcon' ,
269242 privateContainerName : 'privcon'
270243 } ) ;
271244
272- fromPromise ( client . putFileContent ) (
273- 'words' ,
274- 'filename.js' ,
275- true ,
276- ( err , result ) => {
277- expect ( err ) . toBeFalsy ( ) ;
278- expect ( result . container ) . toBe ( 'privcon' ) ;
279- done ( ) ;
280- }
281- ) ;
245+ const result = await client . putFileContent ( 'words' , 'filename.js' , true ) ;
246+
247+ expect ( result . container ) . toBe ( 'privcon' ) ;
282248} ) ;
283249
284- test ( 'test private putFileContent stream' , done => {
250+ test ( 'test private putFileContent stream' , async ( ) => {
285251 const client = new azure ( {
286252 publicContainerName : 'pubcon' ,
287253 privateContainerName : 'privcon'
@@ -292,41 +258,27 @@ test('test private putFileContent stream', done => {
292258 fileStream . push ( fileContent ) ;
293259 fileStream . push ( null ) ;
294260
295- fromPromise ( client . putFileContent ) (
296- fileStream ,
297- 'filename.js' ,
298- true ,
299- ( err , result ) => {
300- expect ( err ) . toBeFalsy ( ) ;
301- expect ( result . container ) . toBe ( 'privcon' ) ;
302- expect ( result . lengthWritten ) . toBe ( fileContent . length ) ;
303- expect ( result . settings . blobHTTPHeaders . blobCacheControl ) . toBe (
304- 'public, max-age=31556926'
305- ) ;
306- done ( ) ;
307- }
261+ const result = await client . putFileContent ( fileStream , 'filename.js' , true ) ;
262+
263+ expect ( result . container ) . toBe ( 'privcon' ) ;
264+ expect ( result . lengthWritten ) . toBe ( fileContent . length ) ;
265+ expect ( result . settings . blobHTTPHeaders . blobCacheControl ) . toBe (
266+ 'public, max-age=31556926'
308267 ) ;
309268} ) ;
310269
311- test ( 'test public putFileContent' , done => {
270+ test ( 'test public putFileContent' , async ( ) => {
312271 const client = new azure ( {
313272 publicContainerName : 'pubcon' ,
314273 privateContainerName : 'privcon'
315274 } ) ;
316275
317- fromPromise ( client . putFileContent ) (
318- 'words' ,
319- 'filename.gz' ,
320- false ,
321- ( err , result ) => {
322- expect ( err ) . toBeFalsy ( ) ;
323- expect ( result . container ) . toBe ( 'pubcon' ) ;
324- done ( ) ;
325- }
326- ) ;
276+ const result = await client . putFileContent ( 'words' , 'filename.gz' , false ) ;
277+
278+ expect ( result . container ) . toBe ( 'pubcon' ) ;
327279} ) ;
328280
329- test ( 'test public putFileContent stream' , done => {
281+ test ( 'test public putFileContent stream' , async ( ) => {
330282 const client = new azure ( {
331283 publicContainerName : 'pubcon' ,
332284 privateContainerName : 'privcon'
@@ -337,27 +289,27 @@ test('test public putFileContent stream', done => {
337289 fileStream . push ( fileContent ) ;
338290 fileStream . push ( null ) ;
339291
340- fromPromise ( client . putFileContent ) (
341- fileStream ,
342- 'filename.js' ,
343- false ,
344- ( err , result ) => {
345- expect ( err ) . toBeFalsy ( ) ;
346- expect ( result . container ) . toBe ( 'pubcon' ) ;
347- expect ( result . lengthWritten ) . toBe ( fileContent . length ) ;
348- done ( ) ;
349- }
350- ) ;
292+ const result = await client . putFileContent ( fileStream , 'filename.js' , false ) ;
293+
294+ expect ( result . container ) . toBe ( 'pubcon' ) ;
295+ expect ( result . lengthWritten ) . toBe ( fileContent . length ) ;
351296} ) ;
352297
353- test ( 'put a js file ' , done => {
298+ test ( 'put a js file ' , async ( ) => {
354299 const client = new azure ( {
355300 publicContainerName : 'pubcon' ,
356301 privateContainerName : 'privcon'
357302 } ) ;
358303
359- fromPromise ( client . putFile ) ( '../path' , 'hello.js' , false , err => {
360- expect ( err ) . toBeFalsy ( ) ;
361- done ( ) ;
304+ await expect ( client . putFile ( '../path' , 'hello.js' , false ) ) . resolves . toEqual ( {
305+ container : 'pubcon' ,
306+ fileName : 'hello.js' ,
307+ lengthWritten : 16 ,
308+ settings : {
309+ blobHTTPHeaders : {
310+ blobCacheControl : 'public, max-age=31556926' ,
311+ blobContentType : 'application/javascript'
312+ }
313+ }
362314 } ) ;
363315} ) ;
0 commit comments