mirror of
https://github.com/langgenius/dify.git
synced 2026-03-13 21:22:28 +08:00
72 lines
2.3 KiB
TypeScript
72 lines
2.3 KiB
TypeScript
import {
|
|
AUDIO_SIZE_LIMIT,
|
|
FILE_SIZE_LIMIT,
|
|
FILE_URL_REGEX,
|
|
IMG_SIZE_LIMIT,
|
|
MAX_FILE_UPLOAD_LIMIT,
|
|
VIDEO_SIZE_LIMIT,
|
|
} from './constants'
|
|
|
|
describe('file-uploader constants', () => {
|
|
describe('size limit constants', () => {
|
|
it('should set IMG_SIZE_LIMIT to 10 MB', () => {
|
|
expect(IMG_SIZE_LIMIT).toBe(10 * 1024 * 1024)
|
|
})
|
|
|
|
it('should set FILE_SIZE_LIMIT to 15 MB', () => {
|
|
expect(FILE_SIZE_LIMIT).toBe(15 * 1024 * 1024)
|
|
})
|
|
|
|
it('should set AUDIO_SIZE_LIMIT to 50 MB', () => {
|
|
expect(AUDIO_SIZE_LIMIT).toBe(50 * 1024 * 1024)
|
|
})
|
|
|
|
it('should set VIDEO_SIZE_LIMIT to 100 MB', () => {
|
|
expect(VIDEO_SIZE_LIMIT).toBe(100 * 1024 * 1024)
|
|
})
|
|
|
|
it('should set MAX_FILE_UPLOAD_LIMIT to 10', () => {
|
|
expect(MAX_FILE_UPLOAD_LIMIT).toBe(10)
|
|
})
|
|
})
|
|
|
|
describe('FILE_URL_REGEX', () => {
|
|
it('should match http URLs', () => {
|
|
expect(FILE_URL_REGEX.test('http://example.com')).toBe(true)
|
|
expect(FILE_URL_REGEX.test('http://example.com/path/file.txt')).toBe(true)
|
|
})
|
|
|
|
it('should match https URLs', () => {
|
|
expect(FILE_URL_REGEX.test('https://example.com')).toBe(true)
|
|
expect(FILE_URL_REGEX.test('https://example.com/path/file.pdf')).toBe(true)
|
|
})
|
|
|
|
it('should match ftp URLs', () => {
|
|
expect(FILE_URL_REGEX.test('ftp://files.example.com')).toBe(true)
|
|
expect(FILE_URL_REGEX.test('ftp://files.example.com/data.csv')).toBe(true)
|
|
})
|
|
|
|
it('should reject URLs without a valid protocol', () => {
|
|
expect(FILE_URL_REGEX.test('example.com')).toBe(false)
|
|
expect(FILE_URL_REGEX.test('www.example.com')).toBe(false)
|
|
})
|
|
|
|
it('should reject empty strings', () => {
|
|
expect(FILE_URL_REGEX.test('')).toBe(false)
|
|
})
|
|
|
|
it('should reject unsupported protocols', () => {
|
|
expect(FILE_URL_REGEX.test('file:///local/path')).toBe(false)
|
|
expect(FILE_URL_REGEX.test('ssh://host')).toBe(false)
|
|
expect(FILE_URL_REGEX.test('data:text/plain;base64,abc')).toBe(false)
|
|
})
|
|
|
|
it('should reject partial protocol strings', () => {
|
|
expect(FILE_URL_REGEX.test('http:')).toBe(false)
|
|
expect(FILE_URL_REGEX.test('http:/')).toBe(false)
|
|
expect(FILE_URL_REGEX.test('https:')).toBe(false)
|
|
expect(FILE_URL_REGEX.test('ftp:')).toBe(false)
|
|
})
|
|
})
|
|
})
|