kinto-node-test-server
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

kinto-node-test-server

Build Status

A Node and browser API for operating a Kinto test server providing the following features:

  • starting a server (optionally with supplementary configuration flags)
  • stopping a server
  • flushing a server
  • killing a running server

Note that a Python virtualenv must be installed in your project, and the kinto pip package installed within that environment.

Prerequisites

Node >= v10 is required.

Installation

$ npm install kinto-node-test-server --save-dev
$ virtualenv .venv -p python3
$ .venv/bin/pip install kinto

Please make sure to create an appropriately configured Kinto ini file.

Node API

Sample usage using mocha:

import KintoServer from "kinto-node-test-server";
 
describe("Test Kinto server", function() {
  let server;
 
  before(function() {
    server = new KintoServer("http://0.0.0.0:8888/v1", {
      kintoConfigPath: __dirname + "/kinto.ini",
    });
  });
 
  after(function() {
    server.killAll();
  });
 
  describe("Default test server", function() {
    beforeEach(function() {
      return server.start();
    });
 
    afterEach(function() {
      return server.stop();
    });
 
    it("should flush a server", function() {
      return server.flush().then(function() {
        console.log("yay flushed");
      });
    });
  });
});

CommonJS

If you're using the library in a CommonJS environment, you'll need to use the following to import the library:

const KintoServer = require("kinto-node-test-server").default;

Note that all KintoServer instance methods return Promises.

Browser API

The browser client follows the same API as the Node client. The browser client requires a proxy server, which you can launch with the following:

import { KintoProxyServer } from "kinto-node-test-server";
 
const server = new KintoProxyServer();
await server.startServer();

You can then connect to to the proxy server and use the same Node API with the following:

import KintoServer from "kinto-node-test-server";
// Note that the proxy server runs on port 8899
const server = new KintoServer("http://0.0.0.0:8899/v1");

Configuration

The KintoServer constructor requires the base URL of your kinto server instance and accepts an options object:

  • maxAttempts: The number of attempts retrying to connect to the server (default: 50)
  • kintoConfigPath: The path to your Kinto ini config file (default: __dirname + "/kinto.ini")
  • pservePath: The path to the .venv pserve executable (default: "pserve"); if the default value doesn't work, try ".venv/bin/pserve".

License

Apache 2.0

Readme

Keywords

Package Sidebar

Install

npm i kinto-node-test-server

Weekly Downloads

4

Version

2.0.0

License

Apache-2.0

Unpacked Size

17.4 kB

Total Files

11

Last publish

Collaborators

  • n1k0
  • natim
  • leplatrem
  • dstaley
  • magopian
  • glasserc