diff options
| author | Taras Madan <tarasmadan@google.com> | 2025-05-02 13:38:30 +0200 |
|---|---|---|
| committer | Taras Madan <tarasmadan@google.com> | 2025-05-02 13:13:23 +0000 |
| commit | 73d2a07be0d296d13eb834b665be7225a4f3ac9b (patch) | |
| tree | b7bad38c2433b7dfa954edd4e111175ab9d9e5ec /dashboard | |
| parent | 2bfec9c07f5ec24acb6c42a4b995b5d7ed86d0cb (diff) | |
dashboard/app: fix bugs in handleCoverageReports
1. Set coverage db.
2. Use appUrl instead of r[.URL].Host.
Diffstat (limited to 'dashboard')
| -rw-r--r-- | dashboard/app/reporting_email.go | 10 | ||||
| -rw-r--r-- | dashboard/app/reporting_test.go | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/dashboard/app/reporting_email.go b/dashboard/app/reporting_email.go index dc7fa9eb9..a141caba5 100644 --- a/dashboard/app/reporting_email.go +++ b/dashboard/app/reporting_email.go @@ -110,7 +110,9 @@ func (cfg *EmailConfig) Validate() error { // Assuming it is called June 15, the monthly report will cover April-May diff. func handleCoverageReports(w http.ResponseWriter, r *http.Request) { ctx := r.Context() - curHostPort := r.URL.Host + if coverageDBClient != nil { // initialized in prod deployment, nil in tests + ctx = SetCoverageDBClient(r.Context(), coverageDBClient) + } targetDate := civil.DateOf(timeNow(ctx)).AddMonths(-1) periods, err := coveragedb.GenNPeriodsTill(2, targetDate, "month") if err != nil { @@ -133,7 +135,7 @@ func handleCoverageReports(w http.ResponseWriter, r *http.Request) { wg.Add(1) go func() { defer wg.Done() - if err := sendNsCoverageReport(ctx, nsName, emailTo, curHostPort, periods, minDrop); err != nil { + if err := sendNsCoverageReport(ctx, nsName, emailTo, periods, minDrop); err != nil { msg := fmt.Sprintf("error generating coverage report for ns '%s': %s", nsName, err.Error()) log.Errorf(ctx, "%s", msg) return @@ -143,7 +145,7 @@ func handleCoverageReports(w http.ResponseWriter, r *http.Request) { wg.Wait() } -func sendNsCoverageReport(ctx context.Context, ns, email, domain string, +func sendNsCoverageReport(ctx context.Context, ns, email string, period []coveragedb.TimePeriod, minDrop int) error { var days int for _, p := range period { @@ -169,7 +171,7 @@ func sendNsCoverageReport(ctx context.Context, ns, email, domain string, PeriodFromDays: period[0].Days, PeriodTo: periodTo, PeriodToDays: period[1].Days, - Link: fmt.Sprintf("https://%s%s", domain, + Link: fmt.Sprintf("%s%s", appURL(ctx), coveragePageLink(ns, period[1].Type, period[1].DateTo.String(), minDrop, 2, true)), Table: table, } diff --git a/dashboard/app/reporting_test.go b/dashboard/app/reporting_test.go index c5c95101d..44a040f11 100644 --- a/dashboard/app/reporting_test.go +++ b/dashboard/app/reporting_test.go @@ -1407,7 +1407,7 @@ func TestCoverageRegression(t *testing.T) { msg := <-c.emailSink assert.Equal(t, []string{"test@test.test"}, msg.To) assert.Equal(t, "coverage-tests coverage regression (November 1999)->(December 1999)", msg.Subject) - wantLink := "https:///coverage-tests/coverage?" + + wantLink := "https://testapp.appspot.com/coverage-tests/coverage?" + "dateto=1999-12-31&min-cover-lines-drop=1&order-by-cover-lines-drop=1&period=month&period_count=2" assert.Equal(t, `Regressions happened in 'coverage-tests' from November 1999 (30 days) to December 1999 (31 days). Web version: `+wantLink+` |
