Files
orca/cloud/dev/scripts/relay-load-region-behavior.test.mjs
Jinwoo Hong 3eec77c11a chore(cloud): add the relay fence broker, ops console, Terraform root, scripts, and 24 cloud-* workflows (#18413)
Phase 6 of the relay split: the relay's deploy/operate surface moves under cloud/ with 24 cloud-* workflows gated on ORCA_CLOUD_OPERATIONS_ENABLED, the Cloud SQL rollout lease action, the relay Terraform root (dual-accept identities for both repositories), scripts, docs, CODEOWNERS, and a terraform validate job in Cloud Verify.
2026-09-03 06:55:14 -04:00

48 lines
1.8 KiB
JavaScript

import assert from 'node:assert/strict'
import test from 'node:test'
import { proveRelayLoadRegionBehavior } from './relay-load-region-behavior.mjs'
function peer(origin, reassigned = origin) {
let shutdowns = 0
return {
connect: async () => undefined,
assignedCellUrl: () => origin,
requestAssignment: async () => ({ cellUrl: reassigned }),
shutdown: async () => { shutdowns++ },
shutdowns: () => shutdowns
}
}
test('proves unhinted US-first placement and sticky Asia preservation', async () => {
const oldClientPeer = peer('https://c3.relay-staging.onorca.dev')
const stickyPeer = peer('https://c4.relay-staging.onorca.dev')
let retryDelayMs = 0
assert.deepEqual(await proveRelayLoadRegionBehavior({
oldClientPeer,
stickyPeer,
asiaOrigin: 'https://c4.relay-staging.onorca.dev',
scheduleAssignmentRetry: (resolve, delayMs) => {
retryDelayMs = delayMs
resolve()
}
}), { oldClientUsFirst: true, stickyAssignmentPreserved: true })
assert.equal(retryDelayMs, 5_100)
assert.equal(oldClientPeer.shutdowns(), 1)
assert.equal(stickyPeer.shutdowns(), 1)
})
test('rejects Asia placement for an unhinted client or a moved sticky assignment', async () => {
await assert.rejects(proveRelayLoadRegionBehavior({
oldClientPeer: peer('https://c4.relay-staging.onorca.dev'),
stickyPeer: peer('https://c4.relay-staging.onorca.dev'),
asiaOrigin: 'https://c4.relay-staging.onorca.dev',
scheduleAssignmentRetry: (resolve) => resolve()
}), /US-first/)
await assert.rejects(proveRelayLoadRegionBehavior({
oldClientPeer: peer('https://c3.relay-staging.onorca.dev'),
stickyPeer: peer('https://c4.relay-staging.onorca.dev', 'https://c3.relay-staging.onorca.dev'),
asiaOrigin: 'https://c4.relay-staging.onorca.dev',
scheduleAssignmentRetry: (resolve) => resolve()
}), /sticky assignment moved/)
})