From 183c7abfaa2d9995ccc5d8afb2deedef4c335ede Mon Sep 17 00:00:00 2001 From: ain ghazal Date: Mon, 24 Jun 2024 01:30:49 +0200 Subject: [PATCH] tests: add test for query backend --- .../experiment/openvpn/richerinput_test.go | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/internal/experiment/openvpn/richerinput_test.go b/internal/experiment/openvpn/richerinput_test.go index a9b74b1c84..83782d2bed 100644 --- a/internal/experiment/openvpn/richerinput_test.go +++ b/internal/experiment/openvpn/richerinput_test.go @@ -3,7 +3,9 @@ package openvpn import ( "context" "errors" + "fmt" "testing" + "time" "github.com/google/go-cmp/cmp" "github.com/ooni/probe-cli/v3/internal/mocks" @@ -173,3 +175,44 @@ func TestTargetLoaderLoad(t *testing.T) { }) } } + +func TestTargetLoaderLoadFromBackend(t *testing.T) { + loader := &targetloading.Loader{ + ExperimentName: "openvpn", + InputPolicy: model.InputOrQueryBackend, + Logger: model.DiscardLogger, + Session: &mocks.Session{}, + } + sess := &mocks.Session{} + sess.MockFetchOpenVPNConfig = func(context.Context, string, string) (*model.OOAPIVPNProviderConfig, error) { + return &model.OOAPIVPNProviderConfig{ + Provider: "riseupvpn", + Config: &model.OOAPIVPNConfig{}, + Inputs: []string{ + "openvpn://target0", + "openvpn://target1", + }, + DateUpdated: time.Now(), + }, nil + } + tl := &targetLoader{ + loader: loader, + options: &Config{}, + session: sess, + } + targets, err := tl.Load(context.Background()) + if err != nil { + t.Fatal("expected no error") + } + fmt.Println("targets", targets) + if len(targets) != 2 { + t.Fatal("expected 2 targets") + } + if targets[0].String() != "openvpn://target0" { + t.Fatal("expected openvpn://target0") + } + if targets[1].String() != "openvpn://target1" { + t.Fatal("expected openvpn://target1") + } + +}