Skip to content

Commit 1cbcb11

Browse files
committed
fix: telemetry status shows enabled on/off and skips categories when stopped
1 parent ba5ea92 commit 1cbcb11

2 files changed

Lines changed: 30 additions & 0 deletions

File tree

cmd/browsers.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -799,6 +799,13 @@ func (b BrowsersCmd) TelemetryStatus(ctx context.Context, in BrowsersTelemetrySt
799799
if in.Output == "json" {
800800
return util.PrintPrettyJSON(browser.Telemetry)
801801
}
802+
telemetryEnabled := browser.Telemetry.JSON.Browser.Valid()
803+
if telemetryEnabled {
804+
pterm.Printf("enabled: on\n")
805+
} else {
806+
pterm.Printf("enabled: off\n")
807+
return nil
808+
}
802809
cfg := browser.Telemetry.Browser
803810
pterm.Printf("console: %s\n", categoryOnOff(cfg.Console))
804811
pterm.Printf("interaction: %s\n", categoryOnOff(cfg.Interaction))

cmd/browsers_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1938,6 +1938,7 @@ func TestBrowsersTelemetryStatus_PrintsCategories(t *testing.T) {
19381938

19391939
assert.NoError(t, err)
19401940
out := outBuf.String()
1941+
assert.Contains(t, out, "enabled: on")
19411942
assert.Contains(t, out, "console: on")
19421943
assert.Contains(t, out, "interaction: off")
19431944
assert.Contains(t, out, "network: on")
@@ -1960,12 +1961,34 @@ func TestBrowsersTelemetryStatus_VMDefaultsAllOn(t *testing.T) {
19601961

19611962
assert.NoError(t, err)
19621963
out := outBuf.String()
1964+
assert.Contains(t, out, "enabled: on")
19631965
assert.Contains(t, out, "console: on")
19641966
assert.Contains(t, out, "interaction: on")
19651967
assert.Contains(t, out, "network: on")
19661968
assert.Contains(t, out, "page: on")
19671969
}
19681970

1971+
func TestBrowsersTelemetryStatus_StoppedShowsDisabled(t *testing.T) {
1972+
setupStdoutCapture(t)
1973+
fake := &FakeBrowsersService{GetFunc: func(ctx context.Context, id string, query kernel.BrowserGetParams, opts ...option.RequestOption) (*kernel.BrowserGetResponse, error) {
1974+
// API returns {} (no browser key) after telemetry stop
1975+
var resp kernel.BrowserGetResponse
1976+
if err := json.Unmarshal([]byte(`{"session_id":"session123","telemetry":{}}`), &resp); err != nil {
1977+
t.Fatalf("unmarshal: %v", err)
1978+
}
1979+
return &resp, nil
1980+
}}
1981+
b := BrowsersCmd{browsers: fake}
1982+
1983+
err := b.TelemetryStatus(context.Background(), BrowsersTelemetryStatusInput{Identifier: "session123"})
1984+
1985+
assert.NoError(t, err)
1986+
out := outBuf.String()
1987+
assert.Contains(t, out, "enabled: off")
1988+
assert.NotContains(t, out, "console:")
1989+
assert.NotContains(t, out, "network:")
1990+
}
1991+
19691992
func TestTelemetryStream_UnknownCategoryErrors(t *testing.T) {
19701993
b := BrowsersCmd{browsers: &FakeBrowsersService{}}
19711994

0 commit comments

Comments
 (0)