27 lines
986 B
JavaScript
27 lines
986 B
JavaScript
'use strict';
|
|
require('dotenv').config();
|
|
const supertest = require('supertest');
|
|
const { start } = require('../server');
|
|
(async () => {
|
|
const app = await start();
|
|
const agent = supertest.agent(app);
|
|
|
|
const r1 = await agent.get('/dev-login');
|
|
console.log('GET /dev-login status:', r1.status);
|
|
|
|
const m = r1.text.match(/name="_csrf"\s+value="([^"]+)"/);
|
|
console.log('csrf found:', !!m, m ? m[1].slice(0, 20) + '...' : '');
|
|
|
|
if (!m) { process.exit(1); }
|
|
|
|
const r2 = await agent.post('/dev-login').type('form').send({ preset: 'test', _csrf: m[1] });
|
|
console.log('POST /dev-login status:', r2.status, 'location:', r2.headers.location);
|
|
console.log('set-cookie:', r2.headers['set-cookie']);
|
|
|
|
const r3 = await agent.get('/');
|
|
console.log('GET / status:', r3.status, 'location:', r3.headers.location);
|
|
if (r3.status === 200) console.log('snippet:', r3.text.slice(0, 300));
|
|
|
|
process.exit(0);
|
|
})().catch(e => { console.error(e.message, e.stack); process.exit(1); });
|