| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import { validPassword } from './index'
- import { VAR_REGEX, resetReg } from './index'
-
- describe('config test', () => {
- const passwordRegex = validPassword
-
- // Valid passwords
- test('Valid passwords: contains letter+digit, length ≥8', () => {
- expect(passwordRegex.test('password1')).toBe(true)
- expect(passwordRegex.test('PASSWORD1')).toBe(true)
- expect(passwordRegex.test('12345678a')).toBe(true)
- expect(passwordRegex.test('a1b2c3d4')).toBe(true)
- expect(passwordRegex.test('VeryLongPassword123')).toBe(true)
- expect(passwordRegex.test('short1')).toBe(false)
- })
-
- // Missing letter
- test('Invalid passwords: missing letter', () => {
- expect(passwordRegex.test('12345678')).toBe(false)
- expect(passwordRegex.test('!@#$%^&*123')).toBe(false)
- })
-
- // Missing digit
- test('Invalid passwords: missing digit', () => {
- expect(passwordRegex.test('password')).toBe(false)
- expect(passwordRegex.test('PASSWORD')).toBe(false)
- expect(passwordRegex.test('AbCdEfGh')).toBe(false)
- })
-
- // Too short
- test('Invalid passwords: less than 8 characters', () => {
- expect(passwordRegex.test('pass1')).toBe(false)
- expect(passwordRegex.test('abc123')).toBe(false)
- expect(passwordRegex.test('1a')).toBe(false)
- })
-
- // Boundary test
- test('Boundary test: exactly 8 characters', () => {
- expect(passwordRegex.test('abc12345')).toBe(true)
- expect(passwordRegex.test('1abcdefg')).toBe(true)
- })
-
- // Special characters
- test('Special characters: non-whitespace special chars allowed', () => {
- expect(passwordRegex.test('pass@123')).toBe(true)
- expect(passwordRegex.test('p@$$w0rd')).toBe(true)
- expect(passwordRegex.test('!1aBcDeF')).toBe(true)
- })
-
- // Contains whitespace
- test('Invalid passwords: contains whitespace', () => {
- expect(passwordRegex.test('pass word1')).toBe(false)
- expect(passwordRegex.test('password1 ')).toBe(false)
- expect(passwordRegex.test(' password1')).toBe(false)
- expect(passwordRegex.test('pass\tword1')).toBe(false)
- })
-
- it('matched variable names', () => {
- const vars = [
- // node output variables
- '{{#1749783300519.text#}}',
- '{{#1749783300519.llm.a#}}',
- '{{#1749783300519.llm.a.b.c#}}',
- '{{#1749783300519.llm.a#}}',
- // system variables
- '{{#sys.query#}}',
- // conversation variables
- '{{#conversation.aaa#}}',
- // env variables
- '{{#env.a#}}',
- // rag variables
- '{{#rag.1748945155129.a#}}',
- '{{#rag.shared.bbb#}}',
- ]
- vars.forEach((variable) => {
- expect(VAR_REGEX.test(variable)).toBe(true)
- resetReg()
- })
- })
- })
|