refactor(engine): more abstract Experiment{,Builder} (#838)

This diff modifies the engine package to make Experiment and
ExperimentBuilder interfaces rather than structs.

The previosuly existing structs are now named experiment{,Builder}.

This diff helps https://github.com/ooni/probe/issues/2184
because it allows us to write unit tests more easily.

There should be no functional change.

While there, I removed a bunch of deprecated functions, which were
unnecessarily complicate the implementation and could be easily
replaced by passing them a context.Context or context.Background().
This commit is contained in:
Simone Basso 2022-07-08 12:29:23 +02:00 committed by GitHub
commit 97864b324f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 325 additions and 283 deletions

View file

@ -14,7 +14,7 @@ func TestExperimentHonoursSharingDefaults(t *testing.T) {
if err != nil {
t.Fatal(err)
}
exp := builder.NewExperiment()
exp := builder.NewExperiment().(*experiment)
return exp.newMeasurement("")
}
type spec struct {