Add healthz tests
This commit is contained in:
parent
59ba78c028
commit
7f80d152d3
40
test/health.test.ts
Normal file
40
test/health.test.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import * as httpserver from "./httpserver"
|
||||
import * as integration from "./integration"
|
||||
|
||||
describe("health", () => {
|
||||
let codeServer: httpserver.HttpServer | undefined
|
||||
|
||||
afterEach(async () => {
|
||||
if (codeServer) {
|
||||
await codeServer.close()
|
||||
codeServer = undefined
|
||||
}
|
||||
})
|
||||
|
||||
it("/healthz", async () => {
|
||||
;[, , codeServer] = await integration.setup(["--auth=none"], "")
|
||||
const resp = await codeServer.fetch("/healthz")
|
||||
expect(resp.status).toBe(200)
|
||||
const json = await resp.json()
|
||||
expect(json).toStrictEqual({ lastHeartbeat: 0, status: "expired" })
|
||||
})
|
||||
|
||||
it("/healthz (websocket)", async () => {
|
||||
;[, , codeServer] = await integration.setup(["--auth=none"], "")
|
||||
const ws = codeServer.ws("/healthz")
|
||||
const message = await new Promise((resolve, reject) => {
|
||||
ws.on("error", console.error)
|
||||
ws.on("message", (message) => {
|
||||
try {
|
||||
const j = JSON.parse(message.toString())
|
||||
resolve(j)
|
||||
} catch (error) {
|
||||
reject(error)
|
||||
}
|
||||
})
|
||||
ws.on("open", () => ws.send(JSON.stringify({ event: "health" })))
|
||||
})
|
||||
ws.terminate()
|
||||
expect(message).toStrictEqual({ event: "health", status: "expired", lastHeartbeat: 0 })
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user