refactor: pass experiment arguments using a struct (#983)

Closes https://github.com/ooni/probe/issues/2358.
This commit is contained in:
Simone Basso 2022-11-22 10:43:47 +01:00 committed by GitHub
commit a0dc65641d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
76 changed files with 824 additions and 481 deletions

View file

@ -57,10 +57,10 @@ func (m Measurer) ExperimentVersion() string {
var ErrFailure = errors.New("mocked error")
// Run implements model.ExperimentMeasurer.Run.
func (m Measurer) Run(
ctx context.Context, sess model.ExperimentSession,
measurement *model.Measurement, callbacks model.ExperimentCallbacks,
) error {
func (m Measurer) Run(ctx context.Context, args *model.ExperimentArgs) error {
callbacks := args.Callbacks
measurement := args.Measurement
sess := args.Session
var err error
if m.config.ReturnError {
err = ErrFailure

View file

@ -26,7 +26,12 @@ func TestSuccess(t *testing.T) {
sess := &mockable.Session{MockableLogger: log.Log}
callbacks := model.NewPrinterCallbacks(sess.Logger())
measurement := new(model.Measurement)
err := m.Run(ctx, sess, measurement, callbacks)
args := &model.ExperimentArgs{
Callbacks: callbacks,
Measurement: measurement,
Session: sess,
}
err := m.Run(ctx, args)
if err != nil {
t.Fatal(err)
}
@ -47,7 +52,12 @@ func TestFailure(t *testing.T) {
ctx := context.Background()
sess := &mockable.Session{MockableLogger: log.Log}
callbacks := model.NewPrinterCallbacks(sess.Logger())
err := m.Run(ctx, sess, new(model.Measurement), callbacks)
args := &model.ExperimentArgs{
Callbacks: callbacks,
Measurement: new(model.Measurement),
Session: sess,
}
err := m.Run(ctx, args)
if !errors.Is(err, example.ErrFailure) {
t.Fatal("expected an error here")
}