|
16 | 16 |
|
17 | 17 | import pytest |
18 | 18 |
|
19 | | -from mock import Mock |
| 19 | +from mock import Mock, MagicMock |
20 | 20 |
|
21 | 21 | from sagemaker.workflow.parameters import ParameterInteger, ParameterString |
22 | 22 | from sagemaker.workflow.pipeline import Pipeline |
|
27 | 27 | @pytest.fixture() |
28 | 28 | def sagemaker_session(): |
29 | 29 | boto_mock = Mock(name="boto_session", region_name="us-west-2") |
30 | | - session_mock = Mock( |
| 30 | + session_mock = MagicMock( |
31 | 31 | name="sagemaker_session", |
32 | 32 | boto_session=boto_mock, |
33 | 33 | boto_region_name="us-west-2", |
34 | 34 | config=None, |
35 | 35 | local_mode=False, |
| 36 | + account_id=Mock(), |
36 | 37 | ) |
37 | 38 | return session_mock |
38 | 39 |
|
@@ -173,3 +174,36 @@ def test_lambda_step_no_inputs_outputs(sagemaker_session): |
173 | 174 | "OutputParameters": [], |
174 | 175 | "Arguments": {}, |
175 | 176 | } |
| 177 | + |
| 178 | + |
| 179 | +def test_lambda_step_with_function_arn(sagemaker_session): |
| 180 | + lambda_step = LambdaStep( |
| 181 | + name="MyLambdaStep", |
| 182 | + depends_on=["TestStep"], |
| 183 | + lambda_func=Lambda( |
| 184 | + function_arn="arn:aws:lambda:us-west-2:123456789012:function:sagemaker_test_lambda", |
| 185 | + session=sagemaker_session, |
| 186 | + ), |
| 187 | + inputs={}, |
| 188 | + outputs=[], |
| 189 | + ) |
| 190 | + lambda_step._get_function_arn() |
| 191 | + sagemaker_session.account_id.assert_not_called() |
| 192 | + |
| 193 | + |
| 194 | +def test_lambda_step_without_function_arn(sagemaker_session): |
| 195 | + lambda_step = LambdaStep( |
| 196 | + name="MyLambdaStep", |
| 197 | + depends_on=["TestStep"], |
| 198 | + lambda_func=Lambda( |
| 199 | + function_name="name", |
| 200 | + execution_role_arn="arn:aws:lambda:us-west-2:123456789012:execution_role", |
| 201 | + zipped_code_dir="", |
| 202 | + handler="", |
| 203 | + session=sagemaker_session, |
| 204 | + ), |
| 205 | + inputs={}, |
| 206 | + outputs=[], |
| 207 | + ) |
| 208 | + lambda_step._get_function_arn() |
| 209 | + sagemaker_session.account_id.assert_called_once() |
0 commit comments