const ServerTestUtil = { server_: null, app_: null, setApp: function (app) { this.app_ = app; }, start: async function () { this.server_ = await new Promise((resolve, reject) => { const s = this.app_.listen(PORT, (err) => { if (err) { reject(err); } }); resolve(s); }); }, kill: function () { return new Promise((resolve, _) => { if (this.server_) { this.server_.close(() => resolve()); } resolve(); }); }, }; const instance = ServerTestUtil; module.exports = { setApp: function (app) { instance.setApp(app); return instance; }, useServer: function () { return instance; }, };