(t *testing.T)
| 279 | } |
| 280 | |
| 281 | func 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 |
nothing calls this directly
no test coverage detected