internal/worker: add checkPackage to fetch_test.go
A checkPackage helper function is added, which checks for package data
in the packages, paths, and documentation tables.
Change-Id: I18c1c4a16208d54721ed3094398d729901e69a57
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/247193
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/internal/worker/fetch_test.go b/internal/worker/fetch_test.go
index 691faa1..5449d0a 100644
--- a/internal/worker/fetch_test.go
+++ b/internal/worker/fetch_test.go
@@ -241,7 +241,7 @@
}
}
-func TestSkipIncompletePackage(t *testing.T) {
+func TestFetchAndUpdateState_SkipIncompletePackage(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), testTimeout)
defer cancel()
defer postgres.ResetTestDB(testDB, t)
@@ -257,26 +257,17 @@
bigFile.WriteString("// All work and no play makes Jack a dull boy.\n")
}
badModule["bar/bar.go"] = bigFile.String()
- var (
- modulePath = "github.com/my/module"
- version = "v1.0.0"
- )
proxyClient, teardownProxy := proxy.SetupTestProxy(t, []*proxy.Module{
{
- ModulePath: modulePath,
- Version: version,
+ ModulePath: sample.ModulePath,
+ Version: sample.VersionString,
Files: badModule,
},
})
defer teardownProxy()
- fetchAndCheckStatus(ctx, t, proxyClient, modulePath, version, hasIncompletePackagesCode)
-
- pkgFoo := modulePath + "/foo"
- if _, err := testDB.LegacyGetPackage(ctx, pkgFoo, internal.UnknownModulePath, version); err != nil {
- t.Errorf("got %v, want nil", err)
- }
- pkgBar := modulePath + "/bar"
- if _, err := testDB.LegacyGetPackage(ctx, pkgBar, internal.UnknownModulePath, version); !errors.Is(err, derrors.NotFound) {
+ fetchAndCheckStatus(ctx, t, proxyClient, sample.ModulePath, sample.VersionString, hasIncompletePackagesCode)
+ checkPackage(ctx, t, sample.ModulePath+"/foo")
+ if _, err := testDB.LegacyGetPackage(ctx, sample.ModulePath+"/bar", internal.UnknownModulePath, sample.VersionString); !errors.Is(err, derrors.NotFound) {
t.Errorf("got %v, want NotFound", err)
}
}
@@ -326,19 +317,9 @@
defer teardownProxy()
fetchAndCheckStatus(ctx, t, proxyClient, sample.ModulePath, sample.VersionString, http.StatusOK)
-
- pkgFoo := sample.ModulePath + "/foo"
- if _, err := testDB.LegacyGetPackage(ctx, pkgFoo, internal.UnknownModulePath, sample.VersionString); err != nil {
- t.Errorf("got %v, want nil", err)
- }
- pkgBar := sample.ModulePath + "/bar"
- if _, err := testDB.LegacyGetPackage(ctx, pkgBar, internal.UnknownModulePath, sample.VersionString); err != nil {
- t.Errorf("got %v, want nil", err)
- }
- pkgBaz := sample.ModulePath + "/baz"
- if _, err := testDB.LegacyGetPackage(ctx, pkgBaz, internal.UnknownModulePath, sample.VersionString); err != nil {
- t.Errorf("got %v, want nil", err)
- }
+ checkPackage(ctx, t, sample.ModulePath+"/foo")
+ checkPackage(ctx, t, sample.ModulePath+"/bar")
+ checkPackage(ctx, t, sample.ModulePath+"/baz")
}
func TestFetch_V1Path(t *testing.T) {
@@ -971,3 +952,26 @@
modulePath, version, diff)
}
}
+
+func checkPackage(ctx context.Context, t *testing.T, pkgPath string) {
+ t.Helper()
+ if _, err := testDB.LegacyGetPackage(ctx, pkgPath, internal.UnknownModulePath, sample.VersionString); err != nil {
+ t.Fatal(err)
+ }
+ modulePath, version, isPackage, err := testDB.GetPathInfo(ctx, pkgPath, internal.UnknownModulePath, sample.VersionString)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if !isPackage {
+ t.Fatalf("testDB.GetPathInfo(%q, %q, %q): isPackage = false; want = true",
+ pkgPath, internal.UnknownModulePath, sample.VersionString)
+ }
+ vdir, err := testDB.GetDirectory(ctx, pkgPath, modulePath, version)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if vdir.Package == nil || vdir.Package.Documentation == nil {
+ t.Fatalf("testDB.GetDirectory(%q, %q, %q): documentation should not be nil",
+ pkgPath, modulePath, version)
+ }
+}