Remote Test System Server
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.gitcd 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.