Esempio n. 1
0
class TestLocalLambda_get_invoke_config(TestCase):
    def setUp(self):
        self.runtime_mock = Mock()
        self.function_provider_mock = Mock()
        self.cwd = "/my/current/working/directory"
        self.debug_port = 123
        self.debug_args = "abc"
        self.aws_profile = "myprofile"
        self.env_vars_values = {}

        self.local_lambda = LocalLambdaRunner(self.runtime_mock,
                                              self.function_provider_mock,
                                              self.cwd, self.env_vars_values,
                                              self.debug_port, self.debug_args,
                                              self.aws_profile)

    @patch('samcli.commands.local.lib.local_lambda.FunctionConfig')
    def test_must_work(self, FunctionConfigMock):
        env_vars = "envvars"
        self.local_lambda._make_env_vars = Mock()
        self.local_lambda._make_env_vars.return_value = env_vars

        codepath = "codepath"
        self.local_lambda._get_code_path = Mock()
        self.local_lambda._get_code_path.return_value = codepath

        function = Function(name="function_name",
                            runtime="runtime",
                            memory=1234,
                            timeout=12,
                            handler="handler",
                            codeuri="codeuri",
                            environment=None,
                            rolearn=None)

        config = "someconfig"
        FunctionConfigMock.return_value = config
        actual = self.local_lambda._get_invoke_config(function)
        self.assertEquals(actual, config)

        FunctionConfigMock.assert_called_with(name=function.name,
                                              runtime=function.runtime,
                                              handler=function.handler,
                                              code_abs_path=codepath,
                                              memory=function.memory,
                                              timeout=function.timeout,
                                              env_vars=env_vars)

        self.local_lambda._get_code_path.assert_called_with(function.codeuri)
        self.local_lambda._make_env_vars.assert_called_with(function)
Esempio n. 2
0
class TestLocalLambda_get_invoke_config(TestCase):
    def setUp(self):
        self.runtime_mock = Mock()
        self.function_provider_mock = Mock()
        self.cwd = "/my/current/working/directory"
        self.aws_profile = "myprofile"
        self.debug_context = None
        self.env_vars_values = {}
        self.aws_region = "region"

        self.local_lambda = LocalLambdaRunner(
            self.runtime_mock,
            self.function_provider_mock,
            self.cwd,
            env_vars_values=self.env_vars_values,
            debug_context=self.debug_context,
        )

    @patch("samcli.commands.local.lib.local_lambda.resolve_code_path")
    @patch("samcli.commands.local.lib.local_lambda.LocalLambdaRunner.is_debugging")
    @patch("samcli.commands.local.lib.local_lambda.FunctionConfig")
    def test_must_work(self, FunctionConfigMock, is_debugging_mock, resolve_code_path_patch):
        is_debugging_mock.return_value = False

        env_vars = "envvars"
        self.local_lambda._make_env_vars = Mock()
        self.local_lambda._make_env_vars.return_value = env_vars

        codepath = "codepath"
        resolve_code_path_patch.return_value = codepath

        layers = ["layer1", "layer2"]

        function = Function(
            name="function_name",
            functionname="function_name",
            runtime="runtime",
            memory=1234,
            timeout=12,
            handler="handler",
            codeuri="codeuri",
            environment=None,
            rolearn=None,
            layers=layers,
            events=None,
        )

        config = "someconfig"
        FunctionConfigMock.return_value = config
        actual = self.local_lambda._get_invoke_config(function)
        self.assertEqual(actual, config)

        FunctionConfigMock.assert_called_with(
            name=function.functionname,
            runtime=function.runtime,
            handler=function.handler,
            code_abs_path=codepath,
            layers=layers,
            memory=function.memory,
            timeout=function.timeout,
            env_vars=env_vars,
        )

        resolve_code_path_patch.assert_called_with(self.cwd, function.codeuri)
        self.local_lambda._make_env_vars.assert_called_with(function)

    @patch("samcli.commands.local.lib.local_lambda.resolve_code_path")
    @patch("samcli.commands.local.lib.local_lambda.LocalLambdaRunner.is_debugging")
    @patch("samcli.commands.local.lib.local_lambda.FunctionConfig")
    def test_timeout_set_to_max_during_debugging(self, FunctionConfigMock, is_debugging_mock, resolve_code_path_patch):
        is_debugging_mock.return_value = True

        env_vars = "envvars"
        self.local_lambda._make_env_vars = Mock()
        self.local_lambda._make_env_vars.return_value = env_vars

        codepath = "codepath"
        resolve_code_path_patch.return_value = codepath

        function = Function(
            name="function_name",
            functionname="function_name",
            runtime="runtime",
            memory=1234,
            timeout=36000,
            handler="handler",
            codeuri="codeuri",
            environment=None,
            rolearn=None,
            layers=[],
            events=None,
        )

        config = "someconfig"
        FunctionConfigMock.return_value = config
        actual = self.local_lambda._get_invoke_config(function)
        self.assertEqual(actual, config)

        FunctionConfigMock.assert_called_with(
            name=function.functionname,
            runtime=function.runtime,
            handler=function.handler,
            code_abs_path=codepath,
            layers=[],
            memory=function.memory,
            timeout=function.timeout,
            env_vars=env_vars,
        )

        resolve_code_path_patch.assert_called_with(self.cwd, function.codeuri)
        self.local_lambda._make_env_vars.assert_called_with(function)
Esempio n. 3
0
class TestLocalLambda_get_invoke_config(TestCase):

    def setUp(self):
        self.runtime_mock = Mock()
        self.function_provider_mock = Mock()
        self.cwd = "/my/current/working/directory"
        self.aws_profile = "myprofile"
        self.debug_context = None
        self.env_vars_values = {}
        self.aws_region = "region"

        self.local_lambda = LocalLambdaRunner(self.runtime_mock,
                                              self.function_provider_mock,
                                              self.cwd,
                                              env_vars_values=self.env_vars_values,
                                              debug_context=self.debug_context)

    @patch('samcli.commands.local.lib.local_lambda.resolve_code_path')
    @patch('samcli.commands.local.lib.local_lambda.LocalLambdaRunner.is_debugging')
    @patch('samcli.commands.local.lib.local_lambda.FunctionConfig')
    def test_must_work(self, FunctionConfigMock, is_debugging_mock, resolve_code_path_patch):
        is_debugging_mock.return_value = False

        env_vars = "envvars"
        self.local_lambda._make_env_vars = Mock()
        self.local_lambda._make_env_vars.return_value = env_vars

        codepath = "codepath"
        resolve_code_path_patch.return_value = codepath

        layers = ['layer1', 'layer2']

        function = Function(name="function_name",
                            runtime="runtime",
                            memory=1234,
                            timeout=12,
                            handler="handler",
                            codeuri="codeuri",
                            environment=None,
                            rolearn=None,
                            layers=layers)

        config = "someconfig"
        FunctionConfigMock.return_value = config
        actual = self.local_lambda._get_invoke_config(function)
        self.assertEquals(actual, config)

        FunctionConfigMock.assert_called_with(name=function.name,
                                              runtime=function.runtime,
                                              handler=function.handler,
                                              code_abs_path=codepath,
                                              layers=layers,
                                              memory=function.memory,
                                              timeout=function.timeout,
                                              env_vars=env_vars)

        resolve_code_path_patch.assert_called_with(self.cwd, function.codeuri)
        self.local_lambda._make_env_vars.assert_called_with(function)

    @patch('samcli.commands.local.lib.local_lambda.resolve_code_path')
    @patch('samcli.commands.local.lib.local_lambda.LocalLambdaRunner.is_debugging')
    @patch('samcli.commands.local.lib.local_lambda.FunctionConfig')
    def test_timeout_set_to_max_during_debugging(self, FunctionConfigMock, is_debugging_mock, resolve_code_path_patch):
        is_debugging_mock.return_value = True

        env_vars = "envvars"
        self.local_lambda._make_env_vars = Mock()
        self.local_lambda._make_env_vars.return_value = env_vars

        codepath = "codepath"
        resolve_code_path_patch.return_value = codepath

        function = Function(name="function_name",
                            runtime="runtime",
                            memory=1234,
                            timeout=36000,
                            handler="handler",
                            codeuri="codeuri",
                            environment=None,
                            rolearn=None,
                            layers=[])

        config = "someconfig"
        FunctionConfigMock.return_value = config
        actual = self.local_lambda._get_invoke_config(function)
        self.assertEquals(actual, config)

        FunctionConfigMock.assert_called_with(name=function.name,
                                              runtime=function.runtime,
                                              handler=function.handler,
                                              code_abs_path=codepath,
                                              layers=[],
                                              memory=function.memory,
                                              timeout=function.timeout,
                                              env_vars=env_vars)

        resolve_code_path_patch.assert_called_with(self.cwd, function.codeuri)
        self.local_lambda._make_env_vars.assert_called_with(function)