100 lines
2.5 KiB
TypeScript
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();
|
|
});
|
|
});
|