{"_id":"api-easy","_rev":"227321","name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","dist-tags":{"latest":"0.4.0"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"time":{"modified":"2021-06-03T15:43:37.000Z","created":"2011-06-11T21:17:18.608Z","0.4.0":"2014-12-06T06:52:32.936Z","0.3.8":"2013-04-21T06:17:18.380Z","0.3.7":"2012-07-24T20:13:48.000Z","0.3.6":"2012-06-27T04:22:52.446Z","0.3.5":"2012-06-07T01:32:02.121Z","0.3.4":"2012-03-12T22:07:46.910Z","0.3.3":"2012-02-11T06:19:38.237Z","0.3.2":"2011-12-08T23:43:37.456Z","0.3.1":"2011-11-24T04:46:15.441Z","0.3.0":"2011-11-24T03:37:31.158Z","0.2.4":"2011-10-03T22:57:04.356Z","0.2.3":"2011-06-11T21:17:18.608Z"},"users":{"fgribreau":true,"stonecypher":true,"nohponex":true,"jhford":true,"mstapp":true},"author":{"name":"Charlie Robbins","email":"charlie.robbins@gmail.com"},"repository":{"type":"git","url":"http://github.com/flatiron/api-easy.git"},"versions":{"0.4.0":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.4.0","author":{"name":"Charlie Robbins","email":"charlie.robbins@gmail.com"},"repository":{"type":"git","url":"http://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"request":"2.x.x","vows":"0.8.x","qs":"~2.3.3"},"devDependencies":{"director":"~1.2.3","formidable":"~1.0.15","mkdirp":"~0.5.0"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.8.0"},"gitHead":"706aa821dcf29f5daef908eca797ea35b9f63bfc","bugs":{"url":"https://github.com/flatiron/api-easy/issues"},"homepage":"https://github.com/flatiron/api-easy","_id":"api-easy@0.4.0","_shasum":"8ca2cb1ff76dc67916e83507daa6c50959e716ef","_from":".","_npmVersion":"2.1.9","_nodeVersion":"0.10.33","_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"dist":{"shasum":"8ca2cb1ff76dc67916e83507daa6c50959e716ef","size":12427,"noattachment":false,"key":"/api-easy/-/api-easy-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.4.0.tgz"},"directories":{},"publish_time":1417848752936,"_cnpm_publish_time":1417848752936,"_hasShrinkwrap":false},"0.3.8":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.3.8","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"repository":{"type":"git","url":"http://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"pkginfo":"0.3.x","request":"2.x.x","vows":"0.7.x","qs":"0.5.x"},"devDependencies":{"director":"~1.0.3","formidable":"1.0.2","mkdirp":"0.2.x"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"readmeFilename":"README.md","_id":"api-easy@0.3.8","dist":{"shasum":"324b554fa4106e8e8d8ce01989042b072a0b708c","size":22400,"noattachment":false,"key":"/api-easy/-/api-easy-0.3.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.3.8.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"directories":{},"publish_time":1366525038380,"_hasShrinkwrap":false,"_cnpm_publish_time":1366525038380},"0.3.7":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.3.7","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"repository":{"type":"git","url":"git://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"pkginfo":"0.2.x","request":"2.x.x","vows":"0.6.x","qs":"0.5.x"},"devDependencies":{"director":"~1.0.3","formidable":"1.0.2","mkdirp":"0.2.x"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"_id":"api-easy@0.3.7","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.2","_nodeVersion":"v0.8.1","_defaultsLoaded":true,"dist":{"shasum":"924ac4f68ff63d19a2787918b9f768fc7d8cba4e","size":22387,"noattachment":false,"key":"/api-easy/-/api-easy-0.3.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.3.7.tgz"},"directories":{},"publish_time":1343160828000,"_hasShrinkwrap":false,"_cnpm_publish_time":1343160828000},"0.3.6":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.3.6","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"repository":{"type":"git","url":"git://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"pkginfo":"0.2.x","request":"2.x.x","vows":"0.6.x","qs":"0.4.x"},"devDependencies":{"director":"~1.0.3","formidable":"1.0.2","mkdirp":"0.2.x"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"_id":"api-easy@0.3.6","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.2","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"e1639fc5980a7691fd4f035a12776848145588e3","size":22378,"noattachment":false,"key":"/api-easy/-/api-easy-0.3.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.3.6.tgz"},"directories":{},"publish_time":1340770972446,"_hasShrinkwrap":false,"_cnpm_publish_time":1340770972446},"0.3.5":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.3.5","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"repository":{"type":"git","url":"git://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"pkginfo":"0.2.x","request":"2.x.x","vows":"0.6.x","qs":"0.4.x"},"devDependencies":{"director":"~1.0.3","formidable":"1.0.2","mkdirp":"0.2.x"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"_id":"api-easy@0.3.5","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.2","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"7e06e8d880e58a8df981a70ec05cf50d3e096b55","size":22036,"noattachment":false,"key":"/api-easy/-/api-easy-0.3.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.3.5.tgz"},"directories":{},"publish_time":1339032722121,"_hasShrinkwrap":false,"_cnpm_publish_time":1339032722121},"0.3.4":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.3.4","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"contributors":[{"name":"Charlie Robbins","email":"charlie@nodejitsu.com"}],"repository":{"type":"git","url":"git://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"pkginfo":"0.2.x","request":"2.x.x","vows":"0.6.x","qs":"0.4.x"},"devDependencies":{"director":"~1.0.3","formidable":"1.0.2","mkdirp":"0.2.x"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"_id":"api-easy@0.3.4","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.2","_nodeVersion":"v0.6.10","_defaultsLoaded":true,"dist":{"shasum":"f8d41e7ba670b3644345ff9c52cf09e6d16495bd","size":21922,"noattachment":false,"key":"/api-easy/-/api-easy-0.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.3.4.tgz"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"directories":{},"publish_time":1331590066910,"_hasShrinkwrap":false,"_cnpm_publish_time":1331590066910},"0.3.3":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.3.3","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"contributors":[{"name":"Charlie Robbins","email":"charlie@nodejitsu.com"}],"repository":{"type":"git","url":"git://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"pkginfo":"0.2.x","request":"2.x.x","vows":"0.6.x"},"devDependencies":{"director":"~1.0.3","formidable":"1.0.2","mkdirp":"0.2.x"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"_id":"api-easy@0.3.3","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-2","_nodeVersion":"v0.6.10","_defaultsLoaded":true,"dist":{"shasum":"0d98a953c1ef9334f229296ba67c32f77326e1d0","size":21906,"noattachment":false,"key":"/api-easy/-/api-easy-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.3.3.tgz"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"directories":{},"publish_time":1328941178237,"_hasShrinkwrap":false,"_cnpm_publish_time":1328941178237},"0.3.2":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.3.2","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"contributors":[{"name":"Charlie Robbins","email":"charlie@nodejitsu.com"}],"repository":{"type":"git","url":"git://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"pkginfo":"0.2.x","request":"2.x.x","vows":"0.6.x"},"devDependencies":{"director":"~1.0.3","formidable":"1.0.2","mkdirp":"0.2.x"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"_id":"api-easy@0.3.2","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"91013ae6dcac54484400970f92a7c1d75a0c0323","size":30720,"noattachment":false,"key":"/api-easy/-/api-easy-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.3.2.tgz"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"directories":{},"publish_time":1323387817456,"_hasShrinkwrap":false,"_cnpm_publish_time":1323387817456},"0.3.1":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.3.1","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"contributors":[{"name":"Charlie Robbins","email":"charlie@nodejitsu.com"}],"repository":{"type":"git","url":"git://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"pkginfo":"0.2.x","request":"2.x.x","vows":"0.5.x"},"devDependencies":{"director":"~1.0.3","formidable":"1.0.2","mkdirp":"0.2.x"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"_id":"api-easy@0.3.1","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"2a9e663341289b3539b822ddf9f494f572879803","size":30720,"noattachment":false,"key":"/api-easy/-/api-easy-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.3.1.tgz"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"directories":{},"publish_time":1322109975441,"_hasShrinkwrap":false,"_cnpm_publish_time":1322109975441},"0.3.0":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.3.0","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"contributors":[{"name":"Charlie Robbins","email":"charlie@nodejitsu.com"}],"repository":{"type":"git","url":"git://github.com/flatiron/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"pkginfo":"0.2.x","request":"2.x.x","vows":"0.5.x"},"devDependencies":{"journey":">= 0.4.0-pre-2","formidable":"1.0.2","mkdirp":"0.2.x"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"_id":"api-easy@0.3.0","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"c386fb47b6ffd086a5a8a3689c60758ba62cb5bf","size":30720,"noattachment":false,"key":"/api-easy/-/api-easy-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.3.0.tgz"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"directories":{},"publish_time":1322105851158,"_hasShrinkwrap":false,"_cnpm_publish_time":1322105851158},"0.2.4":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.2.4","author":{"name":"Charlie Robbins","email":"charlie.robbins@gmail.com"},"repository":{"type":"git","url":"git://github.com/indexzero/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"request":"2.x.x","vows":"0.5.x"},"devDependencies":{"journey":">= 0.4.0-pre-2"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_npmJsonOpts":{"file":"/Users/Charlie/.npm/api-easy/0.2.4/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"api-easy@0.2.4","_engineSupported":true,"_npmVersion":"1.0.23","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"2ad1ddcef47ca0ef8b423eb28d4b29644963e5f3","size":19433,"noattachment":false,"key":"/api-easy/-/api-easy-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.2.4.tgz"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"directories":{},"publish_time":1317682624356,"_hasShrinkwrap":false,"_cnpm_publish_time":1317682624356},"0.2.3":{"name":"api-easy","description":"Fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.","version":"0.2.3","author":{"name":"Charlie Robbins","email":"charlie.robbins@gmail.com"},"repository":{"type":"git","url":"git://github.com/indexzero/api-easy.git"},"keywords":["testing","api","REST","vows"],"dependencies":{"request":">= 1.9.0","vows":">= 0.5.2"},"devDependencies":{"journey":">= 0.4.0-pre-2"},"main":"./lib/api-easy","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.3"},"_id":"api-easy@0.2.3","_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"fbf8244e5215073bc93f6bf0d193d6ba31c91b17","size":18920,"noattachment":false,"key":"/api-easy/-/api-easy-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/api-easy/download/api-easy-0.2.3.tgz"},"directories":{},"publish_time":1307827038608,"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"_hasShrinkwrap":false,"_cnpm_publish_time":1307827038608}},"readme":"# APIeasy [![Build Status](https://secure.travis-ci.org/flatiron/api-easy.png)](http://travis-ci.org/flatiron/api-easy)\n\nA fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.\n\n## Installation\n\n### Installing npm (node package manager)\n``` bash\n  $ curl http://npmjs.org/install.sh | sh\n```\n\n### Installing APIeasy\n``` bash\n  $ [sudo] npm install api-easy\n```\n\n## Purpose\nAPIeasy is designed to be a simple way to test RESTful APIs in [node.js][0] and Javascript. The primary design goal was to reduce the number of lines of test code required to fully cover all primary and edge use cases of a given API over HTTP.\n\n## Getting Started\nMost of the documentation for this library is available through the [annotated source code, available here][1] thanks to [jashkenas][2] and [docco][3]. If you're not feeling up for that, just keep reading here. tldr;? [Read how to use APIeasy in your own projects][4]\n\nIf you're going to use APIeasy (and I hope you do), it's worth taking a moment to understand the way that [vows][5] manages flow control. Read up here on [vowsjs.org][5] (Under \"Structure of a test suite\"), or just remember vows uses this grammatical structure:\n\n```\n  Suite   → Batch*\n  Batch   → Context*\n  Context → Topic? Vow* Context*\n```\n\nGot it? Good. There is a 1-to-1 relationship between a APIeasy suite and a vows suite; APIeasy is essentially a simpler syntax to manage a particular set of vows-based tests that conform to this pattern:\n\n1. Tests are performed by making HTTP requests against an API server\n2. Assertions are made against the HTTP response and JSON response body\n3. Rinse. Repeat.\n\nHere's a sample of the boilerplate code that APIeasy eliminates:\n\n``` js\n  var request = require('request'),\n      vows = require('vows'),\n      assert = require('assert');\n\n  vows.describe('your/awesome/api').addBatch({\n    \"When using your awesome api\": {\n      \"and your awesome resource\": {\n        \"A POST to /awesome\": {\n          topic: function () {\n            request({\n              uri: 'http://localhost:8080/awesome',\n              method: 'POST',\n              body: JSON.stringify({ test: 'data' }),\n              headers: {\n                'Content-Type': 'application/json'\n              }\n            }, this.callback)\n          },\n          \"should respond with 200\": function (err, res, body) {\n            assert.equal(res.statusCode, 200);\n          },\n          \"should respond with ok\": function (err, res, body) {\n            var result = JSON.parse(body);\n            assert.equal(result.ok, true);\n          },\n          \"should respond with x-test-header\": function (err, res, body) {\n            assert.include(res.headers, 'x-test-header');\n          }\n        }\n      }\n    }\n  }).export(module);\n```\n\nThis same code can be implemented like this using APIeasy:\n\n``` js\n  var APIeasy = require('api-easy'),\n      assert = require('assert');\n\n  var suite = APIeasy.describe('your/awesome/api');\n\n  suite.discuss('When using your awesome API')\n       .discuss('and your awesome resource')\n       .use('localhost', 8080)\n       .setHeader('Content-Type', 'application/json')\n       .post('/awesome', { test: 'data' })\n         .expect(200, { ok: true })\n         .expect('should respond with x-test-header', function (err, res, body) {\n           assert.include(res.headers, 'x-test-header');\n         })\n       .export(module);\n```\n\n<a name=\"using-api-easy\">\n## Using APIeasy in your own project\nThere are two ways to use APIeasy in your own project:\n\n1. Using npm\n2. Using vows directly\n\n### Using APIeasy with npm\nIf you've used the `npm test` command in [npm][7] before, this should be nothing new. You can read more about the [npm test command here][8]. All you need to do is add the following to your `package.json` file:\n\n``` js\n {\n   \"dependencies\": {\n     \"api-easy\": \"0.2.x\"\n   },\n   \"scripts\": {\n     \"test\": \"vows test/*-test.js\"\n   }\n }\n```\n\n**Note:** `test/*-test.js` is at your discretion. It's just an expression for all test files in your project.\n\nAfter adding this to your `package.json` file you can run the following to execute your tests:\n\n``` bash\n  $ cd path/to/your/project\n  $ npm install\n  $ npm test\n```\n\nThere is also a full working sample of how to use this approach [here][9].\n\n### Using APIeasy with vows\nWhen you install APIeasy or take it as a dependency in your `package.json` file it will not install [vows][5] globally, so to use vows you must install it globally.\n\n``` bash\n  $ [sudo] npm install vows -g\n```\n\nAfter installing vows you can simply run it from inside your project:\n\n``` bash\n  $ cd /path/to/your/project\n  $ vows\n```\n\n## Roadmap\n\n1. [Get feedback][6] on what else could be exposed through this library.\n2. Improve it.\n3. Repeat (1) + (2).\n\n## Run Tests\n<pre>\n  npm test\n</pre>\n\n#### Author: [Charlie Robbins](http://nodejitsu.com)\n\n[0]: http://nodejs.org\n[1]: http://flatiron.github.com/api-easy\n[2]: http://github.com/jashkenas\n[3]: http://github.com/jashkenas/docco\n[4]: #using-api-easy\n[5]: http://vowsjs.org\n[6]: http://github.com/flatiron/api-easy/issues\n[7]: http://npmjs.org\n[8]: https://github.com/isaacs/npm/blob/master/doc/cli/npm-test.md\n[9]: https://gist.github.com/1039425\n","_attachments":{},"homepage":"https://github.com/flatiron/api-easy","bugs":{"url":"https://github.com/flatiron/api-easy/issues"}}