mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-04 00:18:01 +01:00
Add sign-out route #288
This commit is contained in:
parent
95d36b89d7
commit
b3704666bc
@ -16,5 +16,12 @@ exports.router = function() {
|
||||
}
|
||||
});
|
||||
|
||||
router.get('/logout', (req, res) => {
|
||||
if (req.session) {
|
||||
req.session = null;
|
||||
}
|
||||
res.redirect('/');
|
||||
});
|
||||
|
||||
return router;
|
||||
};
|
||||
|
57
lib/routes/admin-api/user.test.js
Normal file
57
lib/routes/admin-api/user.test.js
Normal file
@ -0,0 +1,57 @@
|
||||
'use strict';
|
||||
|
||||
const { test } = require('ava');
|
||||
const store = require('./../../../test/fixtures/store');
|
||||
const supertest = require('supertest');
|
||||
const getApp = require('../../app');
|
||||
const User = require('../../user');
|
||||
|
||||
const { EventEmitter } = require('events');
|
||||
const eventBus = new EventEmitter();
|
||||
|
||||
const currentUser = new User({ email: 'test@mail.com' });
|
||||
|
||||
function getSetup() {
|
||||
const base = `/random${Math.round(Math.random() * 1000)}`;
|
||||
const stores = store.createStores();
|
||||
const app = getApp({
|
||||
baseUriPath: base,
|
||||
stores,
|
||||
eventBus,
|
||||
preHook: a => {
|
||||
a.use((req, res, next) => {
|
||||
req.user = currentUser;
|
||||
next();
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
return {
|
||||
base,
|
||||
strategyStore: stores.strategyStore,
|
||||
request: supertest(app),
|
||||
};
|
||||
}
|
||||
|
||||
test('should return current user', t => {
|
||||
t.plan(1);
|
||||
const { request, base } = getSetup();
|
||||
|
||||
return request
|
||||
.get(`${base}/api/admin/user`)
|
||||
.expect(200)
|
||||
.expect('Content-Type', /json/)
|
||||
.expect(res => {
|
||||
t.true(res.body.email === currentUser.email);
|
||||
});
|
||||
});
|
||||
|
||||
test('should logout and redirect', t => {
|
||||
t.plan(0);
|
||||
const { request, base } = getSetup();
|
||||
|
||||
return request
|
||||
.get(`${base}/api/admin/user/logout`)
|
||||
.expect(302)
|
||||
.expect('Location', '/');
|
||||
});
|
@ -33,6 +33,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node server.js",
|
||||
"start:google": "node examples/google-auth-unleash.js",
|
||||
"start:dev": "NODE_ENV=development supervisor --ignore ./node_modules/ server.js",
|
||||
"start:dev:pg": "pg_virtualenv npm run start:dev:pg-chain",
|
||||
"start:dev:pg-chain": "export DATABASE_URL=postgres://$PGUSER:$PGPASSWORD@localhost:$PGPORT/postgres ; db-migrate up && npm run start:dev",
|
||||
|
Loading…
Reference in New Issue
Block a user