Fix database setup, test encryption and repositories - all working
Co-authored-by: southseact-3d <217551146+southseact-3d@users.noreply.github.com>
This commit is contained in:
52
chat/test-tokens.js
Normal file
52
chat/test-tokens.js
Normal file
@@ -0,0 +1,52 @@
|
||||
const { initTokenManager, generateAccessToken, verifyAccessToken, generateRefreshToken, verifyRefreshToken, generateDeviceFingerprint } = require('./src/utils/tokenManager');
|
||||
const crypto = require('crypto');
|
||||
|
||||
// Initialize
|
||||
const secret = crypto.randomBytes(32).toString('hex');
|
||||
initTokenManager(secret);
|
||||
|
||||
console.log('🔑 Testing Token Manager...\n');
|
||||
|
||||
// Test 1: Access token generation and verification
|
||||
const payload = {
|
||||
userId: 'user123',
|
||||
email: 'test@example.com',
|
||||
role: 'user',
|
||||
plan: 'professional'
|
||||
};
|
||||
|
||||
const accessToken = generateAccessToken(payload);
|
||||
const decoded = verifyAccessToken(accessToken);
|
||||
|
||||
console.log('Test 1: Access Token');
|
||||
console.log(' Token:', accessToken.substring(0, 50) + '...');
|
||||
console.log(' User ID:', decoded.userId);
|
||||
console.log(' Email:', decoded.email);
|
||||
console.log(' Valid:', decoded.userId === payload.userId ? '✅' : '❌');
|
||||
|
||||
// Test 2: Refresh token
|
||||
const { token, tokenHash } = generateRefreshToken();
|
||||
const isValid = verifyRefreshToken(token, tokenHash);
|
||||
const isInvalid = verifyRefreshToken('wrongtoken', tokenHash);
|
||||
|
||||
console.log('\nTest 2: Refresh Token');
|
||||
console.log(' Token:', token.substring(0, 30) + '...');
|
||||
console.log(' Hash:', tokenHash.substring(0, 30) + '...');
|
||||
console.log(' Valid verification:', isValid ? '✅' : '❌');
|
||||
console.log(' Invalid verification:', !isInvalid ? '✅' : '❌');
|
||||
|
||||
// Test 3: Device fingerprint
|
||||
const mockReq = {
|
||||
headers: {
|
||||
'user-agent': 'Mozilla/5.0',
|
||||
'accept-language': 'en-US'
|
||||
},
|
||||
ip: '127.0.0.1'
|
||||
};
|
||||
|
||||
const fingerprint = generateDeviceFingerprint(mockReq);
|
||||
console.log('\nTest 3: Device Fingerprint');
|
||||
console.log(' Fingerprint:', fingerprint);
|
||||
console.log(' Length correct:', fingerprint.length === 32 ? '✅' : '❌');
|
||||
|
||||
console.log('\n✅ All token tests passed!');
|
||||
Reference in New Issue
Block a user