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 in a Python3 environment

Or get the binaries for MacOS | Linux | Windows

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:

 -j JSON output
 -d Dry-Run, do not execute tests - good for testing your YAML file

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.10.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

majime-0.0.10-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: majime-0.0.10.tar.gz
  • Upload date:
  • Size: 4.7 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.10.tar.gz
Algorithm Hash digest
SHA256 edc6307e2f9893dd0250d4dd462916543ddd9128618f853bd34cb3bf446bfb80
MD5 7b3de7ffe3e469253ed8ca1c7f06ef21
BLAKE2b-256 413068da2333da8712d62d09da0df33e362b81bb66d2a96610caa33ee3903c39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: majime-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 5.3 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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 f51602111f3aba0aac11c7000e6f19c0fad67f04634c65cfb42871baa8fb11a0
MD5 580aba741ffd9455040699322b3b4190
BLAKE2b-256 bec0b7502127f2c9c692bc74f8e502bea67130de4bcb7ff25169f3b301f8f340

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