Files
speckle-server/packages/objectloader2/src/helpers/cacheReader.spec.ts
T
Adam Hathcock 2b828a5eeb (OL2) refactor read queue (#4948)
* Rename to saveBatch

* forgot a file

* first pass of cacheReader

* OL2 tests have infinite timeout

* OL2 refactor works

* fix for tests

* get rid of pumps and fix test

* lint fix

* redo mermaid diagrams

* add readme section on deferment
2025-06-17 08:24:05 +01:00

36 lines
1.0 KiB
TypeScript

import { describe, expect, test } from 'vitest'
import { Base, Item } from '../types/types.js'
import { DefermentManager } from './defermentManager.js'
import { CacheReader } from './cacheReader.js'
import { MemoryDatabase } from '../operations/databases/memoryDatabase.js'
describe('CacheReader testing', () => {
test('deferred getObject', async () => {
const i1: Item = { baseId: 'id1', base: { id: 'id', speckle_type: 'type' } }
const deferments = new DefermentManager({ maxSizeInMb: 1, ttlms: 1 })
const cacheReader = new CacheReader(
new MemoryDatabase({
items: new Map<string, Base>([[i1.baseId, i1.base!]])
}),
deferments,
{
maxCacheReadSize: 1,
maxCacheWriteSize: 1,
maxCacheBatchWriteWait: 1,
maxCacheBatchReadWait: 1,
maxWriteQueueSize: 1
}
)
const objPromise = cacheReader.getObject({
id: i1.baseId
})
deferments.undefer(i1)
const base = await objPromise
expect(base).toMatchSnapshot()
await cacheReader.disposeAsync()
})
})