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:
Simone Basso
2020-06-04 11:19:38 +02:00
committed by GitHub
parent aebcaca082
commit b4934b1619
19 changed files with 105 additions and 143 deletions
+1 -1
View File
@@ -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
}
+1 -1
View File
@@ -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
View File
@@ -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{},
+1 -1
View File
@@ -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 {
+1 -1
View File
@@ -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
View File
@@ -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
}
+7 -4
View File
@@ -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
+6 -2
View File
@@ -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
View File
@@ -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 {
+1 -1
View File
@@ -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
View File
@@ -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 {
+2 -2
View File
@@ -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 {
+1 -1
View File
@@ -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 {