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.4 (2015-01-21)
- Fixed unicode errors while reading str/int parameters
0.4.3 (2014-09-10)
- Fixed compatibility with python 3.3
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.
Source Distribution
ejpiaj-0.4.4.tar.gz
(21.9 kB
view hashes)