Skip to main content

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 objects
  • MockHTTPClientError: 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

smithy_http-0.3.0.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

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

smithy_http-0.3.0-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

Details for the file smithy_http-0.3.0.tar.gz.

File metadata

  • Download URL: smithy_http-0.3.0.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.9

File hashes

Hashes for smithy_http-0.3.0.tar.gz
Algorithm Hash digest
SHA256 55dcc3af315eee6863d2f3f58ada1d9cb4bcc3a57faac10a1b21d4a93722f520
MD5 1c2766c13b34ad4b74a50354c04b4d30
BLAKE2b-256 1cc74d8be56e897f99f3b6ffcdf52ba00a468febc939fca85b90f1c122450830

See more details on using hashes here.

File details

Details for the file smithy_http-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for smithy_http-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 972924304febd77c7134a7cffab83ce3b48423ff966dcc1f257e2c0d58fa9b18
MD5 5e00a01e9600347f44309ce8282eeca2
BLAKE2b-256 2de559ae79ecdc9a935ad10512c581b3054ebb1afd90498ecc8afaf141dbc22b

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