Files
2026-07-13 13:32:57 +08:00

100 lines
2.5 KiB
TypeScript

import { describe, it, expect } from "vitest";
import {
regionForQueue,
backingForQueue,
type WorkerGroupRegionRow,
} from "~/v3/workerRegions.server";
const groups: WorkerGroupRegionRow[] = [
{
masterQueue: "us-east-1",
region: "us-east-1",
workloadType: "CONTAINER",
hidden: false,
enableFastPath: false,
},
{
masterQueue: "us-east-1-next",
region: "us-east-1",
workloadType: "MICROVM",
hidden: false,
enableFastPath: true,
},
{
masterQueue: "eu-central-1",
region: "eu-central-1",
workloadType: "CONTAINER",
hidden: false,
enableFastPath: false,
},
];
describe("regionForQueue", () => {
it("maps a backing queue to its region", () => {
expect(regionForQueue("us-east-1-next", groups)).toBe("us-east-1");
});
it("maps a container queue to its own region", () => {
expect(regionForQueue("us-east-1", groups)).toBe("us-east-1");
});
it("passes an unknown queue through unchanged", () => {
expect(regionForQueue("mystery", groups)).toBe("mystery");
});
it("passes through when a group has no region set", () => {
expect(
regionForQueue("x", [
{
masterQueue: "x",
region: null,
workloadType: "CONTAINER",
hidden: false,
enableFastPath: false,
},
])
).toBe("x");
});
});
describe("backingForQueue", () => {
it("finds the MICROVM backing for a region with one", () => {
expect(backingForQueue("us-east-1", groups)).toEqual({
workerQueue: "us-east-1-next",
enableFastPath: true,
});
});
it("returns undefined for a region with no compute backing (EU)", () => {
expect(backingForQueue("eu-central-1", groups)).toBeUndefined();
});
it("returns undefined when the queue's group has no region", () => {
expect(
backingForQueue("x", [
{
masterQueue: "x",
region: null,
workloadType: "CONTAINER",
hidden: false,
enableFastPath: false,
},
])
).toBeUndefined();
});
it("ignores hidden MICROVM groups", () => {
const g: WorkerGroupRegionRow[] = [
{
masterQueue: "us-east-1",
region: "us-east-1",
workloadType: "CONTAINER",
hidden: false,
enableFastPath: false,
},
{
masterQueue: "us-east-1-next",
region: "us-east-1",
workloadType: "MICROVM",
hidden: true,
enableFastPath: true,
},
];
expect(backingForQueue("us-east-1", g)).toBeUndefined();
});
});