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

Function TestWorkspaceUpdateTTL

coderd/workspaces_test.go:3381–3685  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

3379}
3380
3381func TestWorkspaceUpdateTTL(t *testing.T) {
3382 t.Parallel()
3383
3384 testCases := []struct {
3385 name string
3386 ttlMillis *int64
3387 expectedError string
3388 modifyTemplate func(*codersdk.CreateTemplateRequest)
3389 }{
3390 {
3391 name: "disable ttl",
3392 ttlMillis: nil,
3393 expectedError: "",
3394 modifyTemplate: func(ctr *codersdk.CreateTemplateRequest) {
3395 ctr.DefaultTTLMillis = ptr.Ref((8 * time.Hour).Milliseconds())
3396 },
3397 },
3398 {
3399 name: "update ttl",
3400 ttlMillis: ptr.Ref(12 * time.Hour.Milliseconds()),
3401 expectedError: "",
3402 modifyTemplate: func(ctr *codersdk.CreateTemplateRequest) {
3403 ctr.DefaultTTLMillis = ptr.Ref((8 * time.Hour).Milliseconds())
3404 },
3405 },
3406 {
3407 name: "below minimum ttl",
3408 ttlMillis: ptr.Ref((30 * time.Second).Milliseconds()),
3409 expectedError: "time until shutdown must be at least one minute",
3410 },
3411 {
3412 name: "minimum ttl",
3413 ttlMillis: ptr.Ref(time.Minute.Milliseconds()),
3414 expectedError: "",
3415 },
3416 {
3417 name: "maximum ttl",
3418 ttlMillis: ptr.Ref((24 * 30 * time.Hour).Milliseconds()),
3419 expectedError: "",
3420 },
3421 {
3422 name: "above maximum ttl",
3423 ttlMillis: ptr.Ref((24*30*time.Hour + time.Minute).Milliseconds()),
3424 expectedError: "time until shutdown must be less than 30 days",
3425 },
3426 }
3427
3428 for _, testCase := range testCases {
3429 t.Run(testCase.name, func(t *testing.T) {
3430 t.Parallel()
3431
3432 mutators := make([]func(*codersdk.CreateTemplateRequest), 0)
3433 if testCase.modifyTemplate != nil {
3434 mutators = append(mutators, testCase.modifyTemplate)
3435 }
3436 var (
3437 auditor = audit.NewMock()
3438 client = coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true, Auditor: auditor})

Callers

nothing calls this directly

Calls 15

RefFunction · 0.92
NewMockFunction · 0.92
NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
CreateWorkspaceFunction · 0.92
ContextFunction · 0.92
NewWithDatabaseFunction · 0.92
AsSystemRestrictedFunction · 0.92

Tested by

no test coverage detected