pkg/testutil/bldr/step_builder.go (41 lines of code) (raw):

package bldr import ( "context" "fmt" "gitlab.com/gitlab-org/step-runner/pkg/runner" "gitlab.com/gitlab-org/step-runner/proto" ) type StepBuilder struct { err error stepResult *proto.StepResult } func Step() *StepBuilder { return &StepBuilder{ stepResult: StepResult().Build(), err: nil, } } func (bldr *StepBuilder) WithRunReturnsStepResult(stepResult *proto.StepResult) *StepBuilder { bldr.stepResult = stepResult return bldr } func (bldr *StepBuilder) WithRunReturnsErr(err error) *StepBuilder { bldr.err = err return bldr } func (bldr *StepBuilder) Build() *FixedResultStep { return &FixedResultStep{ stepResult: bldr.stepResult, err: bldr.err, } } type FixedResultStep struct { stepResult *proto.StepResult err error } func (s *FixedResultStep) Describe() string { return fmt.Sprintf("fixed result step %s", s.stepResult.Status) } func (s *FixedResultStep) Run(_ context.Context, _ *runner.StepsContext) (*proto.StepResult, error) { return s.stepResult, s.err }