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.
Node >= v10 is required.
$ 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.
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");
});
});
});
});
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.
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");
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 .venvpserve
executable (default:"pserve"
); if the default value doesn't work, try".venv/bin/pserve"
.
Apache 2.0