| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { eq } from 'drizzle-orm';
- import { db } from '../src/db';
- import { users } from '../src/db/schema/auth';
- import { isPasswordHash, verifyPassword } from '../src/lib/auth/password';
- async function runTest() {
- console.log('🔑 Testing password hashing...');
- const [admin] = await db
- .select()
- .from(users)
- .where(eq(users.email, 'admin@ekb.com'))
- .limit(1);
- if (!admin) {
- console.error('❌ admin@ekb.com not found. Run npx tsx src/db/seed.ts first.');
- process.exit(1);
- }
- if (!isPasswordHash(admin.passwordHash)) {
- console.error('❌ Admin password is not stored as a bcrypt hash.');
- process.exit(1);
- }
- const validPassword = await verifyPassword('hashed_password_here', admin.passwordHash);
- const invalidPassword = await verifyPassword('wrong-password', admin.passwordHash);
- if (!validPassword || invalidPassword) {
- console.error('❌ Password verification returned unexpected results.');
- process.exit(1);
- }
- console.log('✅ Password hashing checks passed.');
- process.exit(0);
- }
- runTest().catch((error) => {
- console.error('❌ Test failed with error:', error);
- process.exit(1);
- });
|