Add independent verified email accounts and revocable sessions
waterfall-wiki CI and deployment / verify-and-deploy (pull_request) Failing after 11m56s

This commit is contained in:
2026-10-29 16:34:53 +08:00
parent 8d487fa457
commit 134bc2c9cc
15 changed files with 468 additions and 4 deletions
+4 -1
View File
@@ -47,7 +47,10 @@ async function main() {
if (command === 'verify' || command === 'exercise') {
const request = (path:string,init:RequestInit={}) => fetch(base+path,{...init,redirect:'manual'});
const buildId = readFileSync('.next/BUILD_ID','utf8').trim();
for (const path of ['/','/library/import','/skills/shadow-puppet/egret-example.png','/studio',`/_next/data/${buildId}/index.json`]) {
assert.equal((await request('/')).status,200,'Public knowledge homepage');
assert.equal((await request('/account')).status,200,'Public account page');
assert.equal((await request('/api/posts',{method:'POST',headers:{Cookie:'wiki_account='+ 'a'.repeat(64)},body:'{}'})).status,401,'Account cookies never grant admin rights');
for (const path of ['/library/import','/skills/shadow-puppet/egret-example.png','/studio',`/_next/data/${buildId}/index.json`]) {
const response = await request(path); assert.equal(response.status,307,path); const destination = response.headers.get('location') || response.headers.get('x-nextjs-redirect'); assert.ok(isLoginRedirect(destination,base),path+' must redirect to login: '+destination);
}
for (const path of ['/api/feed','/api/upload','/studio/api/export/test','/api/media/missing']) assert.equal((await request(path)).status,401,path);