describe('gae_flex_redislabs_memcache', () => { it('should be listening', async () => { const server = require('../app.js'); const isOpen = await waitPort({port: PORT}); expect(isOpen).to.be.true; server.close(); }); });
runner.on('exit', function (code) { server.close() process.exit(code) })
close (callback) { this.server.close(callback) }
/** * Stop reporter * * @memberof PrometheusReporter */ stop() { return new Promise((resolve, reject) => { this.server.close(err => { /* istanbul ignore next */ if (err) reject(err); resolve(); }); }); }
test('upload - bad status code', function (t) { const dataDirectory = path.resolve( __dirname, 'fixtures', 'only-folder', '10000.clinic-doctor' ) const server = http.createServer(function (req, res) { res.statusCode = 500 res.end() }) server.listen(0, '127.0.0.1', function () { const uploadUrl = `http://localhost:${server.address().port}` tarAndUpload(dataDirectory, uploadUrl, null, {}, function (err) { t.strictDeepEqual(err, new Error('Bad status code: 500')) server.close(() => t.end()) }) }) })
server.close() })
async close() { try { if (this.socketServer) { await this.socketServer.close(); } if (!this.server) { throw new Error("CubeServer is not started."); } await this.server.close(); this.server = null; if (this.redirector) { await this.redirector.close(); this.redirector = null; } await this.core.releaseConnections(); } catch (e) { if (this.core.event) { await this.core.event("Dev Server Fatal Error", { error: (e.stack || e.message || e).toString() }); } throw e; } }
test('clinic upload - bad status code', function (t) { const server = http.createServer(function (req, res) { res.statusCode = 500 res.end() }) server.listen(function () { cli({ env: { CLINIC_JWT: successfulJwt }, relayStderr: false }, [ 'clinic', 'upload', '--server', `http://127.0.0.1:${server.address().port}`, '--no-open', doctorADirectory ], function (err, stdout, stderr) { t.strictDeepEqual(err, new Error('process exited with exit code 1')) t.strictDeepEqual(stdout.trim().split('\n'), [ 'Signed in as test@test.com.', `Uploading data for ${doctorADirectory} and ${doctorADirectory}.html` ]) t.ok(stderr.includes('Bad status code: 500')) server.close(() => t.end()) }) }) })
server.close() })
const res = await once(http.get('http://localhost:' + server.address().port), 'response') res.resume() server.close() })
test('upload - bad response', function (t) { const dataDirectory = path.resolve( __dirname, 'fixtures', 'only-folder', '10000.clinic-doctor' ) const server = http.createServer(function (req, res) { res.destroy() }) server.listen(0, '127.0.0.1', function () { const uploadUrl = `http://localhost:${server.address().port}` tarAndUpload(dataDirectory, uploadUrl, null, {}, function (err) { t.strictEqual(err.message, 'socket hang up') server.close(() => t.end()) }) }) })
runner.on('error', function (err) { server.close() throw err })
test('upload - error message from server', function (t) { const dataDirectory = path.resolve( __dirname, 'fixtures', 'only-folder', '10000.clinic-doctor' ) const server = http.createServer(function (req, res) { res.statusCode = 400 res.end('{"statusCode": 400, "error": "Bad Request", "message": "This is the message"}') }) server.listen(0, '127.0.0.1', function () { const uploadUrl = `http://localhost:${server.address().port}` tarAndUpload(dataDirectory, uploadUrl, null, {}, function (err) { t.strictDeepEqual(err, Object.assign(new Error('This is the message'), { reply: { statusCode: 400, error: 'Bad Request', message: 'This is the message' } })) server.close(() => t.end()) }) }) })
test('upload - bad body encoding', function (t) { const dataDirectory = path.resolve( __dirname, 'fixtures', 'only-folder', '10000.clinic-doctor' ) const server = http.createServer(function (req, res) { res.end('not JSON') }) server.listen(0, '127.0.0.1', function () { const uploadUrl = `http://localhost:${server.address().port}` tarAndUpload(dataDirectory, uploadUrl, null, {}, function (err) { t.strictEqual(err.name, 'SyntaxError') server.close(() => t.end()) }) }) })