This commit is contained in:
2026-08-25 15:08:34 +08:00
parent e815abcbd7
commit 44198866d9
64 changed files with 1382 additions and 360 deletions
@@ -32,7 +32,6 @@ const expectedOnlineEdges = [
'firstleg-service->print-service',
'firstleg-service->warehouse-service',
'iam-service->auth-service',
'iam-service->firstleg-service',
'iam-service->warehouse-service',
'lastleg-service->file-service',
'lastleg-service->warehouse-overseas-service',
@@ -57,6 +56,7 @@ const expectedBackgroundEdges = [
'firstleg-service->finance-service',
'firstleg-service->integration-service',
'iam-service->event-bridge-service',
'iam-service->firstleg-service',
'lastleg-service->event-bridge-service',
'order-service->firstleg-service'
]
@@ -172,9 +172,10 @@ test('REQUEST, BACKGROUND and full graphs remain separate executable baselines',
'gateway-overseas->auth-service',
'gateway-overseas->overseas-security-service'
])
assert.deepEqual(stronglyConnectedComponents(graphEdges('REQUEST')), [[
'auth-service', 'file-service', 'firstleg-service', 'iam-service', 'order-service'
]])
assert.deepEqual(stronglyConnectedComponents(graphEdges('REQUEST')), [
['auth-service', 'iam-service'],
['firstleg-service', 'order-service']
])
assert.deepEqual(stronglyConnectedComponents(graphEdges('BACKGROUND')), [[
'event-bridge-service', 'finance-service', 'firstleg-service', 'lastleg-service'
]])
@@ -196,34 +197,32 @@ test('known user entries expose every longest simple REQUEST path over the two-h
return [entry.service, { hops: paths[0].length - 1, paths: paths.map(path => path.join('->')) }]
}))
assert.deepEqual(summary, {
'auth-service': { hops: 5, paths: [
'auth-service->iam-service->firstleg-service->order-service->file-service->integration-service'
'auth-service': { hops: 2, paths: [
'auth-service->iam-service->warehouse-service'
] },
'iam-service': { hops: 4, paths: [
'iam-service->firstleg-service->order-service->file-service->integration-service'
'iam-service': { hops: 1, paths: [
'iam-service->auth-service',
'iam-service->warehouse-service'
] },
'order-service': { hops: 4, paths: [
'order-service->file-service->iam-service->firstleg-service->print-service',
'order-service->file-service->iam-service->firstleg-service->warehouse-service',
'order-service->firstleg-service->file-service->iam-service->auth-service',
'order-service->firstleg-service->file-service->iam-service->warehouse-service',
'order-service->iam-service->firstleg-service->file-service->integration-service'
'order-service->firstleg-service->file-service->iam-service->warehouse-service'
] },
'firstleg-service': { hops: 4, paths: [
'firstleg-service->order-service->file-service->iam-service->auth-service',
'firstleg-service->order-service->file-service->iam-service->warehouse-service'
] },
'finance-service': { hops: 5, paths: [
'finance-service->file-service->iam-service->firstleg-service->order-service->warehouse-service',
'finance-service->firstleg-service->order-service->file-service->iam-service->auth-service',
'finance-service->firstleg-service->order-service->file-service->iam-service->warehouse-service',
'finance-service->iam-service->firstleg-service->order-service->file-service->integration-service'
'finance-service->firstleg-service->order-service->file-service->iam-service->warehouse-service'
] },
'file-service': { hops: 4, paths: [
'file-service->iam-service->firstleg-service->order-service->warehouse-service'
'file-service': { hops: 2, paths: [
'file-service->iam-service->auth-service',
'file-service->iam-service->warehouse-service'
] },
'lastleg-service': { hops: 5, paths: [
'lastleg-service->file-service->iam-service->firstleg-service->order-service->warehouse-service'
'lastleg-service': { hops: 3, paths: [
'lastleg-service->file-service->iam-service->auth-service',
'lastleg-service->file-service->iam-service->warehouse-service'
] },
'warehouse-service': { hops: 0, paths: ['warehouse-service'] },
'warehouse-overseas-service': { hops: 0, paths: ['warehouse-overseas-service'] }