33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
|
import { arrayIntersect } from "../src/Services/ArrayHelper";
|
||
|
import { mapFetcher } from "../src/Services/MapFetcher";
|
||
|
|
||
|
describe("MapFetcher", () => {
|
||
|
it("should return true on localhost ending URLs", async () => {
|
||
|
expect(await mapFetcher.isLocalUrl("https://localhost")).toBeTrue();
|
||
|
expect(await mapFetcher.isLocalUrl("https://foo.localhost")).toBeTrue();
|
||
|
});
|
||
|
|
||
|
it("should return true on DNS resolving to a local domain", async () => {
|
||
|
expect(await mapFetcher.isLocalUrl("https://127.0.0.1.nip.io")).toBeTrue();
|
||
|
});
|
||
|
|
||
|
it("should return true on an IP resolving to a local domain", async () => {
|
||
|
expect(await mapFetcher.isLocalUrl("https://127.0.0.1")).toBeTrue();
|
||
|
expect(await mapFetcher.isLocalUrl("https://192.168.0.1")).toBeTrue();
|
||
|
});
|
||
|
|
||
|
it("should return false on an IP resolving to a global domain", async () => {
|
||
|
expect(await mapFetcher.isLocalUrl("https://51.12.42.42")).toBeFalse();
|
||
|
});
|
||
|
|
||
|
it("should return false on an DNS resolving to a global domain", async () => {
|
||
|
expect(await mapFetcher.isLocalUrl("https://maps.workadventu.re")).toBeFalse();
|
||
|
});
|
||
|
|
||
|
it("should throw error on invalid domain", async () => {
|
||
|
await expectAsync(
|
||
|
mapFetcher.isLocalUrl("https://this.domain.name.doesnotexistfoobgjkgfdjkgldf.com")
|
||
|
).toBeRejected();
|
||
|
});
|
||
|
});
|