oneuptime/Probe/Tests/Utils/PingMonitor.test.skip.ts
Simon Larsen 48e3c24c6e
refactor: Update import statement for jest in setupTest.js
This commit updates the import statement for jest in the setupTest.js file. The previous import statement used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
2024-06-14 14:11:32 +01:00

69 lines
2.4 KiB
TypeScript

import Ping, {
PingResponse,
} from "../../Utils/Monitors/MonitorTypes/PingMonitor";
import Hostname from "Common/Types/API/Hostname";
import BadDataException from "Common/Types/Exception/BadDataException";
import IPv4 from "Common/Types/IP/IPv4";
import PositiveNumber from "Common/Types/PositiveNumber";
import { describe, expect, jest, test } from "@jest/globals";
describe("Ping", () => {
jest.setTimeout(240000);
test("Ping.ping should return appropriate object if the valid hostname is given", async () => {
let result: PingResponse | null = await Ping.ping(
new Hostname("apple.com"),
);
expect(result).not.toBeNull();
expect(result!.responseTimeInMS?.toNumber()).toBeGreaterThan(0);
expect(result!.responseTimeInMS?.toNumber()).toBeLessThanOrEqual(5000);
expect(result!.isOnline).toBe(true);
result = await Ping.ping(new Hostname("www.apple.com"), {
timeout: new PositiveNumber(5000),
});
expect(result).not.toBeNull();
expect(result!.isOnline).toBe(true);
expect(result!.responseTimeInMS?.toNumber()).toBeGreaterThan(0);
expect(result!.responseTimeInMS?.toNumber()).toBeLessThanOrEqual(5000);
try {
await Ping.ping(new Hostname("www.apple.com", 65000), {
timeout: new PositiveNumber(5000),
});
} catch (err) {
expect(err).toBeInstanceOf(BadDataException);
}
try {
await Ping.ping(new Hostname("www.a.com", 65000), {
timeout: new PositiveNumber(5000),
});
} catch (err) {
expect(err).toBeInstanceOf(BadDataException);
}
});
test("Ping.ping should return appropriate object if the valid IPV4 or IPV6 is given", async () => {
// change test timeout to 2 minutes
let result: PingResponse | null = null;
result = await Ping.ping(new IPv4("1.1.1.1"), {
timeout: new PositiveNumber(5000),
});
expect(result).not.toBeNull();
expect(result!.isOnline).toBe(true);
expect(result!.responseTimeInMS?.toNumber()).toBeGreaterThan(0);
expect(result!.responseTimeInMS?.toNumber()).toBeLessThanOrEqual(5000);
result = await Ping.ping(new IPv4("192.0.2.200")); //
expect(result).not.toBeNull();
expect(result!.isOnline).toBe(false);
expect(result!.responseTimeInMS).toBeUndefined();
result = await Ping.ping(new IPv4("0.42.52.42")); // ip can't start 0
expect(result).not.toBeNull();
expect(result!.responseTimeInMS).toBeUndefined();
expect(result!.isOnline).toBe(false);
});
});