From d4452ba25c3036fc2b77b22ff77643526f44cb6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 17 Dec 2023 14:37:53 -0500 Subject: [PATCH] socket.io --- test/helpers/index.js | 26 ++++++++++++++------------ test/socket.io.js | 36 +++++------------------------------- 2 files changed, 19 insertions(+), 43 deletions(-) diff --git a/test/helpers/index.js b/test/helpers/index.js index 38d3810e93..3659d621e6 100644 --- a/test/helpers/index.js +++ b/test/helpers/index.js @@ -63,7 +63,7 @@ helpers.logoutUser = async function (jar) { return { response, body }; }; -helpers.connectSocketIO = function (res, csrf_token, callback) { +helpers.connectSocketIO = function (res, csrf_token) { const io = require('socket.io-client'); let cookies = res.headers['set-cookie']; cookies = cookies.filter(c => /express.sid=[^;]+;/.test(c)); @@ -78,18 +78,20 @@ helpers.connectSocketIO = function (res, csrf_token, callback) { _csrf: csrf_token, }, }); - let error; - socket.on('connect', () => { - if (error) { - return; - } - callback(null, socket); - }); + return new Promise((resolve, reject) => { + let error; + socket.on('connect', () => { + if (error) { + return; + } + resolve(socket); + }); - socket.on('error', (err) => { - error = err; - console.log('socket.io error', err.stack); - callback(err); + socket.on('error', (err) => { + error = err; + console.log('socket.io error', err.stack); + reject(err); + }); }); }; diff --git a/test/socket.io.js b/test/socket.io.js index f9b8b677df..900078dd91 100644 --- a/test/socket.io.js +++ b/test/socket.io.js @@ -11,9 +11,7 @@ const sleep = util.promisify(setTimeout); const assert = require('assert'); const async = require('async'); const nconf = require('nconf'); -const request = require('request'); -const cookies = request.jar(); const db = require('./mocks/databasemock'); const user = require('../src/user'); @@ -52,35 +50,11 @@ describe('socket.io', () => { }); - it('should connect and auth properly', (done) => { - request.get({ - url: `${nconf.get('url')}/api/config`, - jar: cookies, - json: true, - }, (err, res, body) => { - assert.ifError(err); - - request.post(`${nconf.get('url')}/login`, { - jar: cookies, - form: { - username: 'admin', - password: 'adminpwd', - }, - headers: { - 'x-csrf-token': body.csrf_token, - }, - json: true, - }, (err, res) => { - assert.ifError(err); - - helpers.connectSocketIO(res, body.csrf_token, (err, _io) => { - io = _io; - assert.ifError(err); - - done(); - }); - }); - }); + it('should connect and auth properly', async () => { + const { response, csrf_token } = await helpers.loginUser('admin', 'adminpwd'); + io = await helpers.connectSocketIO(response, csrf_token); + assert(io); + assert(io.emit); }); it('should return error for unknown event', (done) => {