Migrate Harbor state and traffic history to SQLite
This commit is contained in:
@@ -153,7 +153,7 @@ test('Mac and Gateway traffic drawers use one feature boundary and the cached re
|
||||
|
||||
test('traffic polling runs every second only while the drawer is open and unpaused', () => {
|
||||
assert.match(feature, /const POLL_MS = 1_000/);
|
||||
assert.match(feature, /if \(!enabled \|\| !isOpen \|\| paused\) return undefined/);
|
||||
assert.match(feature, /if \(!enabled \|\| !isOpen \|\| paused \|\| view !== 'live'\) return undefined/);
|
||||
assert.match(feature, /assertLiveTrafficSnapshot\(await loadLiveTraffic\(\)\)/);
|
||||
assert.match(feature, /setSnapshot\(next\)[\s\S]*setRequestState\('ready'\)/);
|
||||
assert.match(feature, /catch \{[\s\S]*setRequestState\('error'\)/);
|
||||
@@ -175,7 +175,7 @@ test('traffic drawer exposes the requested truthful states and accessible contro
|
||||
'Только трафик через Harbor Connect. Приложения macOS недоступны внутри Docker.',
|
||||
'Только соединения, прошедшие через sing-box Gateway. Трафик, обходящий sing-box напрямую, здесь не виден.',
|
||||
]) assert.match(feature, new RegExp(copy.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')));
|
||||
assert.match(feature, /\{feature\.isGateway \? 'GATEWAY' : 'MAC'\} · \{snapshot\?\.summary\.active \|\| 0\} АКТИВНЫХ/);
|
||||
assert.match(feature, /feature\.view === 'live' \? `\$\{snapshot\?\.summary\.active \|\| 0\} АКТИВНЫХ` : 'ИСТОРИЯ'/);
|
||||
assert.match(feature, /feature\.isGateway[\s\S]*Инспектор трафика выключен в настройках Harbor Gateway\.[\s\S]*Инспектор трафика выключен в настройках Harbor Connect\./);
|
||||
assert.match(feature, /feature\.isGateway[\s\S]*Только соединения, прошедшие через sing-box Gateway\. Трафик, обходящий sing-box напрямую, здесь не виден\.[\s\S]*Только трафик через Harbor Connect\. Приложения macOS недоступны внутри Docker\./);
|
||||
assert.match(feature, /aria-label="Найти устройство"/);
|
||||
@@ -187,7 +187,8 @@ test('traffic drawer exposes the requested truthful states and accessible contro
|
||||
assert.match(feature, /const \[expandedId, setExpandedId\] = useState\(''\)/);
|
||||
assert.match(feature, /aria-expanded=\{expanded\}[\s\S]*aria-controls=\{detailsId\}/);
|
||||
assert.match(feature, /Источник[\s\S]*Назначение[\s\S]*Правило[\s\S]*Цепочка/);
|
||||
assert.doesNotMatch(feature, /closeConnection|reroute|history|sessionStorage/);
|
||||
assert.doesNotMatch(feature, /closeConnection|reroute|sessionStorage/);
|
||||
assert.match(feature, /TrafficHistoryPanel/);
|
||||
});
|
||||
|
||||
test('traffic retention and grouping use canonical server settings and the frozen server observation clock', () => {
|
||||
|
||||
Reference in New Issue
Block a user