Skip to main content

API Client for Python ^3.11 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 allure_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 allure_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 allure_api_client import BearerToken

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

# Use the auth with APIClient or AsyncAPIClient

Checking Status Code

from allure_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.2.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: allure_api_client-1.2.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Darwin/23.2.0

File hashes

Hashes for allure_api_client-1.2.1.tar.gz
Algorithm Hash digest
SHA256 330ed621eebe9ee5281a9355c28b918d13d512bb9e63590d8f6614853ae058ce
MD5 6a72db844b1fb2ca8ced740436e66303
BLAKE2b-256 40c9d8e1471cbba64647a9ca792283afc87fbbf95c8e1b9617744efc7a7b10aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for allure_api_client-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5f5aa42910c57943a7f5e12a7f9494db5e1855ea11ed04f20e75a56aeb79be6e
MD5 17b54d585847728b7d4ce83a7903728d
BLAKE2b-256 2f8983dd9d5e7648735e609fc9991bedb04970ba5efb1a9912062c8afa995c62

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