@@ -57,7 +57,8 @@ func (s *StepRunnerSuite) TestRunningStep() {
5757 var obtainedResumeState json.RawMessage
5858
5959 err := s .RegisterStateFullStep (
60- func (ctx xcontext.Context , ch test.TestStepChannels , params test.TestStepParameters , ev testevent.Emitter , resumeState json.RawMessage ) (json.RawMessage , error ) {
60+ func (ctx xcontext.Context , ch test.TestStepChannels , ev testevent.Emitter ,
61+ stepsVars test.StepsVariables , params test.TestStepParameters , resumeState json.RawMessage ) (json.RawMessage , error ) {
6162 obtainedResumeState = resumeState
6263 _ , err := teststeps .ForEachTarget (stateFullStepName , ctx , ch , func (ctx xcontext.Context , target * target.Target ) error {
6364 require .NotNil (s .T (), target )
@@ -85,6 +86,7 @@ func (s *StepRunnerSuite) TestRunningStep() {
8586 inputResumeState := json .RawMessage ("{\" some_input\" : 42}" )
8687 addTarget , resumedTargetsResults , runResult , err := stepRunner .Run (ctx ,
8788 s .NewStep (ctx , "test_step_label" , stateFullStepName , nil ),
89+ newStepsVariablesMock (nil , nil ),
8890 emitter ,
8991 inputResumeState ,
9092 nil ,
@@ -127,7 +129,8 @@ func (s *StepRunnerSuite) TestAddSameTargetSequentiallyTimes() {
127129 const inputTargetID = "input_target_id"
128130
129131 err := s .RegisterStateFullStep (
130- func (ctx xcontext.Context , ch test.TestStepChannels , params test.TestStepParameters , ev testevent.Emitter , resumeState json.RawMessage ) (json.RawMessage , error ) {
132+ func (ctx xcontext.Context , ch test.TestStepChannels , ev testevent.Emitter ,
133+ stepsVars test.StepsVariables , params test.TestStepParameters , resumeState json.RawMessage ) (json.RawMessage , error ) {
131134 _ , err := teststeps .ForEachTarget (stateFullStepName , ctx , ch , func (ctx xcontext.Context , target * target.Target ) error {
132135 require .NotNil (s .T (), target )
133136 require .Equal (s .T (), inputTargetID , target .ID )
@@ -149,6 +152,7 @@ func (s *StepRunnerSuite) TestAddSameTargetSequentiallyTimes() {
149152
150153 addTarget , _ , runResult , err := stepRunner .Run (ctx ,
151154 s .NewStep (ctx , "test_step_label" , stateFullStepName , nil ),
155+ newStepsVariablesMock (nil , nil ),
152156 emitter ,
153157 nil ,
154158 nil ,
@@ -180,7 +184,8 @@ func (s *StepRunnerSuite) TestAddTargetReturnsErrorIfFailsToInput() {
180184 }
181185 }()
182186 err := s .RegisterStateFullStep (
183- func (ctx xcontext.Context , ch test.TestStepChannels , params test.TestStepParameters , ev testevent.Emitter , resumeState json.RawMessage ) (json.RawMessage , error ) {
187+ func (ctx xcontext.Context , ch test.TestStepChannels , ev testevent.Emitter ,
188+ stepsVars test.StepsVariables , params test.TestStepParameters , resumeState json.RawMessage ) (json.RawMessage , error ) {
184189 <- hangCh
185190 for range ch .In {
186191 require .Fail (s .T (), "unexpected input" )
@@ -200,6 +205,7 @@ func (s *StepRunnerSuite) TestAddTargetReturnsErrorIfFailsToInput() {
200205
201206 addTarget , resumedTargetsResults , runResult , err := stepRunner .Run (ctx ,
202207 s .NewStep (ctx , "test_step_label" , stateFullStepName , nil ),
208+ newStepsVariablesMock (nil , nil ),
203209 emitter ,
204210 nil ,
205211 nil ,
@@ -238,7 +244,8 @@ func (s *StepRunnerSuite) TestStepPanics() {
238244 defer cancel ()
239245
240246 err := s .RegisterStateFullStep (
241- func (ctx xcontext.Context , ch test.TestStepChannels , params test.TestStepParameters , ev testevent.Emitter , resumeState json.RawMessage ) (json.RawMessage , error ) {
247+ func (ctx xcontext.Context , ch test.TestStepChannels , ev testevent.Emitter ,
248+ stepsVars test.StepsVariables , params test.TestStepParameters , resumeState json.RawMessage ) (json.RawMessage , error ) {
242249 panic ("panic" )
243250 },
244251 nil ,
@@ -251,6 +258,7 @@ func (s *StepRunnerSuite) TestStepPanics() {
251258
252259 addTarget , resumedTargetsResults , runResult , err := stepRunner .Run (ctx ,
253260 s .NewStep (ctx , "test_step_label" , stateFullStepName , nil ),
261+ newStepsVariablesMock (nil , nil ),
254262 NewTestStepEventsEmitterFactory (
255263 s .MemoryStorage .StorageEngineVault ,
256264 1 ,
@@ -288,7 +296,8 @@ func (s *StepRunnerSuite) TestCornerCases() {
288296 defer cancel ()
289297
290298 err := s .RegisterStateFullStep (
291- func (ctx xcontext.Context , ch test.TestStepChannels , params test.TestStepParameters , ev testevent.Emitter , resumeState json.RawMessage ) (json.RawMessage , error ) {
299+ func (ctx xcontext.Context , ch test.TestStepChannels , ev testevent.Emitter ,
300+ stepsVars test.StepsVariables , params test.TestStepParameters , resumeState json.RawMessage ) (json.RawMessage , error ) {
292301 _ , err := teststeps .ForEachTarget (stateFullStepName , ctx , ch , func (ctx xcontext.Context , target * target.Target ) error {
293302 return fmt .Errorf ("should not be called" )
294303 })
@@ -308,6 +317,7 @@ func (s *StepRunnerSuite) TestCornerCases() {
308317
309318 addTarget , _ , runResult , err := stepRunner .Run (ctx ,
310319 s .NewStep (ctx , "test_step_label" , stateFullStepName , nil ),
320+ newStepsVariablesMock (nil , nil ),
311321 emitter ,
312322 nil ,
313323 nil ,
@@ -331,6 +341,7 @@ func (s *StepRunnerSuite) TestCornerCases() {
331341
332342 addTarget , _ , runResult , err := stepRunner .Run (ctx ,
333343 s .NewStep (ctx , "test_step_label" , stateFullStepName , nil ),
344+ newStepsVariablesMock (nil , nil ),
334345 emitter ,
335346 nil ,
336347 nil ,
@@ -341,6 +352,7 @@ func (s *StepRunnerSuite) TestCornerCases() {
341352
342353 addTarget2 , _ , runResult2 , err2 := stepRunner .Run (ctx ,
343354 s .NewStep (ctx , "test_step_label" , stateFullStepName , nil ),
355+ newStepsVariablesMock (nil , nil ),
344356 emitter ,
345357 nil ,
346358 nil ,
@@ -357,6 +369,7 @@ func (s *StepRunnerSuite) TestCornerCases() {
357369
358370 addTarget , _ , runResult , err := stepRunner .Run (ctx ,
359371 s .NewStep (ctx , "test_step_label" , stateFullStepName , nil ),
372+ newStepsVariablesMock (nil , nil ),
360373 emitter ,
361374 nil ,
362375 nil ,
@@ -378,6 +391,7 @@ func (s *StepRunnerSuite) TestCornerCases() {
378391 stepRunner .Stop ()
379392 addTarget , _ , runResult , err := stepRunner .Run (ctx ,
380393 s .NewStep (ctx , "test_step_label" , stateFullStepName , nil ),
394+ newStepsVariablesMock (nil , nil ),
381395 emitter ,
382396 nil ,
383397 nil ,
@@ -388,3 +402,26 @@ func (s *StepRunnerSuite) TestCornerCases() {
388402 checkSuccessfulResult (s .T (), runResult )
389403 })
390404}
405+
406+ type stepsVariablesMock struct {
407+ add func (tgtID string , name string , value interface {}) error
408+ get func (tgtID string , stepLabel , name string , value interface {}) error
409+ }
410+
411+ func (sm * stepsVariablesMock ) Add (tgtID string , name string , value interface {}) error {
412+ return sm .add (tgtID , name , value )
413+ }
414+
415+ func (sm * stepsVariablesMock ) Get (tgtID string , stepLabel , name string , value interface {}) error {
416+ return sm .get (tgtID , stepLabel , name , value )
417+ }
418+
419+ func newStepsVariablesMock (
420+ add func (tgtID string , name string , value interface {}) error ,
421+ get func (tgtID string , stepLabel , name string , value interface {}) error ,
422+ ) * stepsVariablesMock {
423+ return & stepsVariablesMock {
424+ add : add ,
425+ get : get ,
426+ }
427+ }
0 commit comments