Use ooni/probe-engine 0.12.0+patches (#133)
* nettests/groups.go: remove redundant struct names * go.mod go.sum: update deps except probe-engine * Update to ooni/probe-engine@e768161f91 The API has changed. Methods that used to change bits of the session have been removed. Now the session is more immutable than before. As such, we need to completely fill the config before using it. * Set IncludeCountry to always true Co-authored-by: Arturo Filastò <arturo@filasto.net>
This commit is contained in:
+1
-1
@@ -10,7 +10,7 @@ type Dash struct {
|
||||
|
||||
// Run starts the test
|
||||
func (d Dash) Run(ctl *Controller) error {
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder("dash")
|
||||
builder, err := ctl.Session.NewExperimentBuilder("dash")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ type FacebookMessenger struct {
|
||||
|
||||
// Run starts the test
|
||||
func (h FacebookMessenger) Run(ctl *Controller) error {
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder(
|
||||
builder, err := ctl.Session.NewExperimentBuilder(
|
||||
"facebook_messenger",
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
+5
-5
@@ -8,27 +8,27 @@ type NettestGroup struct {
|
||||
|
||||
// NettestGroups that can be run by the user
|
||||
var NettestGroups = map[string]NettestGroup{
|
||||
"websites": NettestGroup{
|
||||
"websites": {
|
||||
Label: "Websites",
|
||||
Nettests: []Nettest{
|
||||
WebConnectivity{},
|
||||
},
|
||||
},
|
||||
"performance": NettestGroup{
|
||||
"performance": {
|
||||
Label: "Performance",
|
||||
Nettests: []Nettest{
|
||||
Dash{},
|
||||
NDT{},
|
||||
},
|
||||
},
|
||||
"middlebox": NettestGroup{
|
||||
"middlebox": {
|
||||
Label: "Middleboxes",
|
||||
Nettests: []Nettest{
|
||||
HTTPInvalidRequestLine{},
|
||||
HTTPHeaderFieldManipulation{},
|
||||
},
|
||||
},
|
||||
"im": NettestGroup{
|
||||
"im": {
|
||||
Label: "Instant Messaging",
|
||||
Nettests: []Nettest{
|
||||
FacebookMessenger{},
|
||||
@@ -36,7 +36,7 @@ var NettestGroups = map[string]NettestGroup{
|
||||
WhatsApp{},
|
||||
},
|
||||
},
|
||||
"circumvention": NettestGroup{
|
||||
"circumvention": {
|
||||
Label: "Circumvention Tools",
|
||||
Nettests: []Nettest{
|
||||
Psiphon{},
|
||||
|
||||
@@ -10,7 +10,7 @@ type HTTPHeaderFieldManipulation struct {
|
||||
|
||||
// Run starts the test
|
||||
func (h HTTPHeaderFieldManipulation) Run(ctl *Controller) error {
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder(
|
||||
builder, err := ctl.Session.NewExperimentBuilder(
|
||||
"http_header_field_manipulation",
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
@@ -10,7 +10,7 @@ type HTTPInvalidRequestLine struct {
|
||||
|
||||
// Run starts the test
|
||||
func (h HTTPInvalidRequestLine) Run(ctl *Controller) error {
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder(
|
||||
builder, err := ctl.Session.NewExperimentBuilder(
|
||||
"http_invalid_request_line",
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ type NDT struct {
|
||||
// Run starts the test
|
||||
func (n NDT) Run(ctl *Controller) error {
|
||||
// Since 2020-03-18 probe-engine exports v7 as "ndt".
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder("ndt")
|
||||
builder, err := ctl.Session.NewExperimentBuilder("ndt")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -23,11 +23,13 @@ type Nettest interface {
|
||||
}
|
||||
|
||||
// NewController creates a nettest controller
|
||||
func NewController(nt Nettest, ctx *ooni.Context, res *database.Result) *Controller {
|
||||
func NewController(
|
||||
nt Nettest, ctx *ooni.Context, res *database.Result, sess *engine.Session) *Controller {
|
||||
return &Controller{
|
||||
Ctx: ctx,
|
||||
nt: nt,
|
||||
res: res,
|
||||
Ctx: ctx,
|
||||
nt: nt,
|
||||
res: res,
|
||||
Session: sess,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +37,7 @@ func NewController(nt Nettest, ctx *ooni.Context, res *database.Result) *Control
|
||||
// each nettest instance has one controller
|
||||
type Controller struct {
|
||||
Ctx *ooni.Context
|
||||
Session *engine.Session
|
||||
res *database.Result
|
||||
nt Nettest
|
||||
ntCount int
|
||||
|
||||
@@ -34,7 +34,11 @@ func TestCreateContext(t *testing.T) {
|
||||
|
||||
func TestRun(t *testing.T) {
|
||||
ctx := newTestingContext(t)
|
||||
network, err := database.CreateNetwork(ctx.DB, ctx.Session)
|
||||
sess, err := ctx.NewSession()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
network, err := database.CreateNetwork(ctx.DB, sess)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -43,6 +47,6 @@ func TestRun(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
nt := HTTPInvalidRequestLine{}
|
||||
ctl := NewController(nt, ctx, res)
|
||||
ctl := NewController(nt, ctx, res, sess)
|
||||
nt.Run(ctl)
|
||||
}
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ type Psiphon struct {
|
||||
|
||||
// Run starts the test
|
||||
func (h Psiphon) Run(ctl *Controller) error {
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder(
|
||||
builder, err := ctl.Session.NewExperimentBuilder(
|
||||
"psiphon",
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
@@ -6,7 +6,7 @@ type Telegram struct {
|
||||
|
||||
// Run starts the test
|
||||
func (h Telegram) Run(ctl *Controller) error {
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder(
|
||||
builder, err := ctl.Session.NewExperimentBuilder(
|
||||
"telegram",
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ type Tor struct {
|
||||
|
||||
// Run starts the test
|
||||
func (h Tor) Run(ctl *Controller) error {
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder(
|
||||
builder, err := ctl.Session.NewExperimentBuilder(
|
||||
"tor",
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
func lookupURLs(ctl *Controller, limit int64, categories []string) ([]string, map[int64]int64, error) {
|
||||
var urls []string
|
||||
urlIDMap := make(map[int64]int64)
|
||||
testlist, err := ctl.Ctx.Session.QueryTestListsURLs(&engine.TestListsURLsConfig{
|
||||
testlist, err := ctl.Session.QueryTestListsURLs(&engine.TestListsURLsConfig{
|
||||
Limit: limit,
|
||||
Categories: categories,
|
||||
})
|
||||
@@ -44,7 +44,7 @@ func (n WebConnectivity) Run(ctl *Controller) error {
|
||||
return err
|
||||
}
|
||||
ctl.SetInputIdxMap(urlIDMap)
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder(
|
||||
builder, err := ctl.Session.NewExperimentBuilder(
|
||||
"web_connectivity",
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
@@ -6,7 +6,7 @@ type WhatsApp struct {
|
||||
|
||||
// Run starts the test
|
||||
func (h WhatsApp) Run(ctl *Controller) error {
|
||||
builder, err := ctl.Ctx.Session.NewExperimentBuilder(
|
||||
builder, err := ctl.Session.NewExperimentBuilder(
|
||||
"whatsapp",
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user