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

Function TestPatchActiveTemplateVersion

coderd/templateversions_test.go:1315–1453  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1313}
1314
1315func TestPatchActiveTemplateVersion(t *testing.T) {
1316 t.Parallel()
1317 t.Run("NotFound", func(t *testing.T) {
1318 t.Parallel()
1319 client := coderdtest.New(t, nil)
1320 user := coderdtest.CreateFirstUser(t, client)
1321 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
1322 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
1323
1324 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
1325 defer cancel()
1326
1327 err := client.UpdateActiveTemplateVersion(ctx, template.ID, codersdk.UpdateActiveTemplateVersion{
1328 ID: uuid.New(),
1329 })
1330 var apiErr *codersdk.Error
1331 require.ErrorAs(t, err, &apiErr)
1332 require.Equal(t, http.StatusNotFound, apiErr.StatusCode())
1333 })
1334
1335 t.Run("CanceledBuild", func(t *testing.T) {
1336 t.Parallel()
1337 client := coderdtest.New(t, nil)
1338 user := coderdtest.CreateFirstUser(t, client)
1339 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
1340 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
1341 version = coderdtest.UpdateTemplateVersion(t, client, user.OrganizationID, nil, template.ID)
1342
1343 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
1344 defer cancel()
1345
1346 err := client.CancelTemplateVersion(ctx, version.ID)
1347 require.NoError(t, err)
1348 coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
1349 err = client.UpdateActiveTemplateVersion(ctx, template.ID, codersdk.UpdateActiveTemplateVersion{
1350 ID: version.ID,
1351 })
1352 var apiErr *codersdk.Error
1353 require.ErrorAs(t, err, &apiErr)
1354 require.Equal(t, http.StatusForbidden, apiErr.StatusCode())
1355 require.Contains(t, apiErr.Detail, "canceled")
1356 })
1357
1358 t.Run("PendingBuild", func(t *testing.T) {
1359 t.Parallel()
1360 client := coderdtest.New(t, nil)
1361 user := coderdtest.CreateFirstUser(t, client)
1362 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
1363 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
1364 version = coderdtest.UpdateTemplateVersion(t, client, user.OrganizationID, nil, template.ID)
1365
1366 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
1367 defer cancel()
1368
1369 err := client.UpdateActiveTemplateVersion(ctx, template.ID, codersdk.UpdateActiveTemplateVersion{
1370 ID: version.ID,
1371 })
1372 var apiErr *codersdk.Error

Callers

nothing calls this directly

Calls 15

StatusCodeMethod · 0.95
NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
UpdateTemplateVersionFunction · 0.92
NewMockFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleTemplateAdminFunction · 0.92
CancelTemplateVersionMethod · 0.80

Tested by

no test coverage detected