(t *testing.T)
| 496 | } |
| 497 | |
| 498 | func TestSecretDelete(t *testing.T) { |
| 499 | t.Parallel() |
| 500 | |
| 501 | t.Run("Success", func(t *testing.T) { |
| 502 | t.Parallel() |
| 503 | |
| 504 | client := coderdtest.New(t, nil) |
| 505 | _ = coderdtest.CreateFirstUser(t, client) |
| 506 | |
| 507 | setupCtx := testutil.Context(t, testutil.WaitMedium) |
| 508 | _, err := client.CreateUserSecret(setupCtx, codersdk.Me, codersdk.CreateUserSecretRequest{ |
| 509 | Name: "service-token", |
| 510 | Value: "service-token-value", |
| 511 | }) |
| 512 | require.NoError(t, err) |
| 513 | |
| 514 | inv, root := clitest.New(t, "secret", "delete", "service-token") |
| 515 | clitest.SetupConfig(t, client, root) |
| 516 | |
| 517 | ctx := testutil.Context(t, testutil.WaitMedium) |
| 518 | inv = inv.WithContext(ctx) |
| 519 | pty := ptytest.New(t).Attach(inv) |
| 520 | waiter := clitest.StartWithWaiter(t, inv) |
| 521 | pty.ExpectMatchContext(ctx, "Delete secret") |
| 522 | pty.ExpectMatchContext(ctx, "service-token") |
| 523 | pty.WriteLine("yes") |
| 524 | pty.ExpectMatchContext(ctx, "Deleted secret") |
| 525 | |
| 526 | require.NoError(t, waiter.Wait()) |
| 527 | |
| 528 | _, err = client.UserSecretByName(setupCtx, codersdk.Me, "service-token") |
| 529 | require.Error(t, err) |
| 530 | var sdkErr *codersdk.Error |
| 531 | require.ErrorAs(t, err, &sdkErr) |
| 532 | require.Equal(t, http.StatusNotFound, sdkErr.StatusCode()) |
| 533 | }) |
| 534 | |
| 535 | t.Run("YesSkipsPrompt", func(t *testing.T) { |
| 536 | t.Parallel() |
| 537 | |
| 538 | client := coderdtest.New(t, nil) |
| 539 | _ = coderdtest.CreateFirstUser(t, client) |
| 540 | |
| 541 | setupCtx := testutil.Context(t, testutil.WaitMedium) |
| 542 | _, err := client.CreateUserSecret(setupCtx, codersdk.Me, codersdk.CreateUserSecretRequest{ |
| 543 | Name: "service-token", |
| 544 | Value: "service-token-value", |
| 545 | }) |
| 546 | require.NoError(t, err) |
| 547 | |
| 548 | inv, root := clitest.New(t, "secret", "delete", "service-token", "--yes") |
| 549 | output := clitest.Capture(inv) |
| 550 | clitest.SetupConfig(t, client, root) |
| 551 | |
| 552 | ctx := testutil.Context(t, testutil.WaitMedium) |
| 553 | err = inv.WithContext(ctx).Run() |
| 554 | require.NoError(t, err) |
| 555 | require.Contains(t, output.Stdout(), "Deleted secret") |
nothing calls this directly
no test coverage detected