ejpiaj
Project description
License
Free software: BSD license
Features
describe your API requests in single file (YAML, JSON and XML at this moment) so you can store you API tests with code in same repository (f.i. as ejpiaj.json file)
file format is detected from file extension .yml, .json and .xml
extract variables from responses and store them to use in next requests (f.i. to get and use authorization token)
write assertions agains responses
register your own variables extractors and assertions
run suite using ejpiaj-cli test -m my_addons -s tests.yml command
Sample yml file:
requests: 001_search_repos_with_django_in_name: method: get url: https://api.github.com/search/repositories url_params: q: django sort: stars order: desc variables: json: total_count: count items.[0].full_name: repo_name assertions: response: - 'status_code equals 200' json: - 'items.[0].full_name contains ango' 002_get_commits_from_first_repo: method: get url: https://api.github.com/repos/{{repo_name}}/commits assertions: response: - 'status_code equals 200'
Run it:
$ ejpiaj-cli test sample.yml -s -------------------------------------------------------------------------------- P - passed assertions, F - failed assertions, V - extracted variables -------------------------------------------------------------------------------- ✓ 001_search_repos_with_django_in_name [P2,F0,V2] {'count': 29754, 'repo_name': u'django/django'} ✓ 002_get_commits_from_first_repo [P1,F0,V0] {} --------------------------------------------------------------------------------
SNI note
In order to support SNI in python 2.6/2.7 you need to install additional packages:
pyOpenSSL, a Python wrapper module around the OpenSSL library.
ndg-httpsclient, enhanced HTTPS support for httplib and urllib2.
pyasn1, ASN.1 types and codecs.
Documentation
History
0.4.2 (2014-09-10)
Fixed context replacing at variables replacing
0.4.1 (2014-09-10)
Fixed non unicode extracted variables
0.4.0 (2014-03-11)
Added support for xml and json files
0.3.3 (2014-03-06)
Added -e / –env option to ejpiaj-cli to pass initial variables
Added -q / –quiet option to ejpiaj-cli to quiet output
0.3.2 (2014-02-17)
Added -s option to ejpiaj-cli to display extracted variables
0.3.1 (2014-02-17)
Fixed loading custom module from current directory
0.3.0 (2014-02-16)
Added support to load own module with custom assertions and variable extractors using ejpiaj-cli tool
0.2.3 (2014-02-10)
Fixed tests order (alphabetical)
0.2.2 (2014-02-10)
Fixed variable substiution for multi varaibles
Added variable substitution in ‘url’
0.2.1 (2014-02-07)
Fixed variables substitution if variable is None
0.2.0 (2014-02-07)
Added support for form_params and headers
0.1.0 (2014-02-01)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.