chore: tests updated socket.test.js for new pattern
This commit is contained in:
parent
6b1930da03
commit
8c710e76f2
1 changed files with 14 additions and 21 deletions
|
@ -1,11 +1,14 @@
|
||||||
// server
|
|
||||||
// tests/socket.test.js
|
|
||||||
|
|
||||||
const EventEmitter = require("events")
|
const EventEmitter = require("events")
|
||||||
const socketHandler = require("../app/socket")
|
const socketHandler = require("../app/socket")
|
||||||
// const WebSSH2Socket = require("../app/socket")
|
|
||||||
|
|
||||||
jest.mock("../app/ssh")
|
class MockSSHConnection extends EventEmitter {
|
||||||
|
constructor() {
|
||||||
|
super()
|
||||||
|
this.connect = jest.fn().mockResolvedValue(true)
|
||||||
|
this.shell = jest.fn().mockResolvedValue(true)
|
||||||
|
this.end = jest.fn()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
describe("socketHandler", () => {
|
describe("socketHandler", () => {
|
||||||
let io
|
let io
|
||||||
|
@ -19,6 +22,7 @@ describe("socketHandler", () => {
|
||||||
session: {}
|
session: {}
|
||||||
}
|
}
|
||||||
socket.emit = jest.fn()
|
socket.emit = jest.fn()
|
||||||
|
socket.disconnect = jest.fn()
|
||||||
|
|
||||||
io = {
|
io = {
|
||||||
on: jest.fn((event, callback) => {
|
on: jest.fn((event, callback) => {
|
||||||
|
@ -37,7 +41,7 @@ describe("socketHandler", () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
socketHandler(io, config)
|
socketHandler(io, config, MockSSHConnection)
|
||||||
})
|
})
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
|
@ -48,18 +52,6 @@ describe("socketHandler", () => {
|
||||||
expect(io.on).toHaveBeenCalledWith("connection", expect.any(Function))
|
expect(io.on).toHaveBeenCalledWith("connection", expect.any(Function))
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should set up authenticate event listener on socket", () => {
|
|
||||||
expect(socket.listeners("authenticate")).toHaveLength(1)
|
|
||||||
})
|
|
||||||
|
|
||||||
test("should set up terminal event listener on socket", () => {
|
|
||||||
expect(socket.listeners("terminal")).toHaveLength(1)
|
|
||||||
})
|
|
||||||
|
|
||||||
test("should set up disconnect event listener on socket", () => {
|
|
||||||
expect(socket.listeners("disconnect")).toHaveLength(1)
|
|
||||||
})
|
|
||||||
|
|
||||||
test("should emit request_auth when not authenticated", () => {
|
test("should emit request_auth when not authenticated", () => {
|
||||||
expect(socket.emit).toHaveBeenCalledWith("authentication", {
|
expect(socket.emit).toHaveBeenCalledWith("authentication", {
|
||||||
action: "request_auth"
|
action: "request_auth"
|
||||||
|
@ -74,7 +66,10 @@ describe("socketHandler", () => {
|
||||||
port: 22
|
port: 22
|
||||||
}
|
}
|
||||||
socket.emit("authenticate", creds)
|
socket.emit("authenticate", creds)
|
||||||
// build out later
|
expect(socket.emit).toHaveBeenCalledWith(
|
||||||
|
"authentication",
|
||||||
|
expect.any(Object)
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should handle terminal event", () => {
|
test("should handle terminal event", () => {
|
||||||
|
@ -84,12 +79,10 @@ describe("socketHandler", () => {
|
||||||
cols: 80
|
cols: 80
|
||||||
}
|
}
|
||||||
socket.emit("terminal", terminalData)
|
socket.emit("terminal", terminalData)
|
||||||
// build out later
|
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should handle disconnect event", () => {
|
test("should handle disconnect event", () => {
|
||||||
const reason = "test-reason"
|
const reason = "test-reason"
|
||||||
socket.emit("disconnect", reason)
|
socket.emit("disconnect", reason)
|
||||||
// build out later
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue