diff --git a/aws_lambda_env_modeler/modeler.py b/aws_lambda_env_modeler/modeler.py index 7d2db91..4733603 100644 --- a/aws_lambda_env_modeler/modeler.py +++ b/aws_lambda_env_modeler/modeler.py @@ -35,9 +35,9 @@ def init_environment_variables(model: Type[Model]): def decorator(lambda_handler_function: Callable): @wraps(lambda_handler_function) - def wrapper(event: Dict[str, Any], context): + def wrapper(event: Dict[str, Any], context, **kwargs): __parse_model(model) - return lambda_handler_function(event, context) + return lambda_handler_function(event, context, **kwargs) return wrapper diff --git a/pyproject.toml b/pyproject.toml index 3e5ffa6..5f3e3aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "aws_lambda_env_modeler" -version = "1.0.3" +version = "1.0.5" description = "AWS-Lambda-Env-Modeler is a Python library designed to simplify the process of managing and validating environment variables in your AWS Lambda functions." authors = ["Ran Isenberg"] classifiers=[ diff --git a/tests/unit/test_env_vars_parser.py b/tests/unit/test_env_vars_parser.py index 7b261c3..9342133 100644 --- a/tests/unit/test_env_vars_parser.py +++ b/tests/unit/test_env_vars_parser.py @@ -49,3 +49,17 @@ def my_handler(event, context) -> Dict[str, Any]: return {} my_handler({}, None) + + +def test_extended_handler_schema_ok(monkeypatch: pytest.MonkeyPatch): + monkeypatch.setenv('POWERTOOLS_SERVICE_NAME', SERVICE_NAME) + monkeypatch.setenv('LOG_LEVEL', 'DEBUG') + monkeypatch.setenv('REST_API', 'https://www.ranthebuilder.cloud/api') + + endpoint = os.environ['REST_API'] + + @init_environment_variables(model=MySchema) + def my_handler(event, context, endpoint=None): + return endpoint + + assert my_handler({}, None, endpoint=endpoint) == endpoint