blob: 253d7e72b54d901e880821f36979c34e949143c0 [file] [log] [blame]
// Copyright 2023 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package pkgsite
import (
"context"
"flag"
"testing"
)
var usePkgsite = flag.Bool("pkgsite", false, "use pkg.go.dev for tests")
func TestKnown(t *testing.T) {
ctx := context.Background()
for _, test := range []struct {
name string
in string
want bool
}{
{name: "valid", in: "golang.org/x/mod", want: true},
{name: "invalid", in: "github.com/something/something", want: false},
} {
t.Run(test.name, func(t *testing.T) {
cf, err := CacheFile(t)
if err != nil {
t.Fatal(err)
}
pc, err := TestClient(t, *usePkgsite, cf)
if err != nil {
t.Fatal(err)
}
got, err := pc.KnownModule(ctx, test.in)
if err != nil {
t.Fatal(err)
}
if got != test.want {
t.Errorf("%s: got %t, want %t", test.in, got, test.want)
}
})
}
}
func TestKnownParallel(t *testing.T) {
ctx := context.Background()
cf, err := CacheFile(t)
if err != nil {
t.Fatal(err)
}
pc, err := TestClient(t, *usePkgsite, cf)
if err != nil {
t.Fatal(err)
}
for _, test := range []struct {
name string
in string
want bool
}{
{name: "valid", in: "golang.org/x/mod", want: true},
{name: "invalid", in: "github.com/something/something", want: false},
} {
test := test
t.Run(test.name, func(t *testing.T) {
t.Parallel()
got, err := pc.KnownModule(ctx, test.in)
if err != nil {
t.Fatal(err)
}
if got != test.want {
t.Errorf("%s: got %t, want %t", test.in, got, test.want)
}
})
}
}