Files
wei-shaw--claude-relay-service/tests/redisApiKeyParse.test.js
T
2026-07-13 12:48:39 +08:00

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([])
})
})