From 9107d791e2eef9a1b24b0499dac8b9dbba8a792f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 29 Apr 2020 09:04:42 +0200 Subject: Add external login tests --- .../peertube-plugin-test-external-auth-one/main.js | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 server/tests/fixtures/peertube-plugin-test-external-auth-one/main.js (limited to 'server/tests/fixtures/peertube-plugin-test-external-auth-one/main.js') diff --git a/server/tests/fixtures/peertube-plugin-test-external-auth-one/main.js b/server/tests/fixtures/peertube-plugin-test-external-auth-one/main.js new file mode 100644 index 000000000..f29fd1f30 --- /dev/null +++ b/server/tests/fixtures/peertube-plugin-test-external-auth-one/main.js @@ -0,0 +1,67 @@ +async function register ({ + registerExternalAuth, + peertubeHelpers +}) { + { + const result = registerExternalAuth({ + authName: 'external-auth-1', + authDisplayName: 'External Auth 1', + onLogout: user => peertubeHelpers.logger.info('On logout %s', user.username), + onAuthRequest: (req, res) => { + const username = req.query.username + + result.userAuthenticated({ + req, + res, + username, + email: username + '@example.com' + }) + } + }) + } + + { + const result = registerExternalAuth({ + authName: 'external-auth-2', + authDisplayName: 'External Auth 2', + onAuthRequest: (req, res) => { + result.userAuthenticated({ + req, + res, + username: 'kefka', + email: 'kefka@example.com', + role: 0, + displayName: 'Kefka Palazzo' + }) + }, + hookTokenValidity: (options) => { + if (options.type === 'refresh') { + return { valid: false } + } + + if (options.type === 'access') { + const token = options.token + const now = new Date() + now.setTime(now.getTime() - 5000) + + const createdAt = new Date(token.createdAt) + + return { valid: createdAt.getTime() >= now.getTime() } + } + + return { valid: true } + } + }) + } +} + +async function unregister () { + return +} + +module.exports = { + register, + unregister +} + +// ########################################################################### -- cgit v1.2.3