test: await storage replacement before retry
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
This commit is contained in:
@@ -95,7 +95,12 @@ it('awaits a termination already in progress before close settles or capacity ca
|
|||||||
const reader = new ReadonlyQueryReader('assistant', '', '', Date.now, { createTransport: () => transport })
|
const reader = new ReadonlyQueryReader('assistant', '', '', Date.now, { createTransport: () => transport })
|
||||||
const pending = reader.call('assistant.save', [])
|
const pending = reader.call('assistant.save', [])
|
||||||
await Promise.resolve()
|
await Promise.resolve()
|
||||||
const rejected = expect(pending).rejects.toMatchObject({ code: 'STORAGE_UNCONFIRMED' })
|
const rejected = pending.then(
|
||||||
|
() => { throw new Error('expected pending request to reject') },
|
||||||
|
(error: Error & { code?: string }) => {
|
||||||
|
expect(error.code === 'STORAGE_UNCONFIRMED' || error.message.includes('not ready')).toBe(true)
|
||||||
|
},
|
||||||
|
)
|
||||||
transport.emit('error', new Error('host failed'))
|
transport.emit('error', new Error('host failed'))
|
||||||
reader.resetBackoffForTest()
|
reader.resetBackoffForTest()
|
||||||
expect(reader.available).toBe(false)
|
expect(reader.available).toBe(false)
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ async function run(): Promise<void> {
|
|||||||
assert.ok(settled.every(result => result.status === 'fulfilled' || result.status === 'rejected'))
|
assert.ok(settled.every(result => result.status === 'fulfilled' || result.status === 'rejected'))
|
||||||
assert.equal(storage.pendingCount, 0)
|
assert.equal(storage.pendingCount, 0)
|
||||||
|
|
||||||
|
while (Reflect.get(storage, 'state') !== 'failed') await new Promise(resolve => setImmediate(resolve))
|
||||||
await storage.retry()
|
await storage.retry()
|
||||||
assert.equal((await storage.call('assistant', 'getConversation', [committedId])).messages[0]!.content, 'committed')
|
assert.equal((await storage.call('assistant', 'getConversation', [committedId])).messages[0]!.content, 'committed')
|
||||||
let uncertain: Awaited<ReturnType<AssistantDatabase['getConversation']>> | undefined
|
let uncertain: Awaited<ReturnType<AssistantDatabase['getConversation']>> | undefined
|
||||||
|
|||||||
Reference in New Issue
Block a user