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.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263import { expect } from "@std/expect";import { afterEach, beforeEach, describe, it } from "@std/testing/bdd";import { type Stub, stub } from "@std/testing/mock";
import { extractDomain, getApexDomain, getSubdomain } from "./domains";
let errorStub: Stub | undefined;beforeEach(() => { errorStub = stub(console, "error");});afterEach(() => errorStub?.restore());
describe("getSubdomain", () => { it("returns null for the apex itself", () => { expect(getSubdomain("openstatus.dev", "openstatus.dev")).toBeNull(); });
it("strips the apex and its dot", () => { expect(getSubdomain("status.openstatus.dev", "openstatus.dev")).toBe( "status", ); expect(getSubdomain("a.b.openstatus.dev", "openstatus.dev")).toBe("a.b"); });});
describe("getApexDomain", () => { it("keeps a two-label hostname", () => { expect(getApexDomain("https://openstatus.dev/pricing")).toBe( "openstatus.dev", ); });
it("drops subdomains", () => { expect(getApexDomain("https://status.app.openstatus.dev")).toBe( "openstatus.dev", ); });
it("returns an empty string for an invalid URL", () => { expect(getApexDomain("not a url")).toBe(""); });});
describe("extractDomain", () => { it("returns the label of a bare domain", () => { expect(extractDomain("https://mxkaske.dev")).toBe("mxkaske"); });
it("joins subdomains with dashes", () => { expect(extractDomain("https://craft.mxkaske.dev")).toBe("craft-mxkaske"); expect(extractDomain("https://a.b.mxkaske.dev")).toBe("a-b-mxkaske"); });
it("returns an empty string for single-label hosts", () => { expect(extractDomain("http://localhost:3000")).toBe(""); });
it("returns an empty string for blank or invalid input", () => { expect(extractDomain(" ")).toBe(""); expect(extractDomain("craft.mxkaske.dev")).toBe(""); });});