From 2845495b23ba7b33c434cd61a13678c2709022dc Mon Sep 17 00:00:00 2001 From: Lior Mualem Date: Wed, 9 Jul 2014 10:23:35 +0300 Subject: [PATCH] Added tests for passport-strategy module. --- passport-strategy/passport-strategy-test.ts | 48 +++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 passport-strategy/passport-strategy-test.ts diff --git a/passport-strategy/passport-strategy-test.ts b/passport-strategy/passport-strategy-test.ts new file mode 100644 index 000000000..e9c6fd604 --- /dev/null +++ b/passport-strategy/passport-strategy-test.ts @@ -0,0 +1,48 @@ + +import express = require('express'); +import passport = require('passport-strategy'); + + +export class Strategy extends passport.Strategy { + constructor(options: any, verify?: Function) { + if (typeof options == 'function') { + verify = options; + options = {}; + } + if (!verify) { + throw new TypeError('DummyStrategy requires a verify callback'); + } + + super(); + + this.name = 'dummy'; + this._verify = verify; + this._passReqToCallback = options.passReqToCallback; + } + + name: string; + + _verify: Function; + _passReqToCallback: boolean; + + authenticate(req: express.Request, options?: any): void { + options = options || {}; + + // Test fail method. + this.fail({ message: options.missingTokenMessage || 'Missing token' }, 400); + + var self = this; + + function verified(err: Error, user: any, info: any) { + if (err) { + return self.error(err); + } + if (!user) { + return self.fail(info); + } + self.success(user, info); + } + + verified(null, {}, {}); + } +}