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.
3.0 kB ยท 105 lines
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106import { expect } from "@std/expect";import { describe, test } from "@std/testing/bdd";
import type { ResolvedRoute } from "../resolve-route";import { resolveDefaultRewrite } from "./resolve-default-rewrite";
const hostnameRoute: ResolvedRoute = { type: "hostname", prefix: "acme", locale: "en", localeExplicit: false, rewritePath: "/acme/en",};
const pathnameRoute: ResolvedRoute = { type: "pathname", prefix: "acme", locale: "en", localeExplicit: true, rewritePath: "/acme/en",};
describe("resolveDefaultRewrite", () => { test("rewritePath matches pathname (non-openstatus host): passes (null)", () => { expect( resolveDefaultRewrite({ route: pathnameRoute, host: "localhost:3000", pathname: "/acme/en", search: "", requestUrl: "http://localhost:3000/acme/en", }), ).toBeNull(); });
test("rewritePath differs from pathname: rewrite to rewritePath", () => { const action = resolveDefaultRewrite({ route: hostnameRoute, host: "acme.localhost:3000", pathname: "/", search: "", requestUrl: "http://acme.localhost:3000/", }); expect(action?.type).toBe("rewrite"); expect(action?.reason).toBe("default-rewrite"); expect(action?.url?.pathname).toBe("/acme/en"); });
test("openstatus.dev host always rewrites (even if paths match)", () => { const action = resolveDefaultRewrite({ route: pathnameRoute, host: "openstatus.dev", pathname: "/acme/en", search: "", requestUrl: "https://openstatus.dev/acme/en", }); expect(action?.reason).toBe("default-rewrite"); expect(action?.url?.pathname).toBe("/acme/en"); });
test("openstatus.dev host rewrites when paths differ", () => { const action = resolveDefaultRewrite({ route: hostnameRoute, host: "openstatus.dev", pathname: "/", search: "", requestUrl: "https://openstatus.dev/", }); expect(action?.url?.pathname).toBe("/acme/en"); });
test("preserves search params", () => { const action = resolveDefaultRewrite({ route: hostnameRoute, host: "acme.localhost:3000", pathname: "/", search: "?foo=bar", requestUrl: "http://acme.localhost:3000/", }); expect(action?.url?.search).toBe("?foo=bar"); });
test("null host, paths match: passes (null)", () => { expect( resolveDefaultRewrite({ route: pathnameRoute, host: null, pathname: "/acme/en", search: "", requestUrl: "http://localhost:3000/acme/en", }), ).toBeNull(); });
test("host with openstatus.dev substring (e.g. docs.openstatus.dev): triggers rewrite", () => { const action = resolveDefaultRewrite({ route: pathnameRoute, host: "docs.openstatus.dev", pathname: "/acme/en", search: "", requestUrl: "https://www.openstatus.dev/docs/acme/en", }); expect(action?.reason).toBe("default-rewrite"); });});