Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@octokit/fixtures-server

Package Overview
Dependencies
Maintainers
1
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@octokit/fixtures-server

Fixtures server for browser & language agnositic octokit testing

latest
Source
npmnpm
Version
8.1.6
Version published
Weekly downloads
67
19.64%
Maintainers
1
Weekly downloads
 
Created
Source

fixtures-server

Fixtures server for browser & language agnostic octokit testing

Test

The Octokit Fixtures Server is proxies requests to the mocked routes provided by @octokit/fixtures.

Usage

  • Load a fixture. All folder names at @octokit/fixtures/scenarios/api.github.com are valid values for scenario.

    curl -XPOST -H'Content-Type: application/json' http://localhost:3000/fixtures -d '{"scenario": "get-repository"}'
    

    The response looks something like this

    {
      "id": "fixturesid123",
      "url": "http://localhost:3000/api.github.com/fixturesid123/api.github.com/fixturesid123"
    }
    
  • Send a request to the returned url as if it was https://api.github.com.

    curl -H'Authorization: token 0000000000000000000000000000000000000001' -H'Accept: application/vnd.github.v3+json' http://localhost:3000/api.github.com/fixturesid123/repos/octokit-fixture-org/hello-world
    

After that request the fixture is "consumed". That allows for different responses for the same requests based on order.

If you want to load custom fixtures, you'll have to use @octokit/fixtures-server as standalone server or as as express middleware.

Standalone Server

Download binary for your os from the latest release.

Alternatively, you can also install @octokit/fixtures-server as a global npm package, if you prefer that:

npm install --global @octokit/fixtures-server

By default the server runs at http://localhost:3000

octokit-fixtures-server

Options

CLI optionENV variabledefaultdescription
--portPORT3000Server port number
--fixtures-urlFIXTURES_URL'http://localhost:<port>'URL to handle fixture requests (This helps with continuous deployments)
--log-levelLOG_LEVEL'info'One of 'debug', 'info', 'warn', 'error', 'silent'
--ttlTTL60000Expiration time for loaded fixtures in ms
--fixturesFIXTURES'node_modules/@octokit/fixtures/scenarios/**/normalized-fixture.json'glob path to load JSON fixture files recorded with nock. Make sure to wrap the value with quotes, e.g. --fixtures='./scenarios/*.json'

Express Middleware

const express = require("express");
const app = express();

const fixturesServer = require("@octokit/fixtures-server");
app.use(
  fixturesServer({
    fixtures: {
      "my-scenario": require("./scenarios/my-scenario.json"),
    },
  }),
);

app.listen(3000);

Options

OptionDefaultDescription
fixturesUrl'http://localhost:<port>'URL to handle fixture requests (This helps with continuous deployments)
logLevel'info'One of 'debug', 'info', 'warn', 'error', 'silent'
ttl60000Expiration time (time to live) for loaded fixtures in ms
fixturesfixtures from @octokit/fixtures/scenarios/api.github.comObject with keys being the scenario names and values being the fixtures arrays

License

MIT

FAQs

Package last updated on 27 May 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts