mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-02-08 11:12:01 +01:00
57 lines
1.8 KiB
JavaScript
57 lines
1.8 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
const assert = require('assert').strict;
|
||
|
const common = require('../common');
|
||
|
const settings = require('../../../node/utils/Settings');
|
||
|
const superagent = require('superagent');
|
||
|
|
||
|
describe(__filename, function () {
|
||
|
let agent;
|
||
|
const backup = {};
|
||
|
|
||
|
const getHealth = () => agent.get('/health')
|
||
|
.accept('application/health+json')
|
||
|
.buffer(true)
|
||
|
.parse(superagent.parse['application/json'])
|
||
|
.expect(200)
|
||
|
.expect((res) => assert.equal(res.type, 'application/health+json'));
|
||
|
|
||
|
before(async function () {
|
||
|
agent = await common.init();
|
||
|
});
|
||
|
|
||
|
beforeEach(async function () {
|
||
|
backup.settings = {};
|
||
|
for (const setting of ['requireAuthentication', 'requireAuthorization']) {
|
||
|
backup.settings[setting] = settings[setting];
|
||
|
}
|
||
|
});
|
||
|
|
||
|
afterEach(async function () {
|
||
|
Object.assign(settings, backup.settings);
|
||
|
});
|
||
|
|
||
|
it('/health works', async function () {
|
||
|
const res = await getHealth();
|
||
|
assert.equal(res.body.status, 'pass');
|
||
|
assert.equal(res.body.releaseId, settings.getEpVersion());
|
||
|
});
|
||
|
|
||
|
it('auth is not required', async function () {
|
||
|
settings.requireAuthentication = true;
|
||
|
settings.requireAuthorization = true;
|
||
|
const res = await getHealth();
|
||
|
assert.equal(res.body.status, 'pass');
|
||
|
});
|
||
|
|
||
|
// We actually want to test that no express-session state is created, but that is difficult to do
|
||
|
// without intrusive changes or unpleasant ueberdb digging. Instead, we assume that the lack of a
|
||
|
// cookie means that no express-session state was created (how would express-session look up the
|
||
|
// session state if no ID was returned to the client?).
|
||
|
it('no cookie is returned', async function () {
|
||
|
const res = await getHealth();
|
||
|
const cookie = res.headers['set-cookie'];
|
||
|
assert(cookie == null, `unexpected Set-Cookie: ${cookie}`);
|
||
|
});
|
||
|
});
|