mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-06-17 05:12:02 +08:00
42 lines
1.8 KiB
TypeScript
42 lines
1.8 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
|
|
import { browserUseService, isBlockedBrowserUseAddress } from '@/modules/browser-use/browser-use.service.js';
|
|
|
|
test('browser use blocks private and local network addresses by default', () => {
|
|
assert.equal(isBlockedBrowserUseAddress('127.0.0.1'), true);
|
|
assert.equal(isBlockedBrowserUseAddress('10.0.0.12'), true);
|
|
assert.equal(isBlockedBrowserUseAddress('172.16.4.8'), true);
|
|
assert.equal(isBlockedBrowserUseAddress('192.168.1.4'), true);
|
|
assert.equal(isBlockedBrowserUseAddress('169.254.169.254'), true);
|
|
assert.equal(isBlockedBrowserUseAddress('::1'), true);
|
|
assert.equal(isBlockedBrowserUseAddress('8.8.8.8'), false);
|
|
assert.equal(isBlockedBrowserUseAddress('2001:4860:4860::8888'), false);
|
|
});
|
|
|
|
test('browser use sessions are listed only for their owner', async () => {
|
|
const originalEnabled = process.env.CLOUDCLI_BROWSER_USE_ENABLED;
|
|
process.env.CLOUDCLI_BROWSER_USE_ENABLED = '0';
|
|
|
|
const ownerA = { id: `owner-a-${Date.now()}-${Math.random()}` };
|
|
const ownerB = { id: `owner-b-${Date.now()}-${Math.random()}` };
|
|
|
|
try {
|
|
const ownerASession = await browserUseService.createSession(ownerA);
|
|
await browserUseService.createSession(ownerB);
|
|
|
|
const ownerASessions = await browserUseService.listSessions(ownerA);
|
|
const ownerBSessions = await browserUseService.listSessions(ownerB);
|
|
|
|
assert.equal(ownerASessions.some((session) => session.id === ownerASession.id), true);
|
|
assert.equal(ownerBSessions.some((session) => session.id === ownerASession.id), false);
|
|
assert.equal(Object.hasOwn(ownerASession, 'ownerId'), false);
|
|
} finally {
|
|
if (originalEnabled === undefined) {
|
|
delete process.env.CLOUDCLI_BROWSER_USE_ENABLED;
|
|
} else {
|
|
process.env.CLOUDCLI_BROWSER_USE_ENABLED = originalEnabled;
|
|
}
|
|
}
|
|
});
|