node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

rts-server

Remote Test System Server

Build Status NPM version Dependencies Status Gitter

Testing system for remote step-by-step test execution.

Getting Started

Node.js and NPM should be installed beforehand. Please follow the official instruction.

RTS Server is available as an npm package and should be installed globally:

npm install -g rts-server

In Linux this can be done as a root:

sudo npm install -g rts-server

Then to start a server with default options:

rts-server

Usage

General way of usage:

rts-server [options]

Full list of available options can be provided by the rts-server application:

rts-server --help

To run RTS Server with the specific configuration:

rts-server --config ./config.js

API methods and notification events are in api.md file.

Config file options

Name Description
debug enable verbose debug mode
test run tests and exit
port HTTP port serving clients requests
dataLimit default amount of returned records in lists of users, targets etc.
dataLimitMax maximum amount of returned records in lists
database database connection options passed to node-orm2 package

Default config options are listed in the config.js.

DBMS Support

  • MySQL & MariaDB
  • PostgreSQL
  • Amazon Redshift (not tested)
  • SQLite

There are some config file examples for mysql, postgres, sqlite in memory and other options.

Error codes

Value Message Description
-32700 Parse error Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.
-32600 Invalid Request The JSON sent is not a valid Request object.
-32601 Method not found The method does not exist / is not available.
-32602 Invalid params Invalid method parameter(s).
-32001 Not found Requested data was not found.
-32002 Search failure Data search failure.
-32003 Save failure Data was not saved.
-32004 Client only The method is available only for client connections.
-32005 Target only The method is available only for target connections.
-32006 Not authorized The method is available only for authorized client connections.

Development

Install global dependencies:

sudo npm install -g node-dev

Get the latest version of source files:

git clone git@github.com:stbrnd/rts-server.git
cd rts-server

Then install local dependencies:

npm install

If necessary install rts-server as global npm package:

sudo npm link

Now you can start it with default config:

npm start
# or
rts-server
# or
node ./bin/cli.js
# or
node-dev ./bin/cli.js

To see sub-system log details:

DEBUG=* node ./bin/cli.js --debug
# or with specific config file
DEBUG=* node-dev ./bin/cli.js --config ./config.js --debug

Testing

It's possible to run tests locally:

npm test
# or full command
rts-server --config ./tests/configs/sqlite.json --test
# or the same
node ./bin/cli.js --config ./tests/configs/sqlite.json --test
# with debug info
node ./bin/cli.js --config ./tests/configs/sqlite.json --test --debug
# with all available debug info
DEBUG=* node ./bin/cli.js --config ./tests/configs/sqlite.json --test --debug

Tests are also run on Travis CI for node versions 0.12.x and 4.1.

Contribution

If you have any problem or suggestion please open an issue here. Pull requests are welcomed with respect to the JavaScript Code Style.

License

rts-server is released under the GPL-3.0 License.