AWS Lambda Context class for type checking and testing
Project description
A micro library that provides the AWS Lambda Context class for type checking and testing.
Installing
pip install aws-lambda-context
Usage
Import the LambdaContext on your handler file and type hint the lambda function with it:
from aws_lambda_context import LambdaContext
def my_lambda_handler(event: Any, context: LambdaContext) -> None:
...
The type hint should enables type checking with mypy and editor auto-completion
The class is also useful as a mock during tests:
from aws_lambda_context import (
LambdaClientContext,
LambdaClientContextMobileClient,
LambdaCognitoIdentity,
LambdaContext
)
def test_handler():
lambda_cognito_identity = LambdaCognitoIdentity()
lambda_cognito_identity.cognito_identity_id = 'cognito_identity_id'
lambda_cognito_identity.cognito_identity_pool_id = 'cognito_identity_pool_id'
lambda_client_context_mobile_client = LambdaClientContextMobileClient()
lambda_client_context_mobile_client.installation_id = 'installation_id'
lambda_client_context_mobile_client.app_title = 'app_title'
lambda_client_context_mobile_client.app_version_name = 'app_version_name'
lambda_client_context_mobile_client.app_version_code = 'app_version_code'
lambda_client_context_mobile_client.app_package_name = 'app_package_name'
lambda_client_context = LambdaClientContext()
lambda_client_context.client = lambda_client_context_mobile_client
lambda_client_context.custom = {'custom': True}
lambda_client_context.env = {'env': 'test'}
lambda_context = LambdaContext()
lambda_context.function_name = 'function_name'
lambda_context.function_version = 'function_version'
lambda_context.invoked_function_arn = 'invoked_function_arn'
lambda_context.memory_limit_in_mb = 'memory_limit_in_mb'
lambda_context.aws_request_id = 'aws_request_id'
lambda_context.log_group_name = 'log_group_name'
lambda_context.log_stream_name = 'log_stream_name'
lambda_context.identity = lambda_cognito_identity
lambda_context.client_context = lambda_client_context
assert handler({}, lambda_context) == 'something'
References
Project details
Release history Release notifications | RSS feed
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
Close
Hashes for aws_lambda_context-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d03b16aaf8abac30b71bc5d66ed8edadd8805e0d581f73f1e9b4b171635c817d |
|
MD5 | 1876882e134cb2f95e45948994248b17 |
|
BLAKE2b-256 | 53d66b42e7999b6659158390378d009b04366fa7150d9d337b402072f067a7b3 |