24
24
from sagemaker .lambda_helper import Lambda
25
25
26
26
27
- @pytest .fixture
28
- def sagemaker_session_mock ():
29
- return Mock ()
27
+ @pytest .fixture ()
28
+ def sagemaker_session ():
29
+ boto_mock = Mock (name = "boto_session" , region_name = "us-west-2" )
30
+ session_mock = Mock (
31
+ name = "sagemaker_session" ,
32
+ boto_session = boto_mock ,
33
+ boto_region_name = "us-west-2" ,
34
+ config = None ,
35
+ local_mode = False ,
36
+ )
37
+ return session_mock
30
38
31
39
32
- def test_lambda_step ():
40
+ def test_lambda_step (sagemaker_session ):
33
41
param = ParameterInteger (name = "MyInt" )
34
42
outputParam1 = LambdaOutput (output_name = "output1" , output_type = LambdaOutputTypeEnum .String )
35
43
outputParam2 = LambdaOutput (output_name = "output2" , output_type = LambdaOutputTypeEnum .Boolean )
36
44
lambda_step = LambdaStep (
37
45
name = "MyLambdaStep" ,
38
46
depends_on = ["TestStep" ],
39
47
lambda_func = Lambda (
40
- function_arn = "arn:aws:lambda:us-west-2:123456789012:function:sagemaker_test_lambda"
48
+ function_arn = "arn:aws:lambda:us-west-2:123456789012:function:sagemaker_test_lambda" ,
49
+ session = sagemaker_session ,
41
50
),
42
51
inputs = {"arg1" : "foo" , "arg2" : 5 , "arg3" : param },
43
52
outputs = [outputParam1 , outputParam2 ],
@@ -56,15 +65,16 @@ def test_lambda_step():
56
65
}
57
66
58
67
59
- def test_lambda_step_output_expr ():
68
+ def test_lambda_step_output_expr (sagemaker_session ):
60
69
param = ParameterInteger (name = "MyInt" )
61
70
outputParam1 = LambdaOutput (output_name = "output1" , output_type = LambdaOutputTypeEnum .String )
62
71
outputParam2 = LambdaOutput (output_name = "output2" , output_type = LambdaOutputTypeEnum .Boolean )
63
72
lambda_step = LambdaStep (
64
73
name = "MyLambdaStep" ,
65
74
depends_on = ["TestStep" ],
66
75
lambda_func = Lambda (
67
- function_arn = "arn:aws:lambda:us-west-2:123456789012:function:sagemaker_test_lambda"
76
+ function_arn = "arn:aws:lambda:us-west-2:123456789012:function:sagemaker_test_lambda" ,
77
+ session = sagemaker_session ,
68
78
),
69
79
inputs = {"arg1" : "foo" , "arg2" : 5 , "arg3" : param },
70
80
outputs = [outputParam1 , outputParam2 ],
@@ -78,15 +88,16 @@ def test_lambda_step_output_expr():
78
88
}
79
89
80
90
81
- def test_pipeline_interpolates_lambda_outputs ():
91
+ def test_pipeline_interpolates_lambda_outputs (sagemaker_session ):
82
92
parameter = ParameterString ("MyStr" )
83
93
outputParam1 = LambdaOutput (output_name = "output1" , output_type = LambdaOutputTypeEnum .String )
84
94
outputParam2 = LambdaOutput (output_name = "output2" , output_type = LambdaOutputTypeEnum .String )
85
95
lambda_step1 = LambdaStep (
86
96
name = "MyLambdaStep1" ,
87
97
depends_on = ["TestStep" ],
88
98
lambda_func = Lambda (
89
- function_arn = "arn:aws:lambda:us-west-2:123456789012:function:sagemaker_test_lambda"
99
+ function_arn = "arn:aws:lambda:us-west-2:123456789012:function:sagemaker_test_lambda" ,
100
+ session = sagemaker_session ,
90
101
),
91
102
inputs = {"arg1" : "foo" },
92
103
outputs = [outputParam1 ],
@@ -105,7 +116,7 @@ def test_pipeline_interpolates_lambda_outputs():
105
116
name = "MyPipeline" ,
106
117
parameters = [parameter ],
107
118
steps = [lambda_step1 , lambda_step2 ],
108
- sagemaker_session = sagemaker_session_mock ,
119
+ sagemaker_session = sagemaker_session ,
109
120
)
110
121
111
122
assert json .loads (pipeline .definition ()) == {
@@ -137,12 +148,13 @@ def test_pipeline_interpolates_lambda_outputs():
137
148
}
138
149
139
150
140
- def test_lambda_step_no_inputs_outputs ():
151
+ def test_lambda_step_no_inputs_outputs (sagemaker_session ):
141
152
lambda_step = LambdaStep (
142
153
name = "MyLambdaStep" ,
143
154
depends_on = ["TestStep" ],
144
155
lambda_func = Lambda (
145
- function_arn = "arn:aws:lambda:us-west-2:123456789012:function:sagemaker_test_lambda"
156
+ function_arn = "arn:aws:lambda:us-west-2:123456789012:function:sagemaker_test_lambda" ,
157
+ session = sagemaker_session ,
146
158
),
147
159
inputs = {},
148
160
outputs = [],
0 commit comments