internal/postgres: move code from path_test.go to unit_test.go

Pure code in motion.

Change-Id: Ib2615e00f27a358de2321314c19001f21c11f648
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/282619
Reviewed-by: Jonathan Amsterdam <jba@google.com>
Trust: Julie Qiu <julie@golang.org>
diff --git a/internal/postgres/path_test.go b/internal/postgres/path_test.go
deleted file mode 100644
index aebd93d..0000000
--- a/internal/postgres/path_test.go
+++ /dev/null
@@ -1,422 +0,0 @@
-// Copyright 2020 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 postgres
-
-import (
-	"context"
-	"fmt"
-	"testing"
-
-	"github.com/google/go-cmp/cmp"
-	"github.com/google/go-cmp/cmp/cmpopts"
-	"github.com/google/safehtml"
-	"golang.org/x/pkgsite/internal"
-	"golang.org/x/pkgsite/internal/licenses"
-	"golang.org/x/pkgsite/internal/source"
-	"golang.org/x/pkgsite/internal/testing/sample"
-)
-
-func TestGetUnitMeta(t *testing.T) {
-	ctx, cancel := context.WithTimeout(context.Background(), testTimeout)
-	defer cancel()
-
-	defer ResetTestDB(testDB, t)
-
-	for _, testModule := range []struct {
-		module, version, packageSuffix string
-		isMaster                       bool
-	}{
-		{"m.com", "v1.0.0", "a", false},
-		{"m.com", "v1.0.1", "dir/a", false},
-		{"m.com", "v1.1.0", "a/b", false},
-		{"m.com", "v1.2.0-pre", "a", true},
-		{"m.com", "v2.0.0+incompatible", "a", false},
-		{"m.com/a", "v1.1.0", "b", false},
-		{"m.com/b", "v2.0.0+incompatible", "a", true},
-		{"cloud.google.com/go", "v0.69.0", "pubsublite", false},
-		{"cloud.google.com/go/pubsublite", "v0.4.0", "", false},
-		{"cloud.google.com/go", "v0.74.0", "compute/metadata", false},
-		{"cloud.google.com/go/compute/metadata", "v0.0.0-20181115181204-d50f0e9b2506", "", false},
-	} {
-		m := sample.Module(testModule.module, testModule.version, testModule.packageSuffix)
-		if err := testDB.InsertModule(ctx, m); err != nil {
-			t.Fatal(err)
-		}
-		requested := m.Version
-		if testModule.isMaster {
-			requested = "master"
-		}
-		if err := testDB.UpsertVersionMap(ctx, &internal.VersionMap{
-			ModulePath:       m.ModulePath,
-			RequestedVersion: requested,
-			ResolvedVersion:  m.Version,
-		}); err != nil {
-			t.Fatal(err)
-		}
-	}
-
-	type teststruct struct {
-		name                  string
-		path, module, version string
-		want                  *internal.UnitMeta
-	}
-
-	checkUnitMeta := func(ctx context.Context, test teststruct) {
-		got, err := testDB.GetUnitMeta(ctx, test.path, test.module, test.version)
-		if err != nil {
-			t.Fatal(err)
-		}
-		opts := []cmp.Option{
-			cmpopts.IgnoreFields(licenses.Metadata{}, "Coverage"),
-			cmpopts.IgnoreFields(internal.UnitMeta{}, "HasGoMod"),
-			cmp.AllowUnexported(source.Info{}, safehtml.HTML{}),
-		}
-		if diff := cmp.Diff(test.want, got, opts...); diff != "" {
-			t.Errorf("mismatch (-want +got):\n%s", diff)
-		}
-	}
-
-	for _, test := range []teststruct{
-		{
-			name:    "known module and version",
-			path:    "m.com/a",
-			module:  "m.com",
-			version: "v1.2.0-pre",
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com",
-				Version:           "v1.2.0-pre",
-				Name:              "a",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name:    "unknown module, known version",
-			path:    "m.com/a/b",
-			version: "v1.1.0",
-			// The path is in two modules at v1.1.0. Prefer the longer one.
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com/a",
-				Version:           "v1.1.0",
-				Name:              "b",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name:   "known module, unknown version",
-			path:   "m.com/a",
-			module: "m.com",
-			// Choose the latest release version.
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com",
-				Version:           "v1.1.0",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name: "unknown module and version",
-			path: "m.com/a/b",
-			// Select the latest release version, longest module.
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com/a",
-				Version:           "v1.1.0",
-				Name:              "b",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name: "module",
-			path: "m.com",
-			// Select the latest version of the module.
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com",
-				Version:           "v1.1.0",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name:    "longest module",
-			path:    "m.com/a",
-			version: "v1.1.0",
-			// Prefer module m/a over module m, directory a.
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com/a",
-				Version:           "v1.1.0",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name: "directory",
-			path: "m.com/dir",
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com",
-				Version:           "v1.0.1",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name:    "module at master version",
-			path:    "m.com",
-			version: "master",
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com",
-				Version:           "v1.2.0-pre",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name:    "package at master version",
-			path:    "m.com/a",
-			version: "master",
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com",
-				Version:           "v1.2.0-pre",
-				Name:              "a",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name:    "incompatible module",
-			path:    "m.com/b",
-			version: "master",
-			want: &internal.UnitMeta{
-				ModulePath:        "m.com/b",
-				Version:           "v2.0.0+incompatible",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name: "prefer pubsublite nested module",
-			path: "cloud.google.com/go/pubsublite",
-			want: &internal.UnitMeta{
-				ModulePath:        "cloud.google.com/go/pubsublite",
-				Name:              "pubsublite",
-				Version:           "v0.4.0",
-				IsRedistributable: true,
-			},
-		},
-		{
-			name: "prefer compute metadata in main module",
-			path: "cloud.google.com/go/compute/metadata",
-			want: &internal.UnitMeta{
-				ModulePath:        "cloud.google.com/go",
-				Name:              "metadata",
-				Version:           "v0.74.0",
-				IsRedistributable: true,
-			},
-		},
-	} {
-		t.Run(test.name, func(t *testing.T) {
-			if test.module == "" {
-				test.module = internal.UnknownModulePath
-			}
-			if test.version == "" {
-				test.version = internal.LatestVersion
-			}
-			test.want = sample.UnitMeta(
-				test.path,
-				test.want.ModulePath,
-				test.want.Version,
-				test.want.Name,
-				test.want.IsRedistributable,
-			)
-			test.want.CommitTime = sample.CommitTime
-			checkUnitMeta(ctx, test)
-		})
-	}
-}
-
-func TestGetUnitMetaBypass(t *testing.T) {
-	ctx, cancel := context.WithTimeout(context.Background(), testTimeout)
-	defer cancel()
-
-	defer ResetTestDB(testDB, t)
-	bypassDB := NewBypassingLicenseCheck(testDB.db)
-
-	for _, testModule := range []struct {
-		module, version, packageSuffix string
-		isMaster                       bool
-	}{
-		{"m.com", "v1.0.0", "a", false},
-		{"m.com", "v1.0.1", "dir/a", false},
-		{"m.com", "v1.1.0", "a/b", false},
-		{"m.com", "v1.2.0-pre", "a", true},
-		{"m.com", "v2.0.0+incompatible", "a", false},
-		{"m.com/a", "v1.1.0", "b", false},
-		{"m.com/b", "v2.0.0+incompatible", "a", true},
-	} {
-		m := sample.Module(testModule.module, testModule.version, testModule.packageSuffix)
-		makeModuleNonRedistributable(m)
-
-		if err := bypassDB.InsertModule(ctx, m); err != nil {
-			t.Fatal(err)
-		}
-		requested := m.Version
-		if testModule.isMaster {
-			requested = "master"
-		}
-		if err := bypassDB.UpsertVersionMap(ctx, &internal.VersionMap{
-			ModulePath:       m.ModulePath,
-			RequestedVersion: requested,
-			ResolvedVersion:  m.Version,
-		}); err != nil {
-			t.Fatal(err)
-		}
-	}
-
-	for _, bypassLicenseCheck := range []bool{false, true} {
-		for _, test := range []struct {
-			name                  string
-			path, module, version string
-			want                  *internal.UnitMeta
-		}{
-			{
-				name:    "known module and version",
-				path:    "m.com/a",
-				module:  "m.com",
-				version: "v1.2.0-pre",
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com",
-					Version:           "v1.2.0-pre",
-					Name:              "a",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-			{
-				name:    "unknown module, known version",
-				path:    "m.com/a/b",
-				version: "v1.1.0",
-				// The path is in two modules at v1.1.0. Prefer the longer one.
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com/a",
-					Version:           "v1.1.0",
-					Name:              "b",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-			{
-				name:   "known module, unknown version",
-				path:   "m.com/a",
-				module: "m.com",
-				// Choose the latest release version.
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com",
-					Version:           "v1.1.0",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-			{
-				name: "unknown module and version",
-				path: "m.com/a/b",
-				// Select the latest release version, longest module.
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com/a",
-					Version:           "v1.1.0",
-					Name:              "b",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-			{
-				name: "module",
-				path: "m.com",
-				// Select the latest version of the module.
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com",
-					Version:           "v1.1.0",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-			{
-				name:    "longest module",
-				path:    "m.com/a",
-				version: "v1.1.0",
-				// Prefer module m/a over module m, directory a.
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com/a",
-					Version:           "v1.1.0",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-			{
-				name: "directory",
-				path: "m.com/dir",
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com",
-					Version:           "v1.0.1",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-			{
-				name:    "module at master version",
-				path:    "m.com",
-				version: "master",
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com",
-					Version:           "v1.2.0-pre",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-			{
-				name:    "package at master version",
-				path:    "m.com/a",
-				version: "master",
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com",
-					Version:           "v1.2.0-pre",
-					Name:              "a",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-			{
-				name:    "incompatible module",
-				path:    "m.com/b",
-				version: "master",
-				want: &internal.UnitMeta{
-					ModulePath:        "m.com/b",
-					Version:           "v2.0.0+incompatible",
-					IsRedistributable: bypassLicenseCheck,
-				},
-			},
-		} {
-			name := fmt.Sprintf("bypass %v %s", bypassLicenseCheck, test.name)
-			t.Run(name, func(t *testing.T) {
-				if test.module == "" {
-					test.module = internal.UnknownModulePath
-				}
-				if test.version == "" {
-					test.version = internal.LatestVersion
-				}
-				test.want = sample.UnitMeta(
-					test.path,
-					test.want.ModulePath,
-					test.want.Version,
-					test.want.Name,
-					test.want.IsRedistributable,
-				)
-				test.want.CommitTime = sample.CommitTime
-
-				var db *DB
-
-				if bypassLicenseCheck {
-					db = bypassDB
-				} else {
-					db = testDB
-				}
-
-				got, err := db.GetUnitMeta(ctx, test.path, test.module, test.version)
-				if err != nil {
-					t.Fatal(err)
-				}
-				opts := []cmp.Option{
-					cmpopts.IgnoreFields(licenses.Metadata{}, "Coverage"),
-					cmpopts.IgnoreFields(internal.UnitMeta{}, "HasGoMod"),
-					cmp.AllowUnexported(source.Info{}, safehtml.HTML{}),
-				}
-				if diff := cmp.Diff(test.want, got, opts...); diff != "" {
-					t.Errorf("mismatch (-want +got):\n%s", diff)
-				}
-			})
-		}
-	}
-}
diff --git a/internal/postgres/unit_test.go b/internal/postgres/unit_test.go
index 9ae00ab..a4c67b0 100644
--- a/internal/postgres/unit_test.go
+++ b/internal/postgres/unit_test.go
@@ -6,6 +6,7 @@
 
 import (
 	"context"
+	"fmt"
 	"path"
 	"testing"
 
@@ -20,6 +21,409 @@
 	"golang.org/x/pkgsite/internal/testing/sample"
 )
 
+func TestGetUnitMeta(t *testing.T) {
+	ctx, cancel := context.WithTimeout(context.Background(), testTimeout)
+	defer cancel()
+
+	defer ResetTestDB(testDB, t)
+
+	for _, testModule := range []struct {
+		module, version, packageSuffix string
+		isMaster                       bool
+	}{
+		{"m.com", "v1.0.0", "a", false},
+		{"m.com", "v1.0.1", "dir/a", false},
+		{"m.com", "v1.1.0", "a/b", false},
+		{"m.com", "v1.2.0-pre", "a", true},
+		{"m.com", "v2.0.0+incompatible", "a", false},
+		{"m.com/a", "v1.1.0", "b", false},
+		{"m.com/b", "v2.0.0+incompatible", "a", true},
+		{"cloud.google.com/go", "v0.69.0", "pubsublite", false},
+		{"cloud.google.com/go/pubsublite", "v0.4.0", "", false},
+		{"cloud.google.com/go", "v0.74.0", "compute/metadata", false},
+		{"cloud.google.com/go/compute/metadata", "v0.0.0-20181115181204-d50f0e9b2506", "", false},
+	} {
+		m := sample.Module(testModule.module, testModule.version, testModule.packageSuffix)
+		if err := testDB.InsertModule(ctx, m); err != nil {
+			t.Fatal(err)
+		}
+		requested := m.Version
+		if testModule.isMaster {
+			requested = "master"
+		}
+		if err := testDB.UpsertVersionMap(ctx, &internal.VersionMap{
+			ModulePath:       m.ModulePath,
+			RequestedVersion: requested,
+			ResolvedVersion:  m.Version,
+		}); err != nil {
+			t.Fatal(err)
+		}
+	}
+
+	type teststruct struct {
+		name                  string
+		path, module, version string
+		want                  *internal.UnitMeta
+	}
+
+	checkUnitMeta := func(ctx context.Context, test teststruct) {
+		got, err := testDB.GetUnitMeta(ctx, test.path, test.module, test.version)
+		if err != nil {
+			t.Fatal(err)
+		}
+		opts := []cmp.Option{
+			cmpopts.IgnoreFields(licenses.Metadata{}, "Coverage"),
+			cmpopts.IgnoreFields(internal.UnitMeta{}, "HasGoMod"),
+			cmp.AllowUnexported(source.Info{}, safehtml.HTML{}),
+		}
+		if diff := cmp.Diff(test.want, got, opts...); diff != "" {
+			t.Errorf("mismatch (-want +got):\n%s", diff)
+		}
+	}
+
+	for _, test := range []teststruct{
+		{
+			name:    "known module and version",
+			path:    "m.com/a",
+			module:  "m.com",
+			version: "v1.2.0-pre",
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com",
+				Version:           "v1.2.0-pre",
+				Name:              "a",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name:    "unknown module, known version",
+			path:    "m.com/a/b",
+			version: "v1.1.0",
+			// The path is in two modules at v1.1.0. Prefer the longer one.
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com/a",
+				Version:           "v1.1.0",
+				Name:              "b",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name:   "known module, unknown version",
+			path:   "m.com/a",
+			module: "m.com",
+			// Choose the latest release version.
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com",
+				Version:           "v1.1.0",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name: "unknown module and version",
+			path: "m.com/a/b",
+			// Select the latest release version, longest module.
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com/a",
+				Version:           "v1.1.0",
+				Name:              "b",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name: "module",
+			path: "m.com",
+			// Select the latest version of the module.
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com",
+				Version:           "v1.1.0",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name:    "longest module",
+			path:    "m.com/a",
+			version: "v1.1.0",
+			// Prefer module m/a over module m, directory a.
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com/a",
+				Version:           "v1.1.0",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name: "directory",
+			path: "m.com/dir",
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com",
+				Version:           "v1.0.1",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name:    "module at master version",
+			path:    "m.com",
+			version: "master",
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com",
+				Version:           "v1.2.0-pre",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name:    "package at master version",
+			path:    "m.com/a",
+			version: "master",
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com",
+				Version:           "v1.2.0-pre",
+				Name:              "a",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name:    "incompatible module",
+			path:    "m.com/b",
+			version: "master",
+			want: &internal.UnitMeta{
+				ModulePath:        "m.com/b",
+				Version:           "v2.0.0+incompatible",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name: "prefer pubsublite nested module",
+			path: "cloud.google.com/go/pubsublite",
+			want: &internal.UnitMeta{
+				ModulePath:        "cloud.google.com/go/pubsublite",
+				Name:              "pubsublite",
+				Version:           "v0.4.0",
+				IsRedistributable: true,
+			},
+		},
+		{
+			name: "prefer compute metadata in main module",
+			path: "cloud.google.com/go/compute/metadata",
+			want: &internal.UnitMeta{
+				ModulePath:        "cloud.google.com/go",
+				Name:              "metadata",
+				Version:           "v0.74.0",
+				IsRedistributable: true,
+			},
+		},
+	} {
+		t.Run(test.name, func(t *testing.T) {
+			if test.module == "" {
+				test.module = internal.UnknownModulePath
+			}
+			if test.version == "" {
+				test.version = internal.LatestVersion
+			}
+			test.want = sample.UnitMeta(
+				test.path,
+				test.want.ModulePath,
+				test.want.Version,
+				test.want.Name,
+				test.want.IsRedistributable,
+			)
+			test.want.CommitTime = sample.CommitTime
+			checkUnitMeta(ctx, test)
+		})
+	}
+}
+
+func TestGetUnitMetaBypass(t *testing.T) {
+	ctx, cancel := context.WithTimeout(context.Background(), testTimeout)
+	defer cancel()
+
+	defer ResetTestDB(testDB, t)
+	bypassDB := NewBypassingLicenseCheck(testDB.db)
+
+	for _, testModule := range []struct {
+		module, version, packageSuffix string
+		isMaster                       bool
+	}{
+		{"m.com", "v1.0.0", "a", false},
+		{"m.com", "v1.0.1", "dir/a", false},
+		{"m.com", "v1.1.0", "a/b", false},
+		{"m.com", "v1.2.0-pre", "a", true},
+		{"m.com", "v2.0.0+incompatible", "a", false},
+		{"m.com/a", "v1.1.0", "b", false},
+		{"m.com/b", "v2.0.0+incompatible", "a", true},
+	} {
+		m := sample.Module(testModule.module, testModule.version, testModule.packageSuffix)
+		makeModuleNonRedistributable(m)
+
+		if err := bypassDB.InsertModule(ctx, m); err != nil {
+			t.Fatal(err)
+		}
+		requested := m.Version
+		if testModule.isMaster {
+			requested = "master"
+		}
+		if err := bypassDB.UpsertVersionMap(ctx, &internal.VersionMap{
+			ModulePath:       m.ModulePath,
+			RequestedVersion: requested,
+			ResolvedVersion:  m.Version,
+		}); err != nil {
+			t.Fatal(err)
+		}
+	}
+
+	for _, bypassLicenseCheck := range []bool{false, true} {
+		for _, test := range []struct {
+			name                  string
+			path, module, version string
+			want                  *internal.UnitMeta
+		}{
+			{
+				name:    "known module and version",
+				path:    "m.com/a",
+				module:  "m.com",
+				version: "v1.2.0-pre",
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com",
+					Version:           "v1.2.0-pre",
+					Name:              "a",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+			{
+				name:    "unknown module, known version",
+				path:    "m.com/a/b",
+				version: "v1.1.0",
+				// The path is in two modules at v1.1.0. Prefer the longer one.
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com/a",
+					Version:           "v1.1.0",
+					Name:              "b",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+			{
+				name:   "known module, unknown version",
+				path:   "m.com/a",
+				module: "m.com",
+				// Choose the latest release version.
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com",
+					Version:           "v1.1.0",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+			{
+				name: "unknown module and version",
+				path: "m.com/a/b",
+				// Select the latest release version, longest module.
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com/a",
+					Version:           "v1.1.0",
+					Name:              "b",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+			{
+				name: "module",
+				path: "m.com",
+				// Select the latest version of the module.
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com",
+					Version:           "v1.1.0",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+			{
+				name:    "longest module",
+				path:    "m.com/a",
+				version: "v1.1.0",
+				// Prefer module m/a over module m, directory a.
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com/a",
+					Version:           "v1.1.0",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+			{
+				name: "directory",
+				path: "m.com/dir",
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com",
+					Version:           "v1.0.1",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+			{
+				name:    "module at master version",
+				path:    "m.com",
+				version: "master",
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com",
+					Version:           "v1.2.0-pre",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+			{
+				name:    "package at master version",
+				path:    "m.com/a",
+				version: "master",
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com",
+					Version:           "v1.2.0-pre",
+					Name:              "a",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+			{
+				name:    "incompatible module",
+				path:    "m.com/b",
+				version: "master",
+				want: &internal.UnitMeta{
+					ModulePath:        "m.com/b",
+					Version:           "v2.0.0+incompatible",
+					IsRedistributable: bypassLicenseCheck,
+				},
+			},
+		} {
+			name := fmt.Sprintf("bypass %v %s", bypassLicenseCheck, test.name)
+			t.Run(name, func(t *testing.T) {
+				if test.module == "" {
+					test.module = internal.UnknownModulePath
+				}
+				if test.version == "" {
+					test.version = internal.LatestVersion
+				}
+				test.want = sample.UnitMeta(
+					test.path,
+					test.want.ModulePath,
+					test.want.Version,
+					test.want.Name,
+					test.want.IsRedistributable,
+				)
+				test.want.CommitTime = sample.CommitTime
+
+				var db *DB
+
+				if bypassLicenseCheck {
+					db = bypassDB
+				} else {
+					db = testDB
+				}
+
+				got, err := db.GetUnitMeta(ctx, test.path, test.module, test.version)
+				if err != nil {
+					t.Fatal(err)
+				}
+				opts := []cmp.Option{
+					cmpopts.IgnoreFields(licenses.Metadata{}, "Coverage"),
+					cmpopts.IgnoreFields(internal.UnitMeta{}, "HasGoMod"),
+					cmp.AllowUnexported(source.Info{}, safehtml.HTML{}),
+				}
+				if diff := cmp.Diff(test.want, got, opts...); diff != "" {
+					t.Errorf("mismatch (-want +got):\n%s", diff)
+				}
+			})
+		}
+	}
+}
+
 func TestGetUnit(t *testing.T) {
 	ctx, cancel := context.WithTimeout(context.Background(), testTimeout)
 	defer cancel()