diff --git a/awslambdaric/__main__.py b/awslambdaric/__main__.py index 9a0ef21..76ced3e 100644 --- a/awslambdaric/__main__.py +++ b/awslambdaric/__main__.py @@ -6,7 +6,6 @@ from .lambda_config import LambdaConfigProvider from .lambda_runtime_client import LambdaRuntimeClient -from .lambda_multi_concurrent_utils import MultiConcurrentRunner from . import bootstrap @@ -20,6 +19,9 @@ def main(args): # Multi-concurrent mode: redirect fork, stdout/stderr and run max_conc = int(config.max_concurrency) socket_path = config.lmi_socket_path + + from .lambda_multi_concurrent_utils import MultiConcurrentRunner + MultiConcurrentRunner.run_concurrent( handler, api_addr, use_thread, socket_path, max_conc ) diff --git a/tests/test_main.py b/tests/test_main.py index d148b78..cdf5fad 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -9,11 +9,12 @@ class TestMain(unittest.TestCase): + @patch("awslambdaric.lambda_multi_concurrent_utils.MultiConcurrentRunner") @patch("awslambdaric.__main__.bootstrap") @patch("awslambdaric.__main__.LambdaRuntimeClient") @patch("awslambdaric.__main__.LambdaConfigProvider") def test_default_path_invokes_runtime_client_and_bootstrap( - self, mock_config_provider, mock_client_cls, mock_bootstrap + self, mock_config_provider, mock_client_cls, mock_bootstrap, mock_runner ): # Non-multi-concurrent mode cfg = MagicMock() @@ -30,7 +31,9 @@ def test_default_path_invokes_runtime_client_and_bootstrap( "my.handler", mock_client_cls.return_value ) - @patch("awslambdaric.__main__.MultiConcurrentRunner") + mock_runner.run_concurrent.assert_not_called() + + @patch("awslambdaric.lambda_multi_concurrent_utils.MultiConcurrentRunner") @patch("awslambdaric.__main__.LambdaConfigProvider") def test_multi_concurrent_path_dispatches_to_multi_concurrent_runner( self, mock_config_provider, mock_runner