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