mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
1 parent
e2b581881c
commit
f48def84f7
1 file changed
+21
-3
@@ -15,14 +15,18 @@ class MockServer extends EventEmitter {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
const net = require("net")
|
const http = require("http")
|
||||||
jest.mock("net")
|
jest.mock("http")
|
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
|
const request = require("request-promise-native")
|
||||||
|
jest.mock("request-promise-native")
|
||||||
|
|
||||||
import * as port from "../../../src/main/port"
|
import * as port from "../../../src/main/port"
|
||||||
|
|
||||||
describe("getFreePort", () => {
|
describe("getFreePort", () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
net.createServer.mockReturnValue(new MockServer)
|
http.createServer.mockReturnValue(new MockServer)
|
||||||
})
|
})
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
@@ -34,6 +38,20 @@ describe("getFreePort", () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it("finds the next free port", async () => {
|
it("finds the next free port", async () => {
|
||||||
|
request.mockReturnValue(new Promise((resolve, reject) => {
|
||||||
|
resolve({
|
||||||
|
body: "lens-port-checker"
|
||||||
|
})
|
||||||
|
}))
|
||||||
return expect(port.getFreePort(9000, 9005)).resolves.toBe(9003)
|
return expect(port.getFreePort(9000, 9005)).resolves.toBe(9003)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("fails with invalid response", async () => {
|
||||||
|
request.mockReturnValue(new Promise((resolve, reject) => {
|
||||||
|
resolve({
|
||||||
|
body: "wrong"
|
||||||
|
})
|
||||||
|
}))
|
||||||
|
return expect(port.getFreePort(9000, 9005)).rejects.toMatch('free port')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
Reference in new issue
Block a user