Initial Commit
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import assert from 'node:assert/strict';
|
||||
|
||||
const base = process.env.SMOKE_WEB_BASE ?? 'http://127.0.0.1:5173';
|
||||
const origin = process.env.APP_ORIGIN ?? 'https://dev.evebot.app';
|
||||
for (const path of ['/', '/assets', '/characters']) {
|
||||
const response = await fetch(`${base}${path}`, { redirect: 'manual' });
|
||||
assert.equal(response.status, 200, `SSR ${path}`);
|
||||
assert(!(await response.text()).includes('FIXTURE DEMO'), 'live app must not be demo mode');
|
||||
}
|
||||
for (const message of ['/assets', '/value']) {
|
||||
const response = await fetch(`${base}/api/chat`, {
|
||||
method: 'POST', headers: { origin, 'content-type': 'application/json' },
|
||||
body: JSON.stringify({ message, requestId: crypto.randomUUID() }),
|
||||
});
|
||||
assert.equal(response.status, 200);
|
||||
const result = await response.json();
|
||||
assert.equal(result.status, 'authentication_required');
|
||||
assert.equal(result.operation?.status, 'authentication_required');
|
||||
}
|
||||
assert.equal((await fetch(`${base}/api/session/token`)).status, 401);
|
||||
assert.equal((await fetch(`${base}/api/sync`, { method: 'POST', headers: { origin: 'https://untrusted.example' } })).status, 403);
|
||||
console.log('Live anonymous web smoke passed: SSR, no demo fallback, asset/chat authentication gates, session-token protection, and CSRF. No EVE login or character data accessed.');
|
||||
Reference in New Issue
Block a user