chore: Consolidate mocks for uploads's Store type (#64286)

Instead of re-generating and re-compiling the mocks 3 times,
consolidate them into a single storemocks package.

This should also provide better code navigation in the editor.
This commit is contained in:
Varun Gandhi 2024-08-06 17:15:17 +08:00 committed by GitHub
parent 224e23697d
commit 38633daef0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 217 additions and 16642 deletions

View File

@ -80,7 +80,6 @@ write_source_files(
"//internal/codeintel/dependencies/internal/background:generate_mocks",
"//internal/codeintel/policies:generate_mocks",
"//internal/codeintel/ranking:generate_mocks",
"//internal/codeintel/uploads/internal/background/backfiller:generate_mocks",
"//internal/codeintel/uploads/internal/background/expirer:generate_mocks",
"//internal/codeintel/uploads/internal/background/processor:generate_mocks",
"//internal/codeintel/uploads/transport/graphql:generate_mocks",
@ -130,5 +129,6 @@ write_source_files(
"//internal/codeintel/codegraph/codegraphmocks:generate_mocks",
"//internal/codeintel/codenav/internal/lsifstore/mocks:generate_mocks",
"//cmd/frontend/internal/auth/userpasswd:generate_mocks",
"//internal/codeintel/uploads/internal/storemocks:generate_mocks",
],
)

View File

@ -1,4 +1,3 @@
load("//dev:go_mockgen.bzl", "go_mockgen")
load("//dev:go_defs.bzl", "go_test")
load("@io_bazel_rules_go//go:def.bzl", "go_library")
@ -25,35 +24,15 @@ go_library(
go_test(
name = "backfiller_test",
srcs = [
"job_backfill_test.go",
"mocks_test.go",
],
srcs = ["job_backfill_test.go"],
embed = [":backfiller"],
tags = [TAG_PLATFORM_GRAPH],
deps = [
"//internal/api",
"//internal/codeintel/core",
"//internal/codeintel/uploads/internal/commitgraph",
"//internal/codeintel/uploads/internal/store",
"//internal/codeintel/uploads/shared",
"//internal/database/basestore",
"//internal/codeintel/uploads/internal/storemocks",
"//internal/gitserver",
"//internal/gitserver/gitdomain",
"//internal/observation",
"//internal/workerutil/dbworker/store",
"//lib/codeintel/precise",
"@com_github_google_go_cmp//cmp",
],
)
go_mockgen(
name = "generate_mocks",
out = "mocks_test.go",
manifests = [
"//:mockgen.yaml",
"//:mockgen.test.yaml",
"//:mockgen.temp.yaml",
],
deps = ["//internal/codeintel/uploads/internal/store"],
)

View File

@ -10,13 +10,14 @@ import (
"github.com/sourcegraph/sourcegraph/internal/api"
shared "github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/store"
"github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/storemocks"
"github.com/sourcegraph/sourcegraph/internal/gitserver"
"github.com/sourcegraph/sourcegraph/internal/gitserver/gitdomain"
)
func TestBackfillCommittedAtBatch(t *testing.T) {
ctx := context.Background()
store := NewMockStore()
store := storemocks.NewMockStore()
gitserverClient := gitserver.NewMockClient()
svc := &backfiller{
store: store,
@ -72,7 +73,7 @@ func TestBackfillCommittedAtBatch(t *testing.T) {
}
committedAtByCommit := map[string]time.Time{}
history := store.UpdateCommittedAtFunc.history
history := store.UpdateCommittedAtFunc.History()
for i := range n {
if len(history) <= i {
@ -98,7 +99,7 @@ func TestBackfillCommittedAtBatch(t *testing.T) {
func TestBackfillCommittedAtBatchUnknownCommits(t *testing.T) {
ctx := context.Background()
store := NewMockStore()
store := storemocks.NewMockStore()
gitserverClient := gitserver.NewMockClient()
svc := &backfiller{
store: store,
@ -159,7 +160,7 @@ func TestBackfillCommittedAtBatchUnknownCommits(t *testing.T) {
}
committedAtByCommit := map[string]time.Time{}
history := store.UpdateCommittedAtFunc.history
history := store.UpdateCommittedAtFunc.History()
for i := range n {
if len(history) <= i {

View File

@ -42,22 +42,18 @@ go_test(
tags = [TAG_PLATFORM_GRAPH],
deps = [
"//internal/api",
"//internal/codeintel/core",
"//internal/codeintel/policies",
"//internal/codeintel/policies/shared",
"//internal/codeintel/uploads/internal/commitgraph",
"//internal/codeintel/uploads/internal/store",
"//internal/codeintel/uploads/internal/storemocks",
"//internal/codeintel/uploads/shared",
"//internal/database/basestore",
"//internal/database/dbmocks",
"//internal/executor",
"//internal/gitserver/gitdomain",
"//internal/observation",
"//internal/timeutil",
"//internal/types",
"//internal/workerutil",
"//internal/workerutil/dbworker/store",
"//lib/codeintel/precise",
"//lib/pointers",
"@com_github_google_go_cmp//cmp",
"@com_github_keegancsmith_sqlf//:sqlf",
@ -74,7 +70,6 @@ go_mockgen(
],
deps = [
":expirer",
"//internal/codeintel/uploads/internal/store",
"//internal/workerutil/dbworker/store",
],
)

View File

@ -12,6 +12,7 @@ import (
"github.com/sourcegraph/sourcegraph/internal/api"
"github.com/sourcegraph/sourcegraph/internal/codeintel/policies"
policiesshared "github.com/sourcegraph/sourcegraph/internal/codeintel/policies/shared"
"github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/storemocks"
"github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/shared"
uploadsshared "github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/shared"
"github.com/sourcegraph/sourcegraph/internal/database/dbmocks"
@ -116,7 +117,7 @@ func setupMockPolicyService() *MockPolicyService {
return policySvc
}
func setupMockUploadService(now time.Time) *MockStore {
func setupMockUploadService(now time.Time) *storemocks.MockStore {
uploads := []shared.Upload{
{ID: 11, State: "completed", RepositoryID: 50, Commit: "deadbeef01", UploadedAt: daysAgo(now, 1)}, // repo 50
{ID: 12, State: "completed", RepositoryID: 50, Commit: "deadbeef02", UploadedAt: daysAgo(now, 2)},
@ -211,7 +212,7 @@ func setupMockUploadService(now time.Time) *MockStore {
return nil, nil, nil
}
uploadSvc := NewMockStore()
uploadSvc := storemocks.NewMockStore()
uploadSvc.SetRepositoriesForRetentionScanFunc.SetDefaultHook(setRepositoriesForRetentionScanFunc)
uploadSvc.GetUploadsFunc.SetDefaultHook(getUploads)
uploadSvc.UpdateUploadRetentionFunc.SetDefaultHook(updateUploadRetention)

File diff suppressed because it is too large Load Diff

View File

@ -60,9 +60,8 @@ go_test(
"//internal/api",
"//internal/codeintel/codegraph",
"//internal/codeintel/codegraph/codegraphmocks",
"//internal/codeintel/core",
"//internal/codeintel/uploads/internal/commitgraph",
"//internal/codeintel/uploads/internal/store",
"//internal/codeintel/uploads/internal/storemocks",
"//internal/codeintel/uploads/shared",
"//internal/database/basestore",
"//internal/database/dbmocks",
@ -97,7 +96,6 @@ go_mockgen(
],
deps = [
":processor",
"//internal/codeintel/uploads/internal/store",
"//internal/workerutil/dbworker/store",
],
)

View File

@ -23,6 +23,7 @@ import (
"github.com/sourcegraph/sourcegraph/internal/codeintel/codegraph"
"github.com/sourcegraph/sourcegraph/internal/codeintel/codegraph/codegraphmocks"
"github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/store"
"github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/storemocks"
"github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/shared"
"github.com/sourcegraph/sourcegraph/internal/database/dbmocks"
"github.com/sourcegraph/sourcegraph/internal/fileutil"
@ -49,7 +50,7 @@ func TestHandle(t *testing.T) {
}
mockWorkerStore := NewMockWorkerStore[shared.Upload]()
mockDBStore := NewMockStore()
mockDBStore := storemocks.NewMockStore()
mockRepoStore := defaultMockRepoStore()
mockLSIFStore := codegraphmocks.NewMockDataStore()
mockUploadStore := objectmocks.NewMockStorage()
@ -298,7 +299,7 @@ func TestHandleError(t *testing.T) {
}
mockWorkerStore := NewMockWorkerStore[shared.Upload]()
mockDBStore := NewMockStore()
mockDBStore := storemocks.NewMockStore()
mockRepoStore := defaultMockRepoStore()
mockLSIFStore := codegraphmocks.NewMockDataStore()
mockUploadStore := objectmocks.NewMockStorage()
@ -364,7 +365,7 @@ func TestHandleCloneInProgress(t *testing.T) {
}
mockWorkerStore := NewMockWorkerStore[shared.Upload]()
mockDBStore := NewMockStore()
mockDBStore := storemocks.NewMockStore()
mockRepoStore := defaultMockRepoStore()
mockUploadStore := objectmocks.NewMockStorage()
gitserverClient := gitserver.NewMockClient()

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,32 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("//dev:go_mockgen.bzl", "go_mockgen")
go_library(
name = "storemocks",
srcs = ["mocks_temp.go"],
importpath = "github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/storemocks",
visibility = ["//:__subpackages__"],
deps = [
"//internal/api",
"//internal/codeintel/core",
"//internal/codeintel/uploads/internal/commitgraph",
"//internal/codeintel/uploads/internal/store",
"//internal/codeintel/uploads/shared",
"//internal/database/basestore",
"//internal/gitserver/gitdomain",
"//internal/observation",
"//internal/workerutil/dbworker/store",
"//lib/codeintel/precise",
],
)
go_mockgen(
name = "generate_mocks",
out = "mocks_temp.go",
manifests = [
"//:mockgen.yaml",
"//:mockgen.test.yaml",
"//:mockgen.temp.yaml",
],
deps = ["//internal/codeintel/uploads/internal/store"],
)

View File

@ -4,7 +4,7 @@
// this repository. To add additional mocks to this or another package, add a new entry
// to the mockgen.yaml file in the root of this repository.
package backfiller
package storemocks
import (
"context"

View File

@ -185,3 +185,8 @@
interfaces:
- DataStore
- SCIPWriter
- filename: internal/codeintel/uploads/internal/storemocks/mocks_temp.go
sources:
- path: github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/store
interfaces:
- Store

View File

@ -232,9 +232,6 @@
- path: github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/background/processor
interfaces:
- RepoStore
- path: github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/store
interfaces:
- Store
- path: github.com/sourcegraph/sourcegraph/internal/workerutil/dbworker/store
interfaces:
- Store
@ -245,18 +242,10 @@
interfaces:
- PolicyService
- PolicyMatcher
- path: github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/store
interfaces:
- Store
- path: github.com/sourcegraph/sourcegraph/internal/workerutil/dbworker/store
interfaces:
- Store
prefix: Worker
- filename: internal/codeintel/uploads/internal/background/backfiller/mocks_test.go
sources:
- path: github.com/sourcegraph/sourcegraph/internal/codeintel/uploads/internal/store
interfaces:
- Store
- filename: internal/database/migration/runner/mocks_test.go
path: github.com/sourcegraph/sourcegraph/internal/database/migration/runner
interfaces: