GitHub OAuth HTTP intercepts via nock.
Via npm: npm install nock-github-oauth --save-dev
nock-github-oauth is meant to be used from a testing context. Specifically, it mocks the
following routes for https://github.com:443:
GET /login,GET /login/oauth/authorize, andPOST /login/oauth/access_token(returns a mocked token in the body).
The package exposes a method (exports.nock) that establishes the intercepts for each of the
aforementioned Github OAuth routes. Here is an example of how to use it in a
(https://github.com/hapijs/lab)[lab] test:
var Lab = require('lab');
var lab = exports.lab = Lab.script();
var nock = require('nock');
var github = require('nock-github-oauth');
lab.experiment('module that depends on GitHub OAuth', function() {
lab.before(function(done) {
// Setup github oauth http intercepts
github.nock(done);
});
lab.after(function(done) {
// Remove all intercepts
nock.cleanAll();
});
});Finally, for convience, the package also exposes the https host for GitHub OAuth via
exports.host (https://github.com:443). and the mocked oauth token returned by the
intercepted POST /login/oauth/access_token via exports.token. You can access these
like so:
var github = require('nock-github-oauth');
var mockToken = github.token;
var githubHost = github.host;When adding new features, fixing bugs, etc. please make sure to include the appropriate
tests and ensure all tests are passing before sending a pull request. We use lab for
unit testing, here's how to run tests:
npm run test
Additionally you'll want to ensure the files lint:
npm run lint
