MCPcopy Index your code
hub / github.com/coder/coder / TestPostUserSecret

Function TestPostUserSecret

coderd/usersecrets_test.go:17–208  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

15)
16
17func TestPostUserSecret(t *testing.T) {
18 t.Parallel()
19 client := coderdtest.New(t, nil)
20 _ = coderdtest.CreateFirstUser(t, client)
21
22 t.Run("Success", func(t *testing.T) {
23 t.Parallel()
24 ctx := testutil.Context(t, testutil.WaitMedium)
25
26 secret, err := client.CreateUserSecret(ctx, codersdk.Me, codersdk.CreateUserSecretRequest{
27 Name: "github-token",
28 Value: "ghp_xxxxxxxxxxxx",
29 Description: "Personal GitHub PAT",
30 EnvName: "GITHUB_TOKEN",
31 FilePath: "~/.github-token",
32 })
33 require.NoError(t, err)
34 assert.Equal(t, "github-token", secret.Name)
35 assert.Equal(t, "Personal GitHub PAT", secret.Description)
36 assert.Equal(t, "GITHUB_TOKEN", secret.EnvName)
37 assert.Equal(t, "~/.github-token", secret.FilePath)
38 assert.NotZero(t, secret.ID)
39 assert.NotZero(t, secret.CreatedAt)
40 })
41
42 t.Run("MissingName", func(t *testing.T) {
43 t.Parallel()
44 ctx := testutil.Context(t, testutil.WaitMedium)
45
46 _, err := client.CreateUserSecret(ctx, codersdk.Me, codersdk.CreateUserSecretRequest{
47 Value: "some-value",
48 })
49 requireSecretValidationContainsError(t, err, http.StatusBadRequest, "name", "required")
50 })
51
52 t.Run("MissingValue", func(t *testing.T) {
53 t.Parallel()
54 ctx := testutil.Context(t, testutil.WaitMedium)
55
56 _, err := client.CreateUserSecret(ctx, codersdk.Me, codersdk.CreateUserSecretRequest{
57 Name: "missing-value-secret",
58 })
59 requireSecretValidationContainsError(t, err, http.StatusBadRequest, "value", "required")
60 })
61
62 t.Run("InvalidName", func(t *testing.T) {
63 t.Parallel()
64 ctx := testutil.Context(t, testutil.WaitMedium)
65
66 _, err := client.CreateUserSecret(ctx, codersdk.Me, codersdk.CreateUserSecretRequest{
67 Name: "foo/bar",
68 Value: "some-value",
69 })
70 requireSecretValidationContainsError(t, err, http.StatusBadRequest, "name", "must not contain")
71 })
72
73 t.Run("WhitespaceName", func(t *testing.T) {
74 t.Parallel()

Callers

nothing calls this directly

Calls 8

NewFunction · 0.92
CreateFirstUserFunction · 0.92
ContextFunction · 0.92
RunMethod · 0.65
CreateUserSecretMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected