mirror of
https://github.com/DeNNiiInc/Web-Page-Performance-Test.git
synced 2026-04-18 04:05:58 +00:00
48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
const db = require('../lib/db');
|
|
const crypto = require('crypto');
|
|
|
|
async function testInsert() {
|
|
const id = crypto.randomUUID();
|
|
console.log('Testing DB Insert with ID:', id);
|
|
try {
|
|
const query = `
|
|
INSERT INTO test_results (id, url, user_uuid, user_ip, is_mobile, scores, metrics, filmstrip, timestamp)
|
|
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, NOW())
|
|
`;
|
|
const values = [
|
|
id,
|
|
'http://verify.local',
|
|
'user_verify',
|
|
'127.0.0.1',
|
|
false,
|
|
JSON.stringify({performance: 100}),
|
|
JSON.stringify({lcp: 500}),
|
|
JSON.stringify([{timing: 0, data: 'data:image/jpeg...'}])
|
|
];
|
|
|
|
await db.pool.query(query, values);
|
|
console.log('✅ Insert successful!');
|
|
|
|
// Check if we can read it back
|
|
const res = await db.pool.query('SELECT * FROM test_results WHERE id = $1', [id]);
|
|
if(res.rows.length > 0) {
|
|
console.log('✅ Read successful:', res.rows[0].url);
|
|
console.log(' Data:', JSON.stringify(res.rows[0].scores));
|
|
} else {
|
|
console.error('❌ Read failed!');
|
|
}
|
|
|
|
// Cleanup (optional, keeping it validates "filled" db, but user said "do insertions you need")
|
|
// Let's keep one row to show "it works"? No, cleaner to clean up or let user run real test.
|
|
// I will delete it to avoid junk.
|
|
await db.pool.query('DELETE FROM test_results WHERE id = $1', [id]);
|
|
console.log('✅ Cleanup successful!');
|
|
process.exit(0);
|
|
} catch (err) {
|
|
console.error('❌ DB Error:', err);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
testInsert();
|