unrip/test/trade-executor-static.test.mjs
philipp a4db57182c
All checks were successful
deploy / deploy (push) Successful in 45s
Instrument executor submission latency
Proof: targeted executor and dashboard tests pass; npm test passes 239/239; operator dashboard bundle builds; git diff --check passes.

Assumptions: timing fields are observational only and do not change quote response policy, signing, concurrency, arming, or live funds behavior.

Still fake: venue-native terminal fill ids and fee-complete realized PnL remain unavailable.
2026-05-18 22:44:33 +02:00

38 lines
1.6 KiB
JavaScript

import test from 'node:test';
import assert from 'node:assert/strict';
import { readFileSync } from 'node:fs';
const source = readFileSync(new URL('../src/apps/trade-executor.mjs', import.meta.url), 'utf8');
test('trade executor dispatches each execute command once', () => {
const calls = source.match(/await handleCommand\(event\);/g) || [];
assert.equal(calls.length, 1);
});
test('own request preflight suppresses maker quote responses to avoid self-matching', () => {
assert.match(source, /withMakerSuppressed/);
assert.match(source, /own_request_preflight_in_progress/);
assert.match(source, /avoid self-matching/);
});
test('trade executor fails closed on stale execute commands before relay submission', () => {
assert.match(source, /classifyExecuteCommandExpiry/);
assert.match(source, /stale_execute_command/);
assert.match(source, /deadline elapsed before relay submission/);
});
test('trade executor exposes summarized durable command state', () => {
assert.match(source, /stateStore\.getSummary\(\{ limit: 50 \}\)/);
assert.doesNotMatch(source, /durable_state:\s*stateStore\.getState\(\)/);
});
test('trade executor records hot path timing in result payloads', () => {
assert.match(source, /node:perf_hooks/);
assert.match(source, /startExecutorTiming\(event\)/);
assert.match(source, /executor_timing/);
assert.match(source, /current_salt_ms/);
assert.match(source, /sign_ms/);
assert.match(source, /relay_response_ms/);
assert.match(source, /executor_total_ms/);
assert.match(source, /withExecutorTiming\(\{[\s\S]*?result_code: 'submission_failed'/);
});