/* * Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/) * * This is free software, licensed under the GNU General Public License v3. * See /LICENSE for more information. */ import { validateDomain, validateDUID, validateIPv4Address, validateIPv6Address, validateIPv6Prefix, validateMAC, } from "utils/validations"; describe("Validation functions", () => { it("validateIPv4Address valid", () => { expect(validateIPv4Address("192.168.1.1")).toBe(undefined); expect(validateIPv4Address("1.1.1.1")).toBe(undefined); expect(validateIPv4Address("0.0.0.0")).toBe(undefined); }); it("validateIPv4Address invalid", () => { expect(validateIPv4Address("invalid")).not.toBe(undefined); expect(validateIPv4Address("192.256.1.1")).not.toBe(undefined); expect(validateIPv4Address("192.168.256.1")).not.toBe(undefined); expect(validateIPv4Address("192.168.1.256")).not.toBe(undefined); expect(validateIPv4Address("192.168.1.256")).not.toBe(undefined); }); it("validateIPv6Address valid", () => { expect( validateIPv6Address("2001:0db8:85a3:0000:0000:8a2e:0370:7334") ).toBe(undefined); expect(validateIPv6Address("0:0:0:0:0:0:0:1")).toBe(undefined); expect(validateIPv6Address("::1")).toBe(undefined); expect(validateIPv6Address("::")).toBe(undefined); }); it("validateIPv6Address invalid", () => { expect(validateIPv6Address("invalid")).not.toBe(undefined); expect(validateIPv6Address("1.1.1.1")).not.toBe(undefined); expect(validateIPv6Address("1200::AB00:1234::2552:7777:1313")).not.toBe( undefined ); expect( validateIPv6Address("1200:0000:AB00:1234:O000:2552:7777:1313") ).not.toBe(undefined); }); it("validateIPv6Prefix valid", () => { expect(validateIPv6Prefix("2002:0000::/16")).toBe(undefined); expect(validateIPv6Prefix("0::/0")).toBe(undefined); }); it("validateIPv6Prefix invalid", () => { expect( validateIPv6Prefix("2001:0db8:85a3:0000:0000:8a2e:0370:7334") ).not.toBe(undefined); expect(validateIPv6Prefix("::1")).not.toBe(undefined); expect(validateIPv6Prefix("2002:0000::/999")).not.toBe(undefined); }); it("validateDomain valid", () => { expect(validateDomain("example.com")).toBe(undefined); expect(validateDomain("one.two.three")).toBe(undefined); }); it("validateDomain invalid", () => { expect(validateDomain("test/")).not.toBe(undefined); expect(validateDomain(".")).not.toBe(undefined); }); it("validateDUID valid", () => { expect(validateDUID("abcdefAB")).toBe(undefined); expect(validateDUID("ABCDEF12")).toBe(undefined); expect(validateDUID("ABCDEF12AB")).toBe(undefined); }); it("validateDUID invalid", () => { expect(validateDUID("gggggggg")).not.toBe(undefined); expect(validateDUID("abcdefABa")).not.toBe(undefined); }); it("validateMAC valid", () => { expect(validateMAC("00:D0:56:F2:B5:12")).toBe(undefined); expect(validateMAC("00:26:DD:14:C4:EE")).toBe(undefined); expect(validateMAC("06:00:00:00:00:00")).toBe(undefined); }); it("validateMAC invalid", () => { expect(validateMAC("00:00:00:00:00:0G")).not.toBe(undefined); expect(validateMAC("06:00:00:00:00:00:00")).not.toBe(undefined); }); });