kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
feat: add tests for task caching
rodzic
034ea7a6c2
commit
311db19f02
|
@ -30,16 +30,66 @@ test('CalculatorTool', async (t) => {
|
|||
})
|
||||
})
|
||||
|
||||
test.only('CalculatorTool - caching', async (t) => {
|
||||
test('CalculatorTool - caching', async (t) => {
|
||||
const agentic = createTestAgenticRuntime()
|
||||
const tool = new CalculatorTool({ agentic })
|
||||
|
||||
const res = await tool.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res.result, 6)
|
||||
t.is(res.metadata.cacheStatus, 'miss')
|
||||
expectTypeOf(res.result).toMatchTypeOf<number>()
|
||||
const res00 = await tool.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res00.result, 6)
|
||||
t.is(res00.metadata.cacheStatus, 'miss')
|
||||
expectTypeOf(res00.result).toMatchTypeOf<number>()
|
||||
|
||||
const res2 = await tool.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res2.result, 6)
|
||||
t.is(res2.metadata.cacheStatus, 'hit')
|
||||
const res01 = await tool.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res01.result, 6)
|
||||
t.is(res01.metadata.cacheStatus, 'hit')
|
||||
|
||||
const res02 = await tool.callWithMetadata({ expression: '4 + 3' })
|
||||
t.is(res02.result, 7)
|
||||
t.is(res02.metadata.cacheStatus, 'miss')
|
||||
|
||||
const res03 = await tool.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res03.result, 6)
|
||||
t.is(res03.metadata.cacheStatus, 'hit')
|
||||
|
||||
const tool2 = new CalculatorTool({ agentic })
|
||||
const res20 = await tool2.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res20.result, 6)
|
||||
t.is(res20.metadata.cacheStatus, 'miss')
|
||||
})
|
||||
|
||||
test('CalculatorTool - disable caching', async (t) => {
|
||||
const agentic = createTestAgenticRuntime()
|
||||
const tool = new CalculatorTool({
|
||||
agentic,
|
||||
cacheConfig: { cacheStrategy: 'none' }
|
||||
})
|
||||
|
||||
const res00 = await tool.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res00.result, 6)
|
||||
t.is(res00.metadata.cacheStatus, 'miss')
|
||||
expectTypeOf(res00.result).toMatchTypeOf<number>()
|
||||
|
||||
const res01 = await tool.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res01.result, 6)
|
||||
t.is(res01.metadata.cacheStatus, 'miss')
|
||||
|
||||
const res02 = await tool.callWithMetadata({ expression: '4 + 3' })
|
||||
t.is(res02.result, 7)
|
||||
t.is(res02.metadata.cacheStatus, 'miss')
|
||||
|
||||
const res03 = await tool.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res03.result, 6)
|
||||
t.is(res03.metadata.cacheStatus, 'miss')
|
||||
|
||||
const tool2 = new CalculatorTool({
|
||||
agentic,
|
||||
cacheConfig: { cacheStrategy: 'default' }
|
||||
})
|
||||
const res20 = await tool2.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res20.result, 6)
|
||||
t.is(res20.metadata.cacheStatus, 'miss')
|
||||
|
||||
const res21 = await tool2.callWithMetadata({ expression: '2 * 3' })
|
||||
t.is(res21.result, 6)
|
||||
t.is(res21.metadata.cacheStatus, 'hit')
|
||||
})
|
||||
|
|
Ładowanie…
Reference in New Issue