fix/console-capturelog
Squashed from fix/console-capturelog into main.
6 files changed,
+15
−15
internal/console/claimlogging_test.go+1 −1internal/console/regioncandidates_test.go+4 −4internal/console/regionclaim_test.go+3 −3internal/console/regiondefault_test.go+1 −1internal/console/regiondrift_test.go+5 −5internal/console/regionguess_test.go+1 −1
CI passed — run details
diff --git a/internal/console/claimlogging_test.go b/internal/console/claimlogging_test.go| index 82703b6f0..9812e7658 100644 |
| --- a/internal/console/claimlogging_test.go |
| +++ b/internal/console/claimlogging_test.go |
| @@ -52,7 +52,7 @@ func TestClaimCheckFailureIsLogged(t *testing.T) { |
| acct := opsAccount(t, fx) |
| tc.breakStore(t, fx) |
| buf := captureLog(t) |
| - outcome, placed, held := fx.srv.claimApp(context.Background(), acct, "logged-site", "paul@keymail.dev", "", true) |
| + outcome, placed, held := fx.srv.claimApp(context.Background(), acct, "logged-site", "paul@keymail.dev", "", true, regionReq{}) |
| if outcome != claimCheckFailed || placed != "" || held != nil { |
| t.Fatalf("claimApp = %v, %q, %v; want claimCheckFailed", outcome, placed, held) |
| } |
diff --git a/internal/console/regioncandidates_test.go b/internal/console/regioncandidates_test.go| index c7e3aebef..1687f38ce 100644 |
| --- a/internal/console/regioncandidates_test.go |
| +++ b/internal/console/regioncandidates_test.go |
| @@ -241,7 +241,7 @@ func TestIncompleteEvidenceIsLoggedOnce(t *testing.T) { |
| setBoxSnapshot(t, s, key, time.Now()) |
| } |
| var buf bytes.Buffer |
| - restore := captureLog(&buf) |
| + restore := captureLogTo(&buf) |
| defer restore() |
| livenessSaid.Delete("incomplete") |
| for i := 0; i < 2; i++ { |
| @@ -312,7 +312,7 @@ func (failingList) List(context.Context, string) ([]string, error) { |
| return nil, errors.New("bucket unreachable") |
| } |
| -func captureLog(w io.Writer) (restore func()) { |
| +func captureLogTo(w io.Writer) (restore func()) { |
| prev, flags := log.Writer(), log.Flags() |
| log.SetOutput(w) |
| return func() { log.SetOutput(prev); log.SetFlags(flags) } |
| @@ -418,7 +418,7 @@ func TestLiveEdgesSnapshotLoadFailureIsNotFreshAndLoggedOnce(t *testing.T) { |
| } |
| setBoxSnapshot(t, s, "uk-box", time.Now()) |
| var buf bytes.Buffer |
| - restore := captureLog(&buf) |
| + restore := captureLogTo(&buf) |
| defer restore() |
| livenessSaid.Delete("load") |
| for i := 0; i < 2; i++ { |
| @@ -726,7 +726,7 @@ func TestRegionCandidatesFoldTheHomesName(t *testing.T) { |
| // the line carries no caller coordinates (there are none to carry). |
| func TestRegionCandidatesLogAMissingPointOnce(t *testing.T) { |
| var buf bytes.Buffer |
| - restore := captureLog(&buf) |
| + restore := captureLogTo(&buf) |
| defer restore() |
| noPointSaid.Delete("odd") // the throttle is process-wide; -count=N reruns this test |
| odd := edgeJSON("odd-box", "3.3.3.3", "xx-nowhere-1", "odd", eligibleBox) |
diff --git a/internal/console/regionclaim_test.go b/internal/console/regionclaim_test.go| index d8262ecee..c3a98b767 100644 |
| --- a/internal/console/regionclaim_test.go |
| +++ b/internal/console/regionclaim_test.go |
| @@ -167,7 +167,7 @@ func TestClaimLogsOneRegionLineInEverySwitchState(t *testing.T) { |
| fx, token := regionFixture(t) |
| fx.srv.cfg.AppRegions, fx.srv.cfg.HomeRegion = c.on, c.home |
| var logs bytes.Buffer |
| - restore := captureLog(&logs) |
| + restore := captureLogTo(&logs) |
| status, res := postJSON(t, newAppURL(fx), map[string]string{"name": c.app, "region": "uk"}, token) |
| restore() |
| if status != http.StatusOK { |
| @@ -192,7 +192,7 @@ func TestClaimLostAfterResolutionWritesNothing(t *testing.T) { |
| } |
| } |
| var logs bytes.Buffer |
| - restore := captureLog(&logs) |
| + restore := captureLogTo(&logs) |
| status, _ := postJSON(t, newAppURL(fx), map[string]string{"name": "racy", "region": "uk"}, token) |
| restore() |
| if status != http.StatusConflict { |
| @@ -213,7 +213,7 @@ func TestClaimHeldApexWritesNothing(t *testing.T) { |
| fx.srv.cfg.AppsDomain = "oncarlos.test" |
| fx.addRoute(t, registry.Route{Host: "beta." + fx.sqid + ".oncarlos.test", App: "kass", Account: fx.sqid, Kind: "instance"}) |
| var logs bytes.Buffer |
| - restore := captureLog(&logs) |
| + restore := captureLogTo(&logs) |
| status, _ := postJSON(t, newAppURL(fx), map[string]string{"name": "beta", "timezone": "Europe/London"}, token) |
| restore() |
| if status != http.StatusConflict { |
diff --git a/internal/console/regiondefault_test.go b/internal/console/regiondefault_test.go| index 4e51842ae..3b327a150 100644 |
| --- a/internal/console/regiondefault_test.go |
| +++ b/internal/console/regiondefault_test.go |
| @@ -262,7 +262,7 @@ func TestRegionGuessAPIHintsNeverLeak(t *testing.T) { |
| fx.srv.cfg.GeoIP = fakeLocator{"203.0.113.77": geo.Point{Lat: 51.5, Lon: -0.12}} |
| fx.srv.redirects = map[string]bool{"old.example": true} |
| var logs strings.Builder |
| - restore := captureLog(&logs) |
| + restore := captureLogTo(&logs) |
| req, _ := http.NewRequest(http.MethodPost, guessURL(fx), strings.NewReader(c.hints)) |
| req.Host = "old.example" |
| req.Header.Set("Authorization", "Bearer "+token) |
diff --git a/internal/console/regiondrift_test.go b/internal/console/regiondrift_test.go| index 3ca2ce158..83f7f54cd 100644 |
| --- a/internal/console/regiondrift_test.go |
| +++ b/internal/console/regiondrift_test.go |
| @@ -31,7 +31,7 @@ func TestPlacementDiscrepancyLog(t *testing.T) { |
| put(provision.Record{Host: "uk.go.tito.io", Region: "uk"}) |
| put(provision.Record{Host: "drift.go.tito.io"}) |
| var logs strings.Builder |
| - restore := captureLog(&logs) |
| + restore := captureLogTo(&logs) |
| fx.srv.LogPlacementDiscrepancies(ctx) |
| restore() |
| out := logs.String() |
| @@ -59,7 +59,7 @@ func TestPlacementDiscrepancyLogSkipsRecordsOlderThanTheApp(t *testing.T) { |
| t.Fatal(err) |
| } |
| var logs strings.Builder |
| - restore := captureLog(&logs) |
| + restore := captureLogTo(&logs) |
| fx.srv.LogPlacementDiscrepancies(ctx) |
| restore() |
| if strings.Contains(logs.String(), "old.go.tito.io") { |
| @@ -74,7 +74,7 @@ func TestPlacementDiscrepancyLogListError(t *testing.T) { |
| fx.st.CreateAppInRegion(OpsAccountID, "blog", "p@k.dev", "uk", "chosen", time.Now()) |
| fx.srv.cfg.Releases = failingList{fx.rel} |
| var logs strings.Builder |
| - restore := captureLog(&logs) |
| + restore := captureLogTo(&logs) |
| fx.srv.LogPlacementDiscrepancies(context.Background()) |
| restore() |
| want := "console: placement discrepancy check " + release.OpsAccount + "/blog: bucket unreachable" |
| @@ -98,7 +98,7 @@ func TestPlacementDiscrepancyLogTruncated(t *testing.T) { |
| } |
| } |
| var logs strings.Builder |
| - restore := captureLog(&logs) |
| + restore := captureLogTo(&logs) |
| fx.srv.logPlacementDiscrepancies(ctx, 1) |
| restore() |
| want := "console: placement discrepancy check " + release.OpsAccount + "/blog: only the first 1 records were checked" |
| @@ -112,7 +112,7 @@ func TestPlacementDiscrepancyLogNoBucket(t *testing.T) { |
| fx := newConsoleFixture(t) |
| fx.srv.cfg.Releases = nil |
| var logs strings.Builder |
| - restore := captureLog(&logs) |
| + restore := captureLogTo(&logs) |
| fx.srv.LogPlacementDiscrepancies(context.Background()) |
| restore() |
| if logs.Len() != 0 { |
diff --git a/internal/console/regionguess_test.go b/internal/console/regionguess_test.go| index d2e098da2..9408728ea 100644 |
| --- a/internal/console/regionguess_test.go |
| +++ b/internal/console/regionguess_test.go |
| @@ -153,7 +153,7 @@ func TestGuessRegionSkipsSplitCapabilityRegions(t *testing.T) { |
| // misdescribe it. A coded region without a point still logs. |
| func TestRegionCandidatesHomeWithNoPointLogsNoO7(t *testing.T) { |
| var buf bytes.Buffer |
| - restore := captureLog(&buf) |
| + restore := captureLogTo(&buf) |
| defer restore() |
| noPointSaid.Delete("") |
| noPointSaid.Delete("odd") |