feat: add workflow dry-run observability
This commit is contained in:
@@ -139,6 +139,17 @@ test('admin orchestrator routes expose a versioned plug-in control plane', async
|
||||
},
|
||||
},
|
||||
orchestratorObservabilityService: {
|
||||
async listExecutionPlans(options) {
|
||||
assert.deepEqual(options, {
|
||||
hours: '24',
|
||||
limit: '50',
|
||||
selection: 'candidate',
|
||||
});
|
||||
return {
|
||||
metrics: { decisions: 3, candidateSelections: 2 },
|
||||
plans: [{ runId: 'run-plan-1', candidateEngine: 'langgraph' }],
|
||||
};
|
||||
},
|
||||
async getCanaryReadiness() {
|
||||
return {
|
||||
ready: false,
|
||||
@@ -206,6 +217,15 @@ test('admin orchestrator routes expose a versioned plug-in control plane', async
|
||||
assert.equal(shadowRunsResponse.status, 200);
|
||||
assert.equal((await shadowRunsResponse.json()).metrics.failures, 1);
|
||||
|
||||
const executionPlansResponse = await fetch(
|
||||
`${server.baseUrl}/admin-api/orchestrator/execution-plans?hours=24&limit=50&selection=candidate`,
|
||||
{ headers: { cookie: 'h5_user_session=token-admin' } },
|
||||
);
|
||||
assert.equal(executionPlansResponse.status, 200);
|
||||
const executionPlansBody = await executionPlansResponse.json();
|
||||
assert.equal(executionPlansBody.metrics.decisions, 3);
|
||||
assert.equal(executionPlansBody.plans[0].candidateEngine, 'langgraph');
|
||||
|
||||
const readinessResponse = await fetch(
|
||||
`${server.baseUrl}/admin-api/orchestrator/canary-readiness`,
|
||||
{ headers: { cookie: 'h5_user_session=token-admin' } },
|
||||
|
||||
Reference in New Issue
Block a user