test: automate overseas wallet and pallet cost closure

This commit is contained in:
2026-09-06 11:00:06 +08:00
parent 64bf5aa0fe
commit 20b3074cb1
21 changed files with 506 additions and 103 deletions
@@ -52,6 +52,7 @@ const expectedBackgroundEdges = [
'file-service->iam-service',
'file-service->order-service',
'file-service->warehouse-service',
'finance-service->event-bridge-service',
'finance-service->firstleg-service',
'firstleg-service->event-bridge-service',
'firstleg-service->finance-service',
@@ -97,15 +98,15 @@ async function discoverFeignEdges() {
return clients.sort((left, right) => left.path.localeCompare(right.path))
}
test('all 53 Feign clients have reviewed context, access and idempotency metadata', async () => {
test('all 54 Feign clients have reviewed context, access and idempotency metadata', async () => {
const reviewed = SYNCHRONOUS_CLIENTS.filter(client => client.transport === 'FEIGN')
.map(({ path, source, target }) => ({ path, source, target }))
.sort((left, right) => left.path.localeCompare(right.path))
assert.equal(reviewed.length, 53)
assert.equal(reviewed.length, 54)
assert.deepEqual(await discoverFeignEdges(), reviewed)
})
test('all 18 raw HTTP transports have reviewed context, access and idempotency metadata', async () => {
test('all 19 raw HTTP transports have reviewed context, access and idempotency metadata', async () => {
const discovered = []
for (const module of ['common-audit', 'event-bridge-service', 'gateway-overseas', 'lastleg-service', 'integration-service']) {
for (const file of await javaFiles(path.join(root, module, 'src', 'main', 'java'))) {
@@ -117,7 +118,7 @@ test('all 18 raw HTTP transports have reviewed context, access and idempotency m
}
const reviewed = SYNCHRONOUS_CLIENTS.filter(client => client.transport === 'HTTP')
.map(client => client.path).sort()
assert.equal(reviewed.length, 18)
assert.equal(reviewed.length, 19)
assert.deepEqual(discovered.sort(), reviewed)
})
@@ -147,10 +148,12 @@ test('IAM customer dimension Feign is reachable only from the background relay',
])
})
test('all four Lastleg RestClient gateways use explicit bounded transports', async () => {
test('all six Lastleg RestClient gateways use explicit bounded transports', async () => {
const clients = new Map([
['lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/gateway/HttpUnloadPhotoFileGateway.java', 'getUnloadPhotoFile'],
['lastleg-service/src/main/java/com/baiyue/lastleg/relabel/pda/gateway/HttpRelabelPhotoFileGateway.java', 'getRelabelPhotoFile'],
['lastleg-service/src/main/java/com/baiyue/lastleg/customervisit/gateway/HttpCustomerVisitFileGateway.java', 'getCustomerVisitFile'],
['lastleg-service/src/main/java/com/baiyue/lastleg/procurement/gateway/HttpProcurementFileGateway.java', 'getProcurementFile'],
['lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/gateway/HttpWarehouseResourceGateway.java', 'getWarehouseResource'],
['lastleg-service/src/main/java/com/baiyue/lastleg/palletops/gateway/HttpPalletPhysicalGateway.java', 'getPalletPhysical']
])
@@ -172,7 +175,7 @@ test('all four Lastleg RestClient gateways use explicit bounded transports', asy
'config/nacos/overseas/lastleg-service.yml'
]) {
const source = await readFile(path.join(root, configFile), 'utf8')
for (const key of ['unload-photo-file', 'relabel-photo-file', 'warehouse-resource', 'pallet-physical']) {
for (const key of ['unload-photo-file', 'relabel-photo-file', 'customer-visit-file', 'procurement-file', 'warehouse-resource', 'pallet-physical']) {
assert.match(source, new RegExp(
`${key}:\\s*\\n\\s+connect-timeout:\\s*\\$\\{[^}]+:[1-9][0-9]*(?:ms|s)\\}`
+ `\\s*\\n\\s+read-timeout:\\s*\\$\\{[^}]+:[1-9][0-9]*(?:ms|s)\\}`))