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.

Files for majime, version 0.0.10
Filename, size File type Python version Upload date Hashes
Filename, size majime-0.0.10-py3-none-any.whl (5.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size majime-0.0.10.tar.gz (4.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page