JSPM

express-api-mocker

1.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q32180F
  • License ISC

An express mock api server for testing purposes

Package Exports

  • express-api-mocker
  • express-api-mocker/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (express-api-mocker) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Express API Mocker

Express API Mocker is a simple npm package that allows you to mock APIs using Express and TLS.

Installation

You can install the package via npm:

Bash

npm install express-api-mocker

Features

  • Mock GET, POST, PUT, and DELETE endpoints
  • Add custom headers to responses
  • Enable CORS with customizable options
  • TLS/SSL support for secure connections
  • Easy to set up and configure

API

addCustomHeaders(headers)

Adds custom headers to all responses.

  • headers (Object): An object representing custom headers to be added.

enableCORS(options)

Enables CORS with the specified options.

  • options (Object): CORS configuration options.

mockGet(endpoint, response)

Mocks a GET endpoint.

  • endpoint (String): The endpoint to mock.
  • response (Object): The response to return for the mocked endpoint.

mockPost(endpoint, response)

Mocks a POST endpoint.

  • endpoint (String): The endpoint to mock.
  • response (Object): The response to return for the mocked endpoint.

mockPut(endpoint, response)

Mocks a PUT endpoint.

  • endpoint (String): The endpoint to mock.
  • response (Object): The response to return for the mocked endpoint.

mockDelete(endpoint, response)

Mocks a DELETE endpoint.

  • endpoint (String): The endpoint to mock.
  • response (Object): The response to return for the mocked endpoint.

start(port, options)

Starts the mock server.

  • port (Number): The port to run the server on.
  • options (Object): Server options.
    • tlsEnabled (Boolean): Whether to enable TLS/SSL.
    • tlsOptions (Object): TLS/SSL options.

Usage

const { ApiMocker, generateTLSCertificates } = require('express-api-mocker');
const fs = require('fs');

const mocker = new ApiMocker();

// Add custom headers
mocker.addCustomHeaders({
  'X-Custom-Header': 'CustomValue',
  'X-Powered-By': 'Express-Api-Mocker'
});

// Enable CORS with options
mocker.enableCORS({
  origin: '*', // Allow all origins
  methods: ['GET', 'POST', 'PUT', 'DELETE'], // Allow specific HTTP methods
  allowedHeaders: ['Content-Type', 'Authorization'] // Allow specific headers
});

// Mock some endpoints
mocker.mockGet('/api/user', { id: 1, name: 'John Doe' });
mocker.mockPost('/api/login', { success: true, token: 'abc123' });
mocker.mockPut('/api/user/1', { success: true });
mocker.mockDelete('/api/user/1', { success: true });

// Generate TLS certificates
generateTLSCertificates('./cert.pem', './key.pem');

const tlsOptions = {
  key: fs.readFileSync('./key.pem'),
  cert: fs.readFileSync('./cert.pem')
};

// Start the mock server
mocker.start(3000, {
  tlsEnabled: true,
  tlsOptions: tlsOptions
});

License

This project is licensed under the ISC License.