Skip to main content

API Client for Python ^3.10 and Pytest projects. It includes the Allure request/response hooks and the status code checking inside the main method. Request hook generates cURL, Response hook represents the useful information.

Project description

allure-api-client

The allure-api-client library is a Python package designed to facilitate API testing and reporting in Allure. Built on top of the httpx library, it provides both synchronous and asynchronous clients for making HTTP requests, complete with automatic request and response logging for Allure reports. The library also includes utilities for bearer token authentication and status code verification.

Features

  • Synchronous and Asynchronous API Clients
  • Automatic logging of requests and responses in Allure reports
  • Bearer Token Authentication
  • Status Code Verification

Installation

To install allure-api-client, you will need Python installed on your system. You can install the library using pip:

pip install allure-api-client

Usage

Synchronous API Client

from api_client import APIClient

# Initialize the client
client = APIClient(
    base_url="https://api.example.com",
    auth=BearerToken("YOUR_ACCESS_TOKEN"),  # Optional
    verify=False  # Optional
)

# Send a request
response = client.send_request(
    method="GET",
    path="/endpoint"
)

Asynchronous API Client

from api_client import AsyncAPIClient

# Initialize the client
async with AsyncAPIClient(
        base_url="https://api.example.com",
        auth=BearerToken("YOUR_ACCESS_TOKEN"),  # Optional
        verify=False  # Optional
) as client:
    # Send a request
    response = await client.send_request(
        method="GET",
        path="/endpoint"
    )

Bearer Token Authentication

from api_client import BearerToken

# Initialize the bearer token
auth = BearerToken("YOUR_ACCESS_TOKEN")

# Use the auth with APIClient or AsyncAPIClient

Checking Status Code

from api_client import check_status_code

# After receiving a response
check_status_code(response, 200)  # Verifies that the status code is 200

Contributing

Contributions to allure-api-client are welcome! Please follow the standard procedures to submit issues, pull requests, etc.

License

allure-api-client is released under the MIT License.

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

allure_api_client-1.3.3.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

allure_api_client-1.3.3-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file allure_api_client-1.3.3.tar.gz.

File metadata

  • Download URL: allure_api_client-1.3.3.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.0 Darwin/24.0.0

File hashes

Hashes for allure_api_client-1.3.3.tar.gz
Algorithm Hash digest
SHA256 8666d9eff78c1e7e83ddcb53ac76ea389455013fe50869658bb2bab942c5bf22
MD5 22d980a1e0a3b5ddd41d45cd0477449e
BLAKE2b-256 5800b745042790cb1ffa805dc510d8561b48379820d0dea1a6bb00a0e4fb00f7

See more details on using hashes here.

File details

Details for the file allure_api_client-1.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for allure_api_client-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3561a81399ea2fd8ed9e3819536a3e54ccec7ddc6d6d76fff86e5a1440e7ddb2
MD5 1dfc129f1b3959ed863257bdb2c24e7d
BLAKE2b-256 9c998b552f8c6800a36cd1961b6030b13ea16c092a3e1595e7a47e88f490f0dc

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