mirror of
https://github.com/farcasclaudiu/Flowise.git
synced 2026-06-22 09:01:09 +03:00
e8f5f07735
* Add interactive swagger-ui auto-generated API docs from express * Update README.md * Update index.ts //@ts-ignore * Fix eslint no-console error * Add swagger paths * Add all end points * Update swagger.yml * update swagger yml file * update swagger config --------- Co-authored-by: Henry <hzj94@hotmail.com>
42 lines
1.5 KiB
TypeScript
42 lines
1.5 KiB
TypeScript
import { Request } from 'express'
|
|
import { ChatFlow } from '../../src/database/entities/ChatFlow'
|
|
import { validateChatflowAPIKey } from '../../src/utils/validateKey'
|
|
import { compareKeys, getAPIKeys } from '../../src/utils/apiKey'
|
|
|
|
jest.mock('../../src/utils/apiKey')
|
|
|
|
describe('validateChatflowAPIKey', () => {
|
|
let req: Partial<Request>
|
|
let chatflow: ChatFlow
|
|
|
|
beforeEach(() => {
|
|
req = {
|
|
headers: {}
|
|
}
|
|
chatflow = {
|
|
apikeyid: null
|
|
} as ChatFlow
|
|
})
|
|
|
|
it('should return true if chatflow.apikeyid is not set', async () => {
|
|
const result = await validateChatflowAPIKey(req as Request, chatflow)
|
|
expect(result).toBe(true)
|
|
})
|
|
|
|
it('should return false if chatflow.apikeyid is set but authorization header is missing', async () => {
|
|
chatflow.apikeyid = 'some-api-key-id'
|
|
const result = await validateChatflowAPIKey(req as Request, chatflow)
|
|
expect(result).toBe(false)
|
|
})
|
|
|
|
it('should return false if supplied key does not match the expected key', async () => {
|
|
chatflow.apikeyid = 'some-api-key-id'
|
|
req.headers['authorization'] = 'Bearer invalid-key'
|
|
;(getAPIKeys as jest.Mock).mockResolvedValue([{ id: 'some-api-key-id', apiSecret: 'expected-secret-key' }])
|
|
;(compareKeys as jest.Mock).mockImplementation((expected, supplied) => expected === supplied)
|
|
|
|
const result = await validateChatflowAPIKey(req as Request, chatflow)
|
|
expect(result).toBe(false)
|
|
})
|
|
})
|