Skip to main content

Dead Simple API Unit Tests

Project description

/ma-ji-me/

noun

  1. an earnest, reliable person who can get things done
  2. dead simple API Unit Testing

What does it do?

  • majime runs test cases on API endpoints
  • test cases are defined in YAML files
  • majime can generate test cases from Swagger specs

Install

pip install majime

Use a Python3 environment | Package on Pypi

Usage

Usage:

 -f Load and run tests from YAML file
    Example: majime -f test.yaml
 -g Generate test suite (YAML) from Swagger document
    Example: majime -g http://api.example.com/swagger.json

Switches:

 -s No output, just response code
 -j JSON output
 -d Dry-Run, do not execute tests - good for testing your YAML file
 -n no colors in output
 -c do not stop on the first error

Example

Generate Test Cases from Swagger

majime -g http://backend.yoisho.dob.jp/fx/swagger

Title: Yoisho Currency Exchange
Host: backend.yoisho.dob.jp
Base Path: /fx
Scheme: http
Path: /currency
	Method: GET
	Description: Get the FX rate for desired currency
	Query Parameters: ['currency']
	Expected Response: 200
Generated Output File
Base: "http://backend.yoisho.dob.jp/fx"
Tests:
 # GET - Get the FX rate for desired currency
 - path: "/currency?currency=USD"
   method: "GET"
   headers: ""
   expect-response: "200"
   expect-body: "json"

Run Test Cases

Modify the parameters so they make sense, in this case XXX-> USD.

majime -f Yoisho_Currency_Exchange-*.yaml

GET http://backend.yoisho.dob.jp/fx/currency?currency=USD
HTTP 200

Check out the examples.

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

majime-0.0.7.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

majime-0.0.7-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file majime-0.0.7.tar.gz.

File metadata

  • Download URL: majime-0.0.7.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for majime-0.0.7.tar.gz
Algorithm Hash digest
SHA256 5116c8ffab7774186ae238eafed59ecfd64f3649afd21d8e67011ae6f29d7b7d
MD5 22c3c6743666b52639254635c30f4855
BLAKE2b-256 0d7b7888a2315c309293325372d4aa0730bc203b27eb5bdbcd1bf7b3ab382197

See more details on using hashes here.

File details

Details for the file majime-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: majime-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for majime-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 67a162d37c569b17cf3cfd58a496a9c5464f3addc6bb0d1cf89917f8ed1f5153
MD5 a1afddda03528aa32ed43e6b346397ce
BLAKE2b-256 e83099f8ad206e095e5740748fe647df3ac28cdea77e2180cc71e9a42da07358

See more details on using hashes here.

Supported by

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