(t *testing.T)
| 311 | } |
| 312 | |
| 313 | func TestPrebuildsSettingsAPI(t *testing.T) { |
| 314 | t.Parallel() |
| 315 | |
| 316 | t.Run("GetSettings", func(t *testing.T) { |
| 317 | t.Parallel() |
| 318 | |
| 319 | client, _ := coderdenttest.New(t, &coderdenttest.Options{ |
| 320 | LicenseOptions: &coderdenttest.LicenseOptions{ |
| 321 | Features: license.Features{ |
| 322 | codersdk.FeatureWorkspacePrebuilds: 1, |
| 323 | }, |
| 324 | }, |
| 325 | }) |
| 326 | |
| 327 | // Get initial settings |
| 328 | //nolint:gocritic // Only owners can change deployment settings |
| 329 | settings, err := client.GetPrebuildsSettings(t.Context()) |
| 330 | require.NoError(t, err) |
| 331 | assert.False(t, settings.ReconciliationPaused) |
| 332 | |
| 333 | // Pause prebuilds |
| 334 | inv1, conf := newCLI(t, "prebuilds", "pause") |
| 335 | //nolint:gocritic // Only owners can change deployment settings |
| 336 | clitest.SetupConfig(t, client, conf) |
| 337 | err = inv1.Run() |
| 338 | require.NoError(t, err) |
| 339 | |
| 340 | // Get settings again |
| 341 | settings, err = client.GetPrebuildsSettings(t.Context()) |
| 342 | require.NoError(t, err) |
| 343 | assert.True(t, settings.ReconciliationPaused) |
| 344 | |
| 345 | // Resume prebuilds |
| 346 | inv2, conf2 := newCLI(t, "prebuilds", "resume") |
| 347 | clitest.SetupConfig(t, client, conf2) |
| 348 | err = inv2.Run() |
| 349 | require.NoError(t, err) |
| 350 | |
| 351 | // Get settings one more time |
| 352 | settings, err = client.GetPrebuildsSettings(t.Context()) |
| 353 | require.NoError(t, err) |
| 354 | assert.False(t, settings.ReconciliationPaused) |
| 355 | }) |
| 356 | } |
| 357 | |
| 358 | // TestSchedulePrebuilds verifies the CLI schedule command when used with prebuilds. |
| 359 | // Running the command on an unclaimed prebuild fails, but after the prebuild is |
nothing calls this directly
no test coverage detected