Nerfing Powerful Megalomaniacs

    npm-registry-mock

    1.3.1 • Public • Published

    Build Status Dependency Status

    npm-registry-mock

    Mocked Packages

    Currently mocked packages are:

    underscore at 1.3.1, 1.3.3 and 1.5.1 while version 1.5.1 is the latest in this mocked registry.

    request at 0.9.0, 0.9.5 and 2.27.0 while version 2.27.0 is the latest in this mocked registry.

    test-package-with-one-dep at 0.0.0, with mocked dependency test-package@0.0.0.

    npm-test-peer-deps at 0.0.0, with a peer dependency on request@0.9.x and a dependency on underscore@1.3.1.

    test-repo-url-http at 0.0.0

    test-repo-url-https at 0.0.1

    test-repo-url-ssh at 0.0.1

    mkdirp at 0.3.5

    optimist at 0.6.0

    clean at 2.1.6

    async at 0.2.9, 0.2.10

    checker at 0.5.1, 0.5.2

    Usage

    Installing underscore 1.3.1:

    var mr = require("npm-registry-mock")
     
    mr({port: 1331}, function (err, s) {
      npm.load({registry: "http://localhost:1331"}, function () {
        npm.commands.install("/tmp", "underscore@1.3.1", function (err) {
          // assert npm behaves right...
          s.close() // shutdown server
        })
      })
    })

    Defining custom mock routes:

    var mr = require("npm-registry-mock")
     
    var customMocks = {
      "get": {
        "/mypackage": [500, {"ente" : true}]
      }
    }
     
    mr({port: 1331, mocks: customMocks}, function (err, s) {
      npm.load({registry: "http://localhost:1331"}, function () {
        npm.commands.install("/tmp", "mypackage", function (err) {
          // assert npm behaves right with an 500 error as response...
          s.close() // shutdown server
        })
      })
    })

    Limit the requests for each route:

    mr({
        port: 1331,
        minReq: 1,
        maxReq: 5
      }, function (err, s) {
     

    Adding a new fixture

    Although ideally we stick with the packages already mocked when writing new tests, in some cases it can be necessary to recreate a certain pathological or unusual scenario in the mock registry. In that case you can run

    $ ./add-fixture.sh my-weird-package 1.2.3

    to add that package to the fixtures directory.

    Breaking Changes for 1.0

    • the callback returns err, server now, instead of just server (https://github.com/npm/npm-registry-mock/issues/20)
    • options must be of type object
    • a "plugin" is injected via options.plugin, not as a mock being a function
    • a plugin does not override the default routes any more

    Install

    npm i npm-registry-mock

    DownloadsWeekly Downloads

    985

    Version

    1.3.1

    License

    BSD-2-Clause

    Unpacked Size

    1.27 MB

    Total Files

    87

    Last publish

    Collaborators

    • fritzy
    • darcyclarke
    • ruyadorno
    • nlf
    • gar
    • lukekarrys