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:
copilot-swe-agent[bot]
2026-02-09 19:37:28 +00:00
parent 650d849ad2
commit fd6d2d641b
7 changed files with 539 additions and 20 deletions

52
chat/test-tokens.js Normal file
View 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!');