diff options
| author | Taras Madan <tarasmadan@google.com> | 2025-01-23 21:54:41 +0100 |
|---|---|---|
| committer | Taras Madan <tarasmadan@google.com> | 2025-01-27 10:05:21 +0000 |
| commit | 2bf68614de1620ef12f086d9e86d5c8b334bf32d (patch) | |
| tree | 24b69669a1ee44c1a34988d917cb248faed40cd3 /dashboard/app/entities_spanner.go | |
| parent | 0868754a9d325ba9011e1cb74510f68d4b627c79 (diff) | |
dashboard/app: test coverage /file link
1. Init coveragedb client once and propagate it through context to enable mocking.
2. Always init coverage handlers. It simplifies testing.
3. Read webGit and coveragedb client from ctx to make it mockable.
4. Use int for file line number and int64 for merged coverage.
5. Add tests.
Diffstat (limited to 'dashboard/app/entities_spanner.go')
| -rw-r--r-- | dashboard/app/entities_spanner.go | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/dashboard/app/entities_spanner.go b/dashboard/app/entities_spanner.go index e3f3bad9e..c550ef92e 100644 --- a/dashboard/app/entities_spanner.go +++ b/dashboard/app/entities_spanner.go @@ -6,7 +6,6 @@ package main import ( "context" "fmt" - "os" "cloud.google.com/go/civil" "cloud.google.com/go/spanner" @@ -24,14 +23,8 @@ type CoverageHistory struct { } // MergedCoverage uses dates, not time. -func MergedCoverage(ctx context.Context, ns, periodType string) (*CoverageHistory, error) { - projectID := os.Getenv("GOOGLE_CLOUD_PROJECT") - client, err := spannerclient.NewClient(ctx, projectID) - if err != nil { - return nil, fmt.Errorf("spanner.NewClient() failed: %s", err.Error()) - } - defer client.Close() - +func MergedCoverage(ctx context.Context, client spannerclient.SpannerClient, ns, periodType string, +) (*CoverageHistory, error) { minDays, maxDays, err := coveragedb.MinMaxDays(periodType) if err != nil { return nil, fmt.Errorf("coveragedb.MinMaxDays: %w", err) |
