Skip to main content

An API client for simplifying API testing with Python + PyTest

Project description

🔥 berAPI 🔥

An API client for simplifying API testing with Python + PyTest

Project Link

Features

  • Builtin curl API in the pytest-html report
  • Easy to import the API logs into Postman/curl
  • Multiple common assertions to a single request

Report

Installation

pip3 install berapi

How to use

Create an instance of berAPI class, and you can build API test request and assertion chain of the response

from berapi.apy import berAPI

def test_simple():
    url = 'https://swapi.dev/api/people/1'
    api = berAPI()
    response = api.get(url).assert_2xx().parse_json()
    assert response['name'] == 'Luke Skywalker'

def test_chaining():
    (berAPI()
     .get('https://swapi.dev/api/people/1')
     .assert_2xx()
     .assert_value('name', 'Luke Skywalker')
     .assert_response_time_less_than(seconds=1)
     )

Configuration

env variable used in berapi

export MAX_RESPONSE_TIME=5
export MAX_TIMEOUT=3

To have robust response log make sure you enable settings in pytest.ini

[pytest]
log_cli_level = INFO

Install Development

pip install poetry
poetry install --with test

Run Test

poetry run pytest tests

Building Lib

poetry build
poetry publish

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

berapi-0.1.6.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

berapi-0.1.6-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file berapi-0.1.6.tar.gz.

File metadata

  • Download URL: berapi-0.1.6.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.2 Darwin/24.3.0

File hashes

Hashes for berapi-0.1.6.tar.gz
Algorithm Hash digest
SHA256 cc98bbb5021a5d32c9b173b96a45ce97d9ac4c721d6ff78f08044884494dfca0
MD5 3312eed1eb22f1d927e8679efbd3fd88
BLAKE2b-256 56dc6f564fa91f866b46dcc8f70ee8582c8309db46db1c5b13b20d0604175401

See more details on using hashes here.

File details

Details for the file berapi-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: berapi-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.2 Darwin/24.3.0

File hashes

Hashes for berapi-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9ea129c992c09334714c4479fd83f3fb2066821fe02d616e00c6ea2427ae13b4
MD5 0ed650244b9b4d7e053009d63ed8583a
BLAKE2b-256 f6d9679585b26bea37674b7d46f946e4c91bdecff8ae9286c0b467d1bc89a452

See more details on using hashes here.

Supported by

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