Skip to main content

ejpiaj

Project description

https://badge.fury.io/py/ejpiaj.png https://travis-ci.org/onjin/ejpiaj.png?branch=master https://pypip.in/d/ejpiaj/badge.png https://pypip.in/license/ejpiaj/badge.png

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


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 details)

Uploaded Source

File details

Details for the file ejpiaj-0.4.4.tar.gz.

File metadata

  • Download URL: ejpiaj-0.4.4.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ejpiaj-0.4.4.tar.gz
Algorithm Hash digest
SHA256 8ccd36fd3aea51a57d6fd02e9d246c71210b21fa71ce9fa0234ed8fccf92db49
MD5 be6d13701fe4de7d4ca8cd50ab4beaf1
BLAKE2b-256 c13c763080f112785a0cc6db6e07f3c0f7a0c6677e7a90ff3d8f391452ac4a26

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page