@@ -356,7 +356,7 @@ test('Load URL of created core is writable', async (t) => {
356356 }
357357} )
358358
359- test . solo ( 'Load URL of created core from disk is writable' , async ( t ) => {
359+ test ( 'Load URL of created core from disk is writable' , async ( t ) => {
360360 const data = 'Hello World!'
361361
362362 const storage = await tmp ( )
@@ -383,4 +383,61 @@ test.solo('Load URL of created core from disk is writable', async (t) => {
383383 }
384384} )
385385
386+ test ( 'Load URL of created drive is writable' , async ( t ) => {
387+ const data = 'Hello World!'
388+
389+ const storage = await tmp ( )
390+
391+ const sdk = await create ( { storage } )
392+
393+ try {
394+ const drive = await sdk . getDrive ( 'example' )
395+ t . is ( drive . writable , true )
396+ await drive . put ( 'example.txt' , data )
397+ const { url } = drive
398+ await drive . close ( )
399+
400+ const reloaded = await sdk . getDrive ( url )
401+ t . not ( reloaded , drive , 'new drive created' )
402+ t . is ( reloaded . url , url , 'same url' )
403+ t . is ( reloaded . writable , true , 'can still write' )
404+ await t . execution (
405+ reloaded . put ( 'example2.txt' , data ) , 'able to write'
406+ )
407+ t . is ( reloaded . version , 3 , 'both entries in length' )
408+ } finally {
409+ await sdk . close ( )
410+ }
411+ } )
412+
413+ test ( 'Load URL of created drive from disk is writable' , async ( t ) => {
414+ const data = 'Hello World!'
415+
416+ const storage = await tmp ( )
417+
418+ let sdk = await create ( { storage } )
419+
420+ try {
421+ const drive = await sdk . getDrive ( 'example' )
422+ t . is ( drive . writable , true )
423+ await drive . put ( 'example.txt' , data )
424+ const { url } = drive
425+ await drive . close ( )
426+
427+ await sdk . close ( )
428+ sdk = await create ( { storage } )
429+
430+ const reloaded = await sdk . getDrive ( url )
431+ t . not ( reloaded , drive , 'new drive created' )
432+ t . is ( reloaded . url , url , 'same url' )
433+ t . is ( reloaded . writable , true , 'can still write' )
434+ await t . execution (
435+ reloaded . put ( 'example2.txt' , data ) , 'able to write'
436+ )
437+ t . is ( reloaded . version , 3 , 'both entries in length' )
438+ } finally {
439+ await sdk . close ( )
440+ }
441+ } )
442+
386443// test('', async (t) => {})
0 commit comments