passport-stub-js

Passport.js stub for testing.

passport-stub

This is a generated Javascript version of Guilherme J. Tramontina's @gtramontina passport-stub.

Passport.js stub for testing. | Based on Jonathon Kresner's (@jkresner) post.

Written with the idea of being simple to use.

I've been writing my Express API tests with Mocha and Supertest, so here is an example:

var passportStub = require('passport-stub')
  , request      = require('supertest')
  , app          = require('../app');
 
passportStub.install(app);
req = request(app);
 
describe('GET /admin', function() {
 
  it('responds with 401 if not logged in', function(done){
    req.get('/admin').expect(401);
    done();
  });
 
  it('responds with 200 when logged in', function(done){
    passportStub.login({username: 'john.doe'});
    req.get('/admin').expect(200);
    done();
  });
});

The user you log in with can be whatever user your app would expect to deal with. It could be a mongoose model, for example.

  • .install(app)
  • .uninstall()
  • .login(user)
  • .logout()

Although I didn't use, I've included a few other functions that might be useful. The code itself is pretty simple, so take a look at it.

This is licensed under the feel-free-to-do-whatever-you-want-to-do license.