Refactor VPN proxy components and update related behavior
Build and Deploy Gateway / build-and-push (push) Successful in 20s
Build and Deploy Gateway / deploy (push) Successful in 13s

This commit is contained in:
2026-08-11 01:27:46 +03:00
parent c89e56942a
commit aa9c959368
58 changed files with 4234 additions and 2755 deletions
+24 -10
View File
@@ -68,12 +68,17 @@ test('connectivity diagnostics endpoint is available in Connect and Gateway thro
test('connectivity use case captures applied server before probes and preserves result fields', async () => {
const events = [];
let state = {
desiredProfileId: 'primary',
appliedProfileId: 'primary',
appliedServerId: 'applied',
selectedServerId: 'selected',
servers: [
{ id: 'applied', label: 'Applied before probe' },
{ id: 'selected', label: 'Selected' },
],
profiles: [{
id: 'primary',
desiredServerId: 'selected',
servers: [
{ id: 'applied', label: 'Applied before probe' },
{ id: 'selected', label: 'Selected' },
],
}],
};
let releaseProbe;
const probe = new Promise((resolve) => { releaseProbe = resolve; });
@@ -95,7 +100,7 @@ test('connectivity use case captures applied server before probes and preserves
},
});
const resultPromise = useCase.run({ raw: true }, 42);
state.servers[0].label = 'Changed during probe';
state.profiles[0].servers[0].label = 'Changed during probe';
releaseProbe();
const result = await resultPromise;
@@ -114,9 +119,13 @@ test('connectivity use case keeps applied priority, selected fallback and error
const result = { vpn: { available: false }, marker: true };
const selected = createConnectivityDiagnosticsUseCase({
readState: () => ({
desiredProfileId: 'primary',
appliedServerId: '',
selectedServerId: 'selected',
servers: [{ id: 'selected', label: 'Selected' }],
profiles: [{
id: 'primary',
desiredServerId: 'selected',
servers: [{ id: 'selected', label: 'Selected' }],
}],
}),
runDiagnostics: async () => result,
});
@@ -127,9 +136,14 @@ test('connectivity use case keeps applied priority, selected fallback and error
const missingApplied = createConnectivityDiagnosticsUseCase({
readState: () => ({
desiredProfileId: 'primary',
appliedProfileId: 'primary',
appliedServerId: 'missing',
selectedServerId: 'selected',
servers: [{ id: 'selected', label: 'Selected' }],
profiles: [{
id: 'primary',
desiredServerId: 'selected',
servers: [{ id: 'selected', label: 'Selected' }],
}],
}),
runDiagnostics: async () => result,
});