internal/testing/integration: get frontend experiments from context
When setting up the frontend for an integration tests,
get the experiments from the context instead of the DB.
Change-Id: I050c95fd6bc44e2fc9d0f29f19364a70d9d2c19d
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/258738
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
diff --git a/internal/testing/integration/frontend_test.go b/internal/testing/integration/frontend_test.go
index d21fb9f..c51b95f 100644
--- a/internal/testing/integration/frontend_test.go
+++ b/internal/testing/integration/frontend_test.go
@@ -13,6 +13,7 @@
"github.com/google/safehtml/template"
"golang.org/x/pkgsite/internal"
+ "golang.org/x/pkgsite/internal/experiment"
"golang.org/x/pkgsite/internal/fetch"
"golang.org/x/pkgsite/internal/frontend"
"golang.org/x/pkgsite/internal/middleware"
@@ -182,7 +183,20 @@
mux := http.NewServeMux()
s.Install(mux.Handle, nil, nil)
- experimenter, err := middleware.NewExperimenter(ctx, 1*time.Minute, testDB.GetExperiments, nil)
+ // Get experiments from the context. Fully roll them out.
+ expNames := experiment.FromContext(ctx).Active()
+ var exps []*internal.Experiment
+ for _, n := range expNames {
+ exps = append(exps, &internal.Experiment{
+ Name: n,
+ Rollout: 100,
+ })
+ }
+ getter := func(context.Context) ([]*internal.Experiment, error) {
+ return exps, nil
+ }
+
+ experimenter, err := middleware.NewExperimenter(ctx, 1*time.Minute, getter, nil)
if err != nil {
t.Fatal(err)
}