HTTP components for Smithy tooling.
Project description
smithy-http
This package provides primitives and interfaces for http functionality in tooling generated by Smithy.
Testing
The smithy_http.testing module provides shared utilities for testing HTTP functionality in smithy-python clients.
MockHTTPClient
The MockHTTPClient allows you to test smithy-python clients without making actual network calls. It implements the HTTPClient interface and provides configurable responses for functional testing.
Basic Usage
from smithy_http.testing import MockHTTPClient
# Create mock client and configure responses
mock_client = MockHTTPClient()
mock_client.add_response(
status=200,
headers=[("Content-Type", "application/json")],
body=b'{"message": "success"}'
)
# Use with your smithy-python client
config = Config(transport=mock_client)
client = TestSmithyServiceClient(config=config)
# Test your client logic
result = await client.some_operation({"input": "data"})
# Inspect what requests were made
assert mock_client.call_count == 1
captured_request = mock_client.captured_requests[0]
assert result.message == "success"
Utilities
create_test_request(): Helper for creating test HTTPRequest objectsMockHTTPClientError: Exception raised when no responses are queued
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smithy_http-0.4.0.tar.gz.
File metadata
- Download URL: smithy_http-0.4.0.tar.gz
- Upload date:
- Size: 29.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Amazon Linux","version":"2023","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
212b233d55f9006cbf4b8df7a42e17b841d4cfbe9b25d9afe2ad903e364fc79c
|
|
| MD5 |
7defb0610ee4ba798754b9f92404ddb4
|
|
| BLAKE2b-256 |
f5b47422f8c06ab8bd70e6b04e8cd570fb16bc5068bc21066f318bee2b8e8e29
|
File details
Details for the file smithy_http-0.4.0-py3-none-any.whl.
File metadata
- Download URL: smithy_http-0.4.0-py3-none-any.whl
- Upload date:
- Size: 40.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Amazon Linux","version":"2023","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae381d8bee199d1604ae1a983e59e0b8f51b3bf3561587be9381f4c62818ff72
|
|
| MD5 |
1b2181fb6729c2721d7e62d90fd089f7
|
|
| BLAKE2b-256 |
22cd953eb19e4683f76dac97b9ac30656955d4420211dc1464f5de2faa065fe1
|