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

Function TestPatchUserSecret

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

Source from the content-addressed store, hash-verified

279}
280
281func TestPatchUserSecret(t *testing.T) {
282 t.Parallel()
283 client := coderdtest.New(t, nil)
284 _ = coderdtest.CreateFirstUser(t, client)
285
286 t.Run("UpdateDescription", func(t *testing.T) {
287 t.Parallel()
288 ctx := testutil.Context(t, testutil.WaitMedium)
289
290 _, err := client.CreateUserSecret(ctx, codersdk.Me, codersdk.CreateUserSecretRequest{
291 Name: "patch-desc-secret",
292 Value: "my-value",
293 Description: "original",
294 EnvName: "PATCH_DESC_ENV",
295 })
296 require.NoError(t, err)
297
298 newDesc := "updated"
299 updated, err := client.UpdateUserSecret(ctx, codersdk.Me, "patch-desc-secret", codersdk.UpdateUserSecretRequest{
300 Description: &newDesc,
301 })
302 require.NoError(t, err)
303 assert.Equal(t, "updated", updated.Description)
304 // Other fields unchanged.
305 assert.Equal(t, "PATCH_DESC_ENV", updated.EnvName)
306 })
307
308 t.Run("NoFields", func(t *testing.T) {
309 t.Parallel()
310 ctx := testutil.Context(t, testutil.WaitMedium)
311
312 _, err := client.CreateUserSecret(ctx, codersdk.Me, codersdk.CreateUserSecretRequest{
313 Name: "patch-nofields-secret",
314 Value: "my-value",
315 })
316 require.NoError(t, err)
317
318 _, err = client.UpdateUserSecret(ctx, codersdk.Me, "patch-nofields-secret", codersdk.UpdateUserSecretRequest{})
319 require.Error(t, err)
320 var sdkErr *codersdk.Error
321 require.ErrorAs(t, err, &sdkErr)
322 assert.Equal(t, http.StatusBadRequest, sdkErr.StatusCode())
323 })
324
325 t.Run("NotFound", func(t *testing.T) {
326 t.Parallel()
327 ctx := testutil.Context(t, testutil.WaitMedium)
328
329 newVal := "new-value"
330 _, err := client.UpdateUserSecret(ctx, codersdk.Me, "nonexistent", codersdk.UpdateUserSecretRequest{
331 Value: &newVal,
332 })
333 require.Error(t, err)
334 var sdkErr *codersdk.Error
335 require.ErrorAs(t, err, &sdkErr)
336 assert.Equal(t, http.StatusNotFound, sdkErr.StatusCode())
337 })
338

Callers

nothing calls this directly

Calls 11

StatusCodeMethod · 0.95
NewFunction · 0.92
CreateFirstUserFunction · 0.92
ContextFunction · 0.92
UpdateUserSecretMethod · 0.80
RunMethod · 0.65
CreateUserSecretMethod · 0.65
EqualMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected