Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws-lambda-context-1.1.0.tar.gz (2.5 kB view details)

Uploaded Source

Built Distribution

aws_lambda_context-1.1.0-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file aws-lambda-context-1.1.0.tar.gz.

File metadata

  • Download URL: aws-lambda-context-1.1.0.tar.gz
  • Upload date:
  • Size: 2.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for aws-lambda-context-1.1.0.tar.gz
Algorithm Hash digest
SHA256 b6a6d3360671b25bb171335c7e6510b22e60c6fd5db99803f478c986d3230220
MD5 549f3f60dddadf27209972bc568b0afd
BLAKE2b-256 8de2792aa5b62ff3f38b574774457304a53f85bc851e00b80cb547faf03c724b

See more details on using hashes here.

File details

Details for the file aws_lambda_context-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: aws_lambda_context-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for aws_lambda_context-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d03b16aaf8abac30b71bc5d66ed8edadd8805e0d581f73f1e9b4b171635c817d
MD5 1876882e134cb2f95e45948994248b17
BLAKE2b-256 53d66b42e7999b6659158390378d009b04366fa7150d9d337b402072f067a7b3

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