tenon-cli
v1.0.3
Published
A CLI for the Node wrapper of the Tenon.io API.
Downloads
17
Readme
Tenon CLI
This CLI was made to interact with the Tenon.io API. It utilizes Node and Commander,js to create a UNIX-style CLI.
Installation
Tenon CLI requires Node.js v4+ to run.
Install it as global package:
$ npm install tenon-cli -g
Usage
First, register at https://tenon.io and acquire the API key.
Basic usage:
$ tenon-cli --key=XXXXXXXX https://example.com
This will return JSON formatted test results for the given URL.
If you need more control, you can supply a config.json file and supply it like this:
$ tenon-cli --key=XXXXXXXX --config=config.json https://example.com
A sample config file:
{
"out": "test-results.html",
"format": "html",
"waitFor": 1000
}
You can supply the results file, format you require and various other parameters.
You can find all the available formats in https://github.com/poorgeek/tenon-reporters readme.
Development
To develop this CLI further, modify the following files:
tenon.js
- This is where the Tenon API is called and where the options included in these calls and used to manage the return data exists.
index.js
- This is where the actual CommanderJS parser and all of the CLI specific data exists.
NOTE: ANY CHANGES MADE TO OPTIONS IN index.js
MUST BE REFLECTED IN testIndex.js
BECAUSE THEIR ENVIRONMENTS ARE SLIGHTLY DIFFERENT BUT THE TEST FILE MUST ACCURATELY MOCK THE PRODUCTION INDEX FILE IN ORDER FOR TESTING TO BE EFFECTIVE.
Then run
$ npm run compile
Then when you are ready to run it as a full blown CLI, run this from the root directory of the project:
$ npm install -g
(optional) Third:
$ karma start
Testing
Tests automatically utilize babel and ES6 standards, to run tests just enter (from the project root directory):
$ npm run test
This will run the tests using mocha.
To write new tests, just put them in the test/
folder and they will automatically be tested with the above command. Each test that utilizes/mocks the CLI arguments and their conversion to options must import/require testIndex.js
.