https://github.com/runnable/nock-github-oauth
GitHub OAuth HTTP intercepts via nock.
https://github.com/runnable/nock-github-oauth
Last synced: 22 days ago
JSON representation
GitHub OAuth HTTP intercepts via nock.
- Host: GitHub
- URL: https://github.com/runnable/nock-github-oauth
- Owner: Runnable
- License: mit
- Created: 2015-03-17T20:56:52.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2017-06-19T09:32:46.000Z (about 9 years ago)
- Last Synced: 2025-03-05T16:27:06.574Z (over 1 year ago)
- Language: JavaScript
- Size: 555 KB
- Stars: 2
- Watchers: 12
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nock-github-oauth
[](https://travis-ci.org/Runnable/nock-github-oauth)
[](https://david-dm.org/Runnable/nock-github-oauth)
[](https://david-dm.org/Runnable/nock-github-oauth#info=devDependencies)
[](https://codeclimate.com/github/Runnable/nock-github-oauth)
[](https://nodei.co/npm/nock-github-oauth/)
GitHub OAuth HTTP intercepts via nock.
## Installation
Via npm: `npm install nock-github-oauth --save-dev`
## Usage
`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`, and
* `POST /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:
```js
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:
```js
var github = require('nock-github-oauth');
var mockToken = github.token;
var githubHost = github.host;
```
## Contributing & Tests
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
```
## License
[MIT](https://raw.githubusercontent.com/Runnable/nock-github-oauth/master/LICENSE)