chore: remove GitHub Actions workflows, use Woodpecker CI exclusively
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
import {
|
||||
generateCSRFToken,
|
||||
validateCSRFToken,
|
||||
getCSRFTokenFromStorage,
|
||||
setCSRFTokenToStorage,
|
||||
} from './csrf';
|
||||
|
||||
describe('csrf', () => {
|
||||
describe('generateCSRFToken', () => {
|
||||
it('should generate a token of correct length', () => {
|
||||
const token = generateCSRFToken();
|
||||
expect(token).toHaveLength(64);
|
||||
});
|
||||
|
||||
it('should generate unique tokens', () => {
|
||||
const token1 = generateCSRFToken();
|
||||
const token2 = generateCSRFToken();
|
||||
expect(token1).not.toBe(token2);
|
||||
});
|
||||
|
||||
it('should only contain hexadecimal characters', () => {
|
||||
const token = generateCSRFToken();
|
||||
expect(token).toMatch(/^[0-9a-f]{64}$/);
|
||||
});
|
||||
});
|
||||
|
||||
describe('validateCSRFToken', () => {
|
||||
it('should return true for matching tokens', () => {
|
||||
const token = generateCSRFToken();
|
||||
expect(validateCSRFToken(token, token)).toBe(true);
|
||||
});
|
||||
|
||||
it('should return false for mismatched tokens', () => {
|
||||
const token1 = generateCSRFToken();
|
||||
const token2 = generateCSRFToken();
|
||||
expect(validateCSRFToken(token1, token2)).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false for empty tokens', () => {
|
||||
expect(validateCSRFToken('', '')).toBe(false);
|
||||
expect(validateCSRFToken('token', '')).toBe(false);
|
||||
expect(validateCSRFToken('', 'token')).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('getCSRFTokenFromStorage', () => {
|
||||
it('should return token from sessionStorage', () => {
|
||||
sessionStorage.setItem('csrf_token', 'test-token');
|
||||
const token = getCSRFTokenFromStorage();
|
||||
expect(token).toBe('test-token');
|
||||
});
|
||||
|
||||
it('should return null when token not found', () => {
|
||||
sessionStorage.removeItem('csrf_token');
|
||||
const token = getCSRFTokenFromStorage();
|
||||
expect(token).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('setCSRFTokenToStorage', () => {
|
||||
it('should set token in sessionStorage', () => {
|
||||
setCSRFTokenToStorage('test-token');
|
||||
expect(sessionStorage.getItem('csrf_token')).toBe('test-token');
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user