Add operations overview and category usage tracking

This commit is contained in:
wuyang
2026-11-04 11:10:29 +08:00
parent 7fc9d4d843
commit dde9742f9c
5 changed files with 47 additions and 6 deletions
+11
View File
@@ -174,3 +174,14 @@ test('daily symlinks cannot disclose files outside DATA_DIR', async t => {
assert.equal(response.status, 200); const text = await response.text(); assert.doesNotMatch(text, /OUTSIDE-SECRET/);
assert.deepEqual(JSON.parse(text), { records: [], invalid_count: 1 });
});
test('overview is authenticated and exposes only selected fields', async t => {
const { directory, request, login } = await fixture(t);
await writeFile(path.join(directory, 'ops-strategy.json'), JSON.stringify({ mission:'星栖', private:'SECRET' }));
await writeFile(path.join(directory, 'market-latest.json'), JSON.stringify({ observed_at:'2026-11-04', ranking:[{bvid:'https://evil.test',title:'榜单',views:1,private:'SECRET'}],account_videos:[] }));
assert.equal((await request('/api/overview')).status, 401);
const cookie = (await login()).headers.get('set-cookie').split(';')[0];
const response = await request('/api/overview', { headers:{cookie} }); const text = await response.text();
assert.doesNotMatch(text, /SECRET|evil/); const data = JSON.parse(text);
assert.equal(data.strategy.mission, '星栖'); assert.equal(data.market.ranking[0].bvid, '');
});