fix(test): retain safe inbound resource fault diagnostics

This commit is contained in:
2026-10-05 04:11:33 +08:00
parent 6fc32574c7
commit 5ea1c277bc
4 changed files with 74 additions and 8 deletions
@@ -3,9 +3,19 @@ import assert from 'node:assert/strict';
import {spawnSync} from 'node:child_process';
import {fileURLToPath} from 'node:url';
const script=String.raw`
import importlib.util,sys,json,hashlib,copy
import importlib.util,sys,json,hashlib,copy,urllib.error
from pathlib import Path
spec=importlib.util.spec_from_file_location('resource_runtime',sys.argv[1]);m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m)
m.STAGE='NACOS_SOURCE_READ'
for endpoint,stage in [('/nacos/v3/auth/user/login','NACOS_LOGIN'),('/nacos/v3/admin/cs/config','NACOS_CONFIG_READ')]:
d=m.safe_diagnostic(urllib.error.HTTPError('http://user:password@private.invalid'+endpoint+'?token=secret',404,'secret body',{},None))
assert d=={'ok':False,'error':stage+'_HTTP_404','diagnostic':{'stage':stage,'errorType':'HTTPError','httpStatus':404}}
assert 'secret' not in json.dumps(d) and 'private' not in json.dumps(d)
assert m.safe_diagnostic(TypeError('private-secret-response'))=={'ok':False,'error':'INBOUND_RESOURCE_ACTION_FAILED','diagnostic':{'stage':'NACOS_SOURCE_READ','errorType':'TypeError'}}
import socket
dns=m.safe_diagnostic(urllib.error.URLError(socket.gaierror(-2,'private DNS hostname secret')))
assert dns=={'ok':False,'error':'NACOS_SOURCE_READ_TRANSPORT_FAILED','diagnostic':{'stage':'NACOS_SOURCE_READ','errorType':'URLError','transportErrorType':'gaierror','errno':-2}}
assert 'private' not in json.dumps(dns) and 'secret' not in json.dumps(dns)
base=Path(sys.argv[1]).with_name('order-submit-dependency-fault-runtime.py').read_text()
C,ns=m.runtime_class(base)
scope={'environment':'TEST','marker':'OFFLINE','containerBookingId':'2106714159440728066','warehouseId':'193000000000200003','batchPrefixHash':hashlib.sha256(json.dumps('2106714159440728066').encode()).hexdigest(),'planSha256':'a'*64}