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.4.2.tar.gz (29.6 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.4.2-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smithy_http-0.4.2.tar.gz
  • Upload date:
  • Size: 29.6 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

Hashes for smithy_http-0.4.2.tar.gz
Algorithm Hash digest
SHA256 50d11b6a55e42448450a01e3d0f605ccee65a72abf52d02eed82862a15be5937
MD5 65f5039e0a8eb84b754b3cc5f3911bf0
BLAKE2b-256 66585a772d212e066d6fc1398946c4aae19bcdaa75209879d776f641b6a06b5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smithy_http-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 41.0 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

Hashes for smithy_http-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a158f107e9fab925289d20772c2e38b0bba94e55c05d0edc9290310f22a60454
MD5 f4012a52d3d2ee1e3f2bac9a4cda5aa3
BLAKE2b-256 573e7b2464d40893bec0b5d1f479d25116d4aa09f9f66536b4c4b3126202215d

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