优化
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
export const EVENT_BRIDGE_RECOVERY_FIXTURE = Object.freeze({
|
||||
customerCode: 'C10000000',
|
||||
eventId: 'b569c7f6-3493-4a0f-a944-dd42698f183b',
|
||||
initialOutboxStatus: 'PENDING',
|
||||
initialRetryCount: 62,
|
||||
failedTarget: '172.31.198.8:9313',
|
||||
currentOutboxStatus: 'PENDING',
|
||||
currentRetryCount: 81,
|
||||
currentFailureCode: 'A0401',
|
||||
currentFailureMessage: '内部服务令牌无效',
|
||||
currentRequestId: '200edca3-428e-446d-977a-ca98a84dd704',
|
||||
currentTraceId: 'e8e6d620c1cff40caa765e6968f89024',
|
||||
dockerDnsProven: true,
|
||||
})
|
||||
|
||||
export const TEST_EVENT_BRIDGE_URLS = Object.freeze({
|
||||
LASTLEG_EVENT_BRIDGE_URL: 'http://event-bridge-overseas:9312',
|
||||
FIRSTLEG_EVENT_BRIDGE_URL: 'http://event-bridge-cn:9312',
|
||||
})
|
||||
|
||||
export const INTERNAL_TOKEN_COHORT_SERVICES = Object.freeze([
|
||||
'firstleg',
|
||||
'event-bridge-cn',
|
||||
'event-bridge-overseas',
|
||||
'lastleg-service',
|
||||
])
|
||||
|
||||
export function validTestEventBridgeEnvironment(values = {}) {
|
||||
return Object.entries(TEST_EVENT_BRIDGE_URLS)
|
||||
.every(([key, expected]) => values[key] === expected)
|
||||
&& Object.values(values).every((value) => !/^https?:\/\/(?:\d{1,3}\.){3}\d{1,3}(?::|\/|$)/.test(String(value)))
|
||||
}
|
||||
|
||||
// Callers must provide only a non-secret fingerprint/revision marker, never the token value.
|
||||
export function validInternalTokenCohort(fingerprints = {}) {
|
||||
const values = INTERNAL_TOKEN_COHORT_SERVICES.map((service) => fingerprints[service])
|
||||
return values.every((value) => typeof value === 'string' && value.length > 0)
|
||||
&& new Set(values).size === 1
|
||||
}
|
||||
|
||||
export function recoveredEventBridgeFacts(facts = {}) {
|
||||
return facts.firstlegOutboxStatus === 'SENT'
|
||||
&& Number(facts.overseasBridgeEventCount) === 1
|
||||
&& Number(facts.lastlegInboxEventCount) === 1
|
||||
&& Number(facts.lastlegOrderCount) === 1
|
||||
&& Number(facts.cnBridgeDuplicateCount) === 0
|
||||
&& Number(facts.manualReplayCount) === 0
|
||||
&& Number(facts.sqlMutationCount) === 0
|
||||
}
|
||||
Reference in New Issue
Block a user