Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
5.1 kB ยท 197 lines
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198import { expect } from "@std/expect";import { describe, test } from "@std/testing/bdd";
import { resolvePathnamePrefix } from "./resolve-pathname-prefix";
const defaultLocale = "en";
describe("resolvePathnamePrefix", () => { describe("hostname routing (subdomain)", () => { test("acme.localhost:3000 + en โ empty (default locale)", () => { expect( resolvePathnamePrefix({ hostname: "acme.localhost", pathname: "/", customDomain: undefined, locale: "en", defaultLocale, }), ).toBe(""); });
test("acme.localhost:3000 + fr โ 'fr'", () => { expect( resolvePathnamePrefix({ hostname: "acme.localhost", pathname: "/", customDomain: undefined, locale: "fr", defaultLocale, }), ).toBe("fr"); });
test("acme.localhost:3000/events + fr โ 'fr'", () => { expect( resolvePathnamePrefix({ hostname: "acme.localhost", pathname: "/events", customDomain: undefined, locale: "fr", defaultLocale, }), ).toBe("fr"); }); });
describe("custom domain routing", () => { test("status.acme.com + en โ empty (default locale)", () => { expect( resolvePathnamePrefix({ hostname: "status.acme.com", pathname: "/", customDomain: "status.acme.com", locale: "en", defaultLocale, }), ).toBe(""); });
test("status.acme.com + fr โ 'fr'", () => { expect( resolvePathnamePrefix({ hostname: "status.acme.com", pathname: "/", customDomain: "status.acme.com", locale: "fr", defaultLocale, }), ).toBe("fr"); });
test("status.acme.com/monitors/1 + en โ empty", () => { expect( resolvePathnamePrefix({ hostname: "status.acme.com", pathname: "/monitors/1", customDomain: "status.acme.com", locale: "en", defaultLocale, }), ).toBe(""); }); });
describe("pathname routing", () => { test("localhost + /acme + en โ 'acme/en'", () => { expect( resolvePathnamePrefix({ hostname: "localhost", pathname: "/acme", customDomain: undefined, locale: "en", defaultLocale, }), ).toBe("acme/en"); });
test("localhost + /acme + fr โ 'acme/fr'", () => { expect( resolvePathnamePrefix({ hostname: "localhost", pathname: "/acme", customDomain: undefined, locale: "fr", defaultLocale, }), ).toBe("acme/fr"); });
test("localhost + /acme/en/events + en โ 'acme/en'", () => { expect( resolvePathnamePrefix({ hostname: "localhost", pathname: "/acme/en/events", customDomain: undefined, locale: "en", defaultLocale, }), ).toBe("acme/en"); });
test("localhost + /acme/fr/monitors/123 + fr โ 'acme/fr'", () => { expect( resolvePathnamePrefix({ hostname: "localhost", pathname: "/acme/fr/monitors/123", customDomain: undefined, locale: "fr", defaultLocale, }), ).toBe("acme/fr"); });
test("localhost + /status + en โ 'status/en'", () => { expect( resolvePathnamePrefix({ hostname: "localhost", pathname: "/status", customDomain: undefined, locale: "en", defaultLocale, }), ).toBe("status/en"); });
test("localhost + /status/fr/events + fr โ 'status/fr'", () => { expect( resolvePathnamePrefix({ hostname: "localhost", pathname: "/status/fr/events", customDomain: undefined, locale: "fr", defaultLocale, }), ).toBe("status/fr"); }); });
describe("edge cases", () => { test("www subdomain is treated as pathname routing", () => { expect( resolvePathnamePrefix({ hostname: "www.openstatus.dev", pathname: "/acme", customDomain: undefined, locale: "en", defaultLocale, }), ).toBe("acme/en"); });
test("vercel.app preview is treated as pathname routing", () => { expect( resolvePathnamePrefix({ hostname: "my-app.vercel.app", pathname: "/acme", customDomain: undefined, locale: "fr", defaultLocale, }), ).toBe("acme/fr"); });
test("no custom domain match falls through to hostname check", () => { // hostname has 3+ segments but customDomain doesn't match expect( resolvePathnamePrefix({ hostname: "acme.openstatus.dev", pathname: "/", customDomain: "other.domain.com", locale: "fr", defaultLocale, }), ).toBe("fr"); }); });});