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)
 	}