Skip to content

Commit fa65ec4

Browse files
authored
Merge branch 'main' into cli-coverage-update
2 parents ba27f41 + da1c511 commit fa65ec4

File tree

3 files changed

+8
-55
lines changed

3 files changed

+8
-55
lines changed

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,6 @@ Commands with JSON output support:
213213
- `--output json`, `-o json` - Output raw JSON object
214214
- _Note: When a pool is specified, omit other session configuration flags—pool settings determine profile, proxy, viewport, etc._
215215
- `kernel browsers delete <id>` - Delete a browser
216-
- `-y, --yes` - Skip confirmation prompt
217216
- `kernel browsers view <id>` - Get live view URL for a browser
218217
- `--output json`, `-o json` - Output JSON with liveViewUrl
219218
- `kernel browsers get <id>` - Get detailed browser session info
@@ -519,7 +518,7 @@ kernel browsers create --kiosk
519518
kernel browsers create --profile-name my-profile
520519

521520
# Delete a browser
522-
kernel browsers delete browser123 --yes
521+
kernel browsers delete browser123
523522

524523
# Get live view URL
525524
kernel browsers view browser123

cmd/browsers.go

Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,7 @@ type BrowsersCreateInput struct {
176176
}
177177

178178
type BrowsersDeleteInput struct {
179-
Identifier string
180-
SkipConfirm bool
179+
Identifier string
181180
}
182181

183182
type BrowsersViewInput struct {
@@ -415,39 +414,7 @@ func buildBrowserTableData(sessionID, cdpURL, liveViewURL string, persistence ke
415414
}
416415

417416
func (b BrowsersCmd) Delete(ctx context.Context, in BrowsersDeleteInput) error {
418-
if !in.SkipConfirm {
419-
found, err := b.browsers.Get(ctx, in.Identifier)
420-
if err != nil {
421-
return util.CleanedUpSdkError{Err: err}
422-
}
423-
424-
confirmMsg := fmt.Sprintf("Are you sure you want to delete browser \"%s\"?", in.Identifier)
425-
pterm.DefaultInteractiveConfirm.DefaultText = confirmMsg
426-
result, _ := pterm.DefaultInteractiveConfirm.Show()
427-
if !result {
428-
pterm.Info.Println("Deletion cancelled")
429-
return nil
430-
}
431-
432-
if found.Persistence.ID == in.Identifier {
433-
err = b.browsers.Delete(ctx, kernel.BrowserDeleteParams{PersistentID: in.Identifier})
434-
if err != nil && !util.IsNotFound(err) {
435-
return util.CleanedUpSdkError{Err: err}
436-
}
437-
pterm.Success.Printf("Successfully deleted browser: %s\n", in.Identifier)
438-
return nil
439-
}
440-
441-
pterm.Info.Printf("Deleting browser: %s\n", in.Identifier)
442-
err = b.browsers.DeleteByID(ctx, in.Identifier)
443-
if err != nil && !util.IsNotFound(err) {
444-
return util.CleanedUpSdkError{Err: err}
445-
}
446-
pterm.Success.Printf("Successfully deleted browser: %s\n", in.Identifier)
447-
return nil
448-
}
449-
450-
// Skip confirmation: try both deletion modes without listing first
417+
// Try both deletion modes without confirmation
451418
// Treat not found as a success (idempotent delete)
452419
var nonNotFoundErrors []error
453420

@@ -2286,8 +2253,6 @@ func init() {
22862253
browsersCreateCmd.Flags().String("pool-id", "", "Browser pool ID to acquire from (mutually exclusive with --pool-name)")
22872254
browsersCreateCmd.Flags().String("pool-name", "", "Browser pool name to acquire from (mutually exclusive with --pool-id)")
22882255

2289-
// Add flags for delete command
2290-
browsersDeleteCmd.Flags().BoolP("yes", "y", false, "Skip confirmation prompt")
22912256

22922257
// no flags for view; it takes a single positional argument
22932258
}
@@ -2446,13 +2411,12 @@ func runBrowsersCreate(cmd *cobra.Command, args []string) error {
24462411

24472412
func runBrowsersDelete(cmd *cobra.Command, args []string) error {
24482413
client := getKernelClient(cmd)
2449-
skipConfirm, _ := cmd.Flags().GetBool("yes")
24502414

24512415
svc := client.Browsers
24522416
b := BrowsersCmd{browsers: &svc}
24532417
// Iterate all provided identifiers
24542418
for _, identifier := range args {
2455-
if err := b.Delete(cmd.Context(), BrowsersDeleteInput{Identifier: identifier, SkipConfirm: skipConfirm}); err != nil {
2419+
if err := b.Delete(cmd.Context(), BrowsersDeleteInput{Identifier: identifier}); err != nil {
24562420
return err
24572421
}
24582422
}

cmd/browsers_test.go

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ func TestBrowsersCreate_PrintsErrorOnFailure(t *testing.T) {
243243
assert.Contains(t, err.Error(), "create failed")
244244
}
245245

246-
func TestBrowsersDelete_SkipConfirm_Success(t *testing.T) {
246+
func TestBrowsersDelete_Success(t *testing.T) {
247247
setupStdoutCapture(t)
248248

249249
fake := &FakeBrowsersService{
@@ -255,13 +255,13 @@ func TestBrowsersDelete_SkipConfirm_Success(t *testing.T) {
255255
},
256256
}
257257
b := BrowsersCmd{browsers: fake}
258-
_ = b.Delete(context.Background(), BrowsersDeleteInput{Identifier: "any", SkipConfirm: true})
258+
_ = b.Delete(context.Background(), BrowsersDeleteInput{Identifier: "any"})
259259

260260
out := outBuf.String()
261261
assert.Contains(t, out, "Successfully deleted (or already absent) browser: any")
262262
}
263263

264-
func TestBrowsersDelete_SkipConfirm_Failure(t *testing.T) {
264+
func TestBrowsersDelete_Failure(t *testing.T) {
265265
setupStdoutCapture(t)
266266

267267
fake := &FakeBrowsersService{
@@ -273,23 +273,13 @@ func TestBrowsersDelete_SkipConfirm_Failure(t *testing.T) {
273273
},
274274
}
275275
b := BrowsersCmd{browsers: fake}
276-
err := b.Delete(context.Background(), BrowsersDeleteInput{Identifier: "any", SkipConfirm: true})
276+
err := b.Delete(context.Background(), BrowsersDeleteInput{Identifier: "any"})
277277

278278
assert.Error(t, err)
279279
errMsg := err.Error()
280280
assert.True(t, strings.Contains(errMsg, "right failed") || strings.Contains(errMsg, "left failed"), "expected error message to contain either 'right failed' or 'left failed', got: %s", errMsg)
281281
}
282282

283-
func TestBrowsersDelete_WithConfirm_NotFound(t *testing.T) {
284-
setupStdoutCapture(t)
285-
286-
fake := &FakeBrowsersService{}
287-
b := BrowsersCmd{browsers: fake}
288-
err := b.Delete(context.Background(), BrowsersDeleteInput{Identifier: "missing", SkipConfirm: false})
289-
290-
assert.Error(t, err)
291-
assert.Contains(t, err.Error(), "not found")
292-
}
293283

294284
func TestBrowsersView_ByID_PrintsURL(t *testing.T) {
295285
// Capture both pterm output and raw stdout

0 commit comments

Comments
 (0)