mirror of
https://github.com/davidkaya/aryx.git
synced 2026-07-29 16:08:46 +02:00
Add a global Telemetry section in the settings panel with: - Toggle to enable/disable OTLP export - Text input for the OTLP endpoint URL (default: http://localhost:4317) - Guidance note about using \un run aspire\ for local testing Wire the setting through the full stack: - OpenTelemetrySettings type in shared domain with normalization - IPC channel, preload binding, and handler for persistence - SidecarClient forwards settings to createSidecarEnvironment - Sidecar environment injects OTEL_EXPORTER_OTLP_ENDPOINT when enabled - Settings loaded from workspace.json on startup and on change Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
83 lines
2.2 KiB
TypeScript
83 lines
2.2 KiB
TypeScript
import { describe, expect, test } from 'bun:test';
|
|
|
|
import { createSidecarEnvironment } from '@main/sidecar/sidecarEnvironment';
|
|
|
|
describe('createSidecarEnvironment', () => {
|
|
test('removes inherited Copilot loader variables before spawning the sidecar', () => {
|
|
expect(
|
|
createSidecarEnvironment({
|
|
PATH: 'C:\\tools',
|
|
APPDATA: 'C:\\Users\\mail\\AppData\\Roaming',
|
|
COPILOT_CLI: '1',
|
|
COPILOT_LOADER_PID: '1234',
|
|
copilot_run_app: '1',
|
|
bun_install: 'C:\\Users\\mail\\.bun',
|
|
NODE_OPTIONS: '--no-warnings',
|
|
electron_run_as_node: '1',
|
|
npm_config_user_agent: 'bun/1.3.6',
|
|
}),
|
|
).toEqual({
|
|
APPDATA: 'C:\\Users\\mail\\AppData\\Roaming',
|
|
PATH: 'C:\\tools',
|
|
});
|
|
});
|
|
|
|
test('preserves unrelated environment variables', () => {
|
|
expect(
|
|
createSidecarEnvironment({
|
|
PATH: 'C:\\tools',
|
|
HOME: 'C:\\Users\\mail',
|
|
FORCE_COLOR: '1',
|
|
HTTPS_PROXY: 'http://proxy.local:8080',
|
|
}),
|
|
).toEqual({
|
|
PATH: 'C:\\tools',
|
|
HOME: 'C:\\Users\\mail',
|
|
FORCE_COLOR: '1',
|
|
HTTPS_PROXY: 'http://proxy.local:8080',
|
|
});
|
|
});
|
|
|
|
test('injects OTEL_EXPORTER_OTLP_ENDPOINT when OpenTelemetry is enabled', () => {
|
|
expect(
|
|
createSidecarEnvironment(
|
|
{ PATH: 'C:\\tools' },
|
|
{ enabled: true, endpoint: 'http://localhost:4317' },
|
|
),
|
|
).toEqual({
|
|
PATH: 'C:\\tools',
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: 'http://localhost:4317',
|
|
});
|
|
});
|
|
|
|
test('does not inject OTEL_EXPORTER_OTLP_ENDPOINT when OpenTelemetry is disabled', () => {
|
|
expect(
|
|
createSidecarEnvironment(
|
|
{ PATH: 'C:\\tools' },
|
|
{ enabled: false, endpoint: 'http://localhost:4317' },
|
|
),
|
|
).toEqual({
|
|
PATH: 'C:\\tools',
|
|
});
|
|
});
|
|
|
|
test('does not inject OTEL_EXPORTER_OTLP_ENDPOINT when settings are undefined', () => {
|
|
expect(
|
|
createSidecarEnvironment({ PATH: 'C:\\tools' }),
|
|
).toEqual({
|
|
PATH: 'C:\\tools',
|
|
});
|
|
});
|
|
|
|
test('does not inject OTEL_EXPORTER_OTLP_ENDPOINT when endpoint is empty', () => {
|
|
expect(
|
|
createSidecarEnvironment(
|
|
{ PATH: 'C:\\tools' },
|
|
{ enabled: true, endpoint: '' },
|
|
),
|
|
).toEqual({
|
|
PATH: 'C:\\tools',
|
|
});
|
|
});
|
|
});
|