import IPCIDR from 'ip-cidr'; import IPAddress from 'ip-address'; export function isValidMacAddress (mac) { try { const regex = /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/; return regex.test(mac); } catch (error) { return false; } } export function isValidCidr (cidr, type = 0) { let [isV4, isV6] = [false, false]; let tempCidr = null; try { if (type === 4) { tempCidr = new IPCIDR(cidr); if (tempCidr.address.v4) { isV4 = true; } } if (type === 6) { tempCidr = new IPAddress.Address6(cidr); if (!tempCidr.address.v4) { isV6 = true; } } if (type === 0) { tempCidr = new IPCIDR(cidr); if (tempCidr.address.v4) { isV4 = true; } else { isV6 = true; } } return isV4 || isV6; } catch (error) { return false; } } export async function clickSelect2Dropdown(page, selectSelector) { const select2ContainerSelector = `${selectSelector} + .select2-container`; const select2ContainerExists = await page.$(select2ContainerSelector) !== null; if (!select2ContainerExists) { throw new Error('Select2 container not found'); } const select2Selection = `${select2ContainerSelector} .select2-selection`; await page.click(select2Selection); await page.waitForSelector('.select2-dropdown .select2-results__option'); } export async function hasToastText(page, text) { try { return (await (await page.waitForSelector('.swal2-popup', {state: 'visible'})).textContent()).includes(text); } catch (error) { console.log(error); return false; } } export async function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }