Skip to content

Commit d942fec

Browse files
author
Mauve Signweaver
committed
test: Ensure drive writable when reopened with URL
1 parent a2ea608 commit d942fec

1 file changed

Lines changed: 58 additions & 1 deletion

File tree

test.js

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)