ooni-probe-cli/internal/engine/probeservices/checkreportid_test.go
Simone Basso 7b7df2c6af
refactor(httpx): improve and modernize (1/n) (#647)
This PR starts to implement the refactoring described at https://github.com/ooni/probe/issues/1951. I originally wrote more patches than the ones in this PR, but overall they were not readable. Since I want to squash and merge, here's a reasonable subset of the original patches that will still be readable and understandable in the future.
2022-01-05 12:48:32 +01:00

62 lines
1.7 KiB
Go

package probeservices_test
import (
"context"
"errors"
"net/http"
"testing"
"github.com/apex/log"
"github.com/ooni/probe-cli/v3/internal/atomicx"
"github.com/ooni/probe-cli/v3/internal/engine/httpx"
"github.com/ooni/probe-cli/v3/internal/engine/probeservices"
"github.com/ooni/probe-cli/v3/internal/kvstore"
)
func TestCheckReportIDWorkingAsIntended(t *testing.T) {
client := probeservices.Client{
APIClient: httpx.APIClient{
BaseURL: "https://ams-pg.ooni.org/",
HTTPClient: http.DefaultClient,
Logger: log.Log,
UserAgent: "miniooni/0.1.0-dev",
},
LoginCalls: &atomicx.Int64{},
RegisterCalls: &atomicx.Int64{},
StateFile: probeservices.NewStateFile(&kvstore.Memory{}),
}
reportID := `20201209T052225Z_urlgetter_IT_30722_n1_E1VUhMz08SEkgYFU`
ctx := context.Background()
found, err := client.CheckReportID(ctx, reportID)
if err != nil {
t.Fatal(err)
}
if found != true {
t.Fatal("unexpected found value")
}
}
func TestCheckReportIDWorkingWithCancelledContext(t *testing.T) {
client := probeservices.Client{
APIClient: httpx.APIClient{
BaseURL: "https://ams-pg.ooni.org/",
HTTPClient: http.DefaultClient,
Logger: log.Log,
UserAgent: "miniooni/0.1.0-dev",
},
LoginCalls: &atomicx.Int64{},
RegisterCalls: &atomicx.Int64{},
StateFile: probeservices.NewStateFile(&kvstore.Memory{}),
}
reportID := `20201209T052225Z_urlgetter_IT_30722_n1_E1VUhMz08SEkgYFU`
ctx, cancel := context.WithCancel(context.Background())
cancel() // fail immediately
found, err := client.CheckReportID(ctx, reportID)
if !errors.Is(err, context.Canceled) {
t.Fatalf("not the error we expected: %+v", err)
}
if found != false {
t.Fatal("unexpected found value")
}
}