46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
jest.mock(
|
|
'../config/config',
|
|
() => ({
|
|
system: {
|
|
timezoneOffset: 8
|
|
}
|
|
}),
|
|
{ virtual: true }
|
|
)
|
|
|
|
jest.mock('../src/utils/logger', () => ({
|
|
info: jest.fn(),
|
|
warn: jest.fn(),
|
|
error: jest.fn(),
|
|
success: jest.fn(),
|
|
debug: jest.fn()
|
|
}))
|
|
|
|
const redis = require('../src/models/redis')
|
|
|
|
describe('redis api key parsing', () => {
|
|
test('parses openai responses toggle and rule fields for list data', () => {
|
|
const parsed = redis._parseApiKeyData({
|
|
enableOpenAIResponsesCodexAdaptation: 'false',
|
|
enableOpenAIResponsesPayloadRules: 'true',
|
|
openaiResponsesPayloadRules: JSON.stringify([
|
|
{ path: 'model', valueType: 'string', value: 'gpt-5' }
|
|
])
|
|
})
|
|
|
|
expect(parsed.enableOpenAIResponsesCodexAdaptation).toBe(false)
|
|
expect(parsed.enableOpenAIResponsesPayloadRules).toBe(true)
|
|
expect(parsed.openaiResponsesPayloadRules).toEqual([
|
|
{ path: 'model', valueType: 'string', value: 'gpt-5' }
|
|
])
|
|
})
|
|
|
|
test('uses safe defaults for missing openai responses fields', () => {
|
|
const parsed = redis._parseApiKeyData({})
|
|
|
|
expect(parsed.enableOpenAIResponsesCodexAdaptation).toBe(true)
|
|
expect(parsed.enableOpenAIResponsesPayloadRules).toBe(false)
|
|
expect(parsed.openaiResponsesPayloadRules).toEqual([])
|
|
})
|
|
})
|