Files
hoppscotch/helpers/utils/__tests__/valid.spec.js
2020-08-17 22:10:47 -04:00

145 lines
5.6 KiB
JavaScript

import { wsValid, httpValid, socketioValid } from "../valid"
describe("wsValid", () => {
test("returns true for valid URL with IP address", () => {
expect(wsValid("wss://174.129.224.73/")).toBe(true)
expect(wsValid("wss://174.129.224.73")).toBe(true)
})
test("returns true for valid URL with Hostname", () => {
expect(wsValid("wss://echo.websocket.org/")).toBe(true)
expect(wsValid("wss://echo.websocket.org")).toBe(true)
})
test("returns false for invalid URL with IP address", () => {
expect(wsValid("wss://174.129.")).toBe(false)
expect(wsValid("wss://174.129./")).toBe(false)
})
test("returns false for invalid URL with hostname", () => {
expect(wsValid("wss://echo.websocket./")).toBe(false)
expect(wsValid("wss://echo.websocket.")).toBe(false)
})
test("returns false for non-wss protocol URLs", () => {
expect(wsValid("http://echo.websocket.org/")).toBe(false)
expect(wsValid("http://echo.websocket.org")).toBe(false)
expect(wsValid("http://174.129.224.73/")).toBe(false)
expect(wsValid("http://174.129.224.73")).toBe(false)
})
test("returns true for wss protocol URLs", () => {
expect(wsValid("wss://echo.websocket.org/")).toBe(true)
expect(wsValid("wss://echo.websocket.org")).toBe(true)
expect(wsValid("wss://174.129.224.73/")).toBe(true)
expect(wsValid("wss://174.129.224.73")).toBe(true)
})
test("returns true for ws protocol URLs", () => {
expect(wsValid("ws://echo.websocket.org/")).toBe(true)
expect(wsValid("ws://echo.websocket.org")).toBe(true)
expect(wsValid("ws://174.129.224.73/")).toBe(true)
expect(wsValid("ws://174.129.224.73")).toBe(true)
})
})
describe("httpValid", () => {
test("returns true for valid URL with IP address", () => {
expect(httpValid("http://174.129.224.73/")).toBe(true)
expect(httpValid("http://174.129.224.73")).toBe(true)
})
test("returns true for valid URL with Hostname", () => {
expect(httpValid("http://echo.websocket.org/")).toBe(true)
expect(httpValid("http://echo.websocket.org")).toBe(true)
})
test("returns false for invalid URL with IP address", () => {
expect(httpValid("http://174.129./")).toBe(false)
expect(httpValid("http://174.129.")).toBe(false)
})
test("returns false for invalid URL with hostname", () => {
expect(httpValid("http://echo.websocket./")).toBe(false)
expect(httpValid("http://echo.websocket.")).toBe(false)
})
test("returns false for non-http(s) protocol URLs", () => {
expect(httpValid("wss://echo.websocket.org/")).toBe(false)
expect(httpValid("wss://echo.websocket.org")).toBe(false)
expect(httpValid("wss://174.129.224.73/")).toBe(false)
expect(httpValid("wss://174.129.224.73")).toBe(false)
})
test("returns true for HTTP protocol URLs", () => {
expect(httpValid("http://echo.websocket.org/")).toBe(true)
expect(httpValid("http://echo.websocket.org")).toBe(true)
expect(httpValid("http://174.129.224.73/")).toBe(true)
expect(httpValid("http://174.129.224.73")).toBe(true)
})
test("returns true for HTTPS protocol URLs", () => {
expect(httpValid("https://echo.websocket.org/")).toBe(true)
expect(httpValid("https://echo.websocket.org")).toBe(true)
expect(httpValid("https://174.129.224.73/")).toBe(true)
expect(httpValid("https://174.129.224.73")).toBe(true)
})
})
describe("socketioValid", () => {
test("returns true for valid URL with IP address", () => {
expect(socketioValid("http://174.129.224.73/")).toBe(true)
expect(socketioValid("http://174.129.224.73")).toBe(true)
})
test("returns true for valid URL with Hostname", () => {
expect(socketioValid("http://echo.websocket.org/")).toBe(true)
expect(socketioValid("http://echo.websocket.org")).toBe(true)
})
test("returns false for invalid URL with IP address", () => {
expect(socketioValid("http://174.129./")).toBe(false)
expect(socketioValid("http://174.129.")).toBe(false)
})
test("returns false for invalid URL with hostname", () => {
expect(socketioValid("http://echo.websocket./")).toBe(false)
expect(socketioValid("http://echo.websocket.")).toBe(false)
})
test("returns false for non-http(s) and non-wss protocol URLs", () => {
expect(socketioValid("ftp://echo.websocket.org/")).toBe(false)
expect(socketioValid("ftp://echo.websocket.org")).toBe(false)
expect(socketioValid("ftp://174.129.224.73/")).toBe(false)
expect(socketioValid("ftp://174.129.224.73")).toBe(false)
})
test("returns true for HTTP protocol URLs", () => {
expect(socketioValid("http://echo.websocket.org/")).toBe(true)
expect(socketioValid("http://echo.websocket.org")).toBe(true)
expect(socketioValid("http://174.129.224.73/")).toBe(true)
expect(socketioValid("http://174.129.224.73")).toBe(true)
})
test("returns true for HTTPS protocol URLs", () => {
expect(socketioValid("https://echo.websocket.org/")).toBe(true)
expect(socketioValid("https://echo.websocket.org")).toBe(true)
expect(socketioValid("https://174.129.224.73/")).toBe(true)
expect(socketioValid("https://174.129.224.73")).toBe(true)
})
test("returns true for wss protocol URLs", () => {
expect(socketioValid("wss://echo.websocket.org/")).toBe(true)
expect(socketioValid("wss://echo.websocket.org")).toBe(true)
expect(socketioValid("wss://174.129.224.73/")).toBe(true)
expect(socketioValid("wss://174.129.224.73")).toBe(true)
})
test("returns true for ws protocol URLs", () => {
expect(socketioValid("ws://echo.websocket.org/")).toBe(true)
expect(socketioValid("ws://echo.websocket.org")).toBe(true)
expect(socketioValid("ws://174.129.224.73/")).toBe(true)
expect(socketioValid("ws://174.129.224.73")).toBe(true)
})
})