00f100 / phpatr
Package to your test routes API REST to use in Jenkins
Installs: 181
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 2
Open Issues: 0
Type:package
Requires
- php: >=5.5
- 00f100/phpuphar: *
- guzzlehttp/guzzle: 6.*
Requires (Dev)
- 00f100/phpdbug: *
- phpunit/phpunit: 4.*
README
Package to Smoke testing
Test your API REST on Jenkins based on JSON file!
Easy configuration and secure result!
Installation
$ wget https://raw.githubusercontent.com/00F100/phpatr/master/dist/phpatr.phar
Configuration
Configure the file "phpatr.json":
Example:
{ "name": "Test reqres.in", "base": [ { "name": "httpbin.org", "url": "http://httpbin.org", "query": {}, "header": {} } ], "auth": [ { "name": "noAuth", "query":{}, "header": {}, "data": {} } ], "tests": [ { "name": "Test to get IP", "base": "httpbin.org", "auth": "noAuth", "path": "/ip", "method": "GET", "query": {}, "header": {}, "data": {}, "assert": { "type": "json", "code": 200, "fields": [ { "name": "origin", "type": "string" } ] } }, { "name": "Test to POST data", "base": "httpbin.org", "auth": "noAuth", "path": "/post", "method": "POST", "query": {}, "header": {}, "data": { "posttest": "95ddcb76ded165f81607e3f050070946" }, "assert": { "type": "json", "code": 200, "fields": [ { "name": "form", "type": "array", "fields": [ { "name": "posttest", "type": "string", "eq": "95ddcb76ded165f81607e3f050070946" } ] } ] } }, { "name": "Test not found 404", "base": "httpbin.org", "auth": "noAuth", "path": "/status/404", "method": "GET", "query": {}, "header": {}, "data": {}, "assert": { "code": 404 } }, { "name": "Test status teapot", "base": "httpbin.org", "auth": "noAuth", "path": "/status/418", "method": "GET", "query": {}, "header": {}, "data": {}, "assert": { "code": 418 } } ] }
Usage
PHPatr version 0.7.0
Usage:
Test API REST:
php phpatr.phar --config <config file> [--output <file>, [--debug]]
Generate example JSON configuration:
php phpatr.phar --example-config-json
Self Update:
php phpatr.phar --self-update
Help:
php phpatr.phar --help
Options:
-d, --debug Debug the calls to API REST
-c, --config File of configuration in JSON to test API REST calls
-e, --example-config-json Generate a example file JSON to configuration
-o, --output Output file to save log
-u, --self-update Upgrade to the latest version version
-v, --version Return the installed version of this package
-h, --help Show this menu
How to:
Execute test:
$ php phpatr.phar --config <config file> [--output <file>, [--debug]]
Options:
-c, --config File of configuration in JSON to test API REST calls
-o, --output Output file to save log
-d, --debug Debug the calls to API REST
Update:
$ php phpatr.phar --self-update
Help:
$ php phpatr.phar --help
Example "execute test" return success:
user@ubuntu /path/to/project> php phpatr.phar --config phpatr.json
[SLOG] Start: 2016-08-27 15:40:11
[SLOG] Config File: phpatr.json
[SLOG] Test Config: Test reqres.in
[SLOG] Run Tests!
[ OK ] Test users single vetor
[ OK ] Test users vector multilevel
[ OK ] Example error: Test users vector multilevel
[SLOG] End: 2016-08-27 15:40:12
Example "execute test" return error:
user@ubuntu /path/to/project> php phpatr.phar --config phpatr.json
[SLOG] Start: 2016-08-27 15:40:11
[SLOG] Config File: phpatr.json
[SLOG] Test Config: Test reqres.in
[SLOG] Run Tests!
[ OK ] Test users single vetor
[ OK ] Test users vector multilevel
[FAIL] Example error: Test users vector multilevel
[FLOG] The tests[]->assert->fields does not match to test
[SLOG] End: 2016-08-27 15:40:12
[FLOG] Test failed