From 98f21e3a3346e49f1b4662d26428880393dc2e93 Mon Sep 17 00:00:00 2001 From: Glenn Sarti Date: Wed, 29 Jun 2022 11:05:04 +0800 Subject: [PATCH] Update run tasks as not beta Previously Run Tasks was marked as beta in go-tfe. However Run Tasks is now Generally Available. This commit updates go-tfe to mark Run Tasks as not Beta. --- CHANGELOG.md | 3 +-- run_task.go | 9 ++++----- run_task_integration_test.go | 16 ++++++++++------ workspace_run_task_integration_test.go | 17 ++++++++++------- 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f19c8d10a..06df03ebb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * Adds `RetryServerErrors` field to the `Config` object by @sebasslash [#439](https://github.com/hashicorp/go-tfe/pull/439) * Adds support for the GPG Keys API by @sebasslash [#429](https://github.com/hashicorp/go-tfe/pull/429) * [beta] Renames the optional StateVersion field `ExtState` to `JSONState` and changes to string for base64 encoding by @annawinkler [#444](https://github.com/hashicorp/go-tfe/pull/444) +* Remove beta messaging for Run Tasks by @glennsarti [#447](https://github.com/hashicorp/go-tfe/pull/447) # v1.3.0 @@ -26,7 +27,6 @@ * Adds `Emails` query param field to `OrganizationMembershipListOptions` by @sebasslash [#393](https://github.com/hashicorp/go-tfe/pull/393) * Adds Run Tasks API support by @glennsarti [#381](https://github.com/hashicorp/go-tfe/pull/381), [#382](https://github.com/hashicorp/go-tfe/pull/382) and [#383](https://github.com/hashicorp/go-tfe/pull/383) - ## Bug fixes * Fixes ignored comment when performing apply, discard, cancel, and force-cancel run actions [#388](https://github.com/hashicorp/go-tfe/pull/388) @@ -48,7 +48,6 @@ * The `ID` field in Create/Update option structs has been renamed to `Type` in accordance with the JSON:API spec by @omarismail, @uturunku1 [#190](https://github.com/hashicorp/go-tfe/pull/190), [#323](https://github.com/hashicorp/go-tfe/pull/323), [#332](https://github.com/hashicorp/go-tfe/pull/332) * Nested URL params (consisting of an organization, module and provider name) used to identify a `RegistryModule` have been refactored into a struct `RegistryModuleID` by @sebasslash [#337](https://github.com/hashicorp/go-tfe/pull/337) - ## Enhancements * Added missing include fields for `AdminRuns`, `AgentPools`, `ConfigurationVersions`, `OAuthClients`, `Organizations`, `PolicyChecks`, `PolicySets`, `Policies` and `RunTriggers` by @uturunku1 [#339](https://github.com/hashicorp/go-tfe/pull/339) * Cleanup documentation and improve consistency by @uturunku1 [#331](https://github.com/hashicorp/go-tfe/pull/331) diff --git a/run_task.go b/run_task.go index ffbaf0d17..63e66f7f1 100644 --- a/run_task.go +++ b/run_task.go @@ -11,8 +11,7 @@ var _ RunTasks = (*runTasks)(nil) // RunTasks represents all the run task related methods in the context of an organization // that the Terraform Cloud/Enterprise API supports. -// **Note: This API is still in BETA and subject to change.** -// https://www.terraform.io/cloud-docs/api-docs/run-tasks#run-tasks-api +// https://www.terraform.io/cloud-docs/api-docs/run-tasks/run-tasks#run-tasks-api type RunTasks interface { // Create a run task for an organization Create(ctx context.Context, organization string, options RunTaskCreateOptions) (*RunTask, error) @@ -61,7 +60,7 @@ type RunTaskList struct { } // RunTaskIncludeOpt represents the available options for include query params. -// https://www.terraform.io/cloud-docs/api-docs/run-tasks#list-run-tasks +// https://www.terraform.io/cloud-docs/api-docs/run-tasks/run-tasks#list-run-tasks type RunTaskIncludeOpt string const ( @@ -73,14 +72,14 @@ const ( type RunTaskListOptions struct { ListOptions // Optional: A list of relations to include with a run task. See available resources: - // https://www.terraform.io/cloud-docs/api-docs/run-tasks#list-run-tasks + // https://www.terraform.io/cloud-docs/api-docs/run-tasks/run-tasks#list-run-tasks Include []RunTaskIncludeOpt `url:"include,omitempty"` } // RunTaskReadOptions represents the set of options for reading a run task type RunTaskReadOptions struct { // Optional: A list of relations to include with a run task. See available resources: - // https://www.terraform.io/cloud-docs/api-docs/run-tasks#list-run-tasks + // https://www.terraform.io/cloud-docs/api-docs/run-tasks/run-tasks#list-run-tasks Include []RunTaskIncludeOpt `url:"include,omitempty"` } diff --git a/run_task_integration_test.go b/run_task_integration_test.go index e9d08a4d3..b03f009ec 100644 --- a/run_task_integration_test.go +++ b/run_task_integration_test.go @@ -13,7 +13,7 @@ import ( ) func TestRunTasksCreate(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -49,7 +49,7 @@ func TestRunTasksCreate(t *testing.T) { } func TestRunTasksList(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -75,7 +75,7 @@ func TestRunTasksList(t *testing.T) { } func TestRunTasksRead(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -125,7 +125,7 @@ func TestRunTasksRead(t *testing.T) { } func TestRunTasksUpdate(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -151,7 +151,7 @@ func TestRunTasksUpdate(t *testing.T) { } func TestRunTasksDelete(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -181,7 +181,7 @@ func TestRunTasksDelete(t *testing.T) { } func TestRunTasksAttachToWorkspace(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -195,6 +195,10 @@ func TestRunTasksAttachToWorkspace(t *testing.T) { wkspaceTest, wkspaceTestCleanup := createWorkspace(t, client, orgTest) defer wkspaceTestCleanup() + defer func() { + client.WorkspaceRunTasks.Delete(ctx, wkspaceTest.ID, runTaskTest.ID) + }() + t.Run("to a valid workspace", func(t *testing.T) { wr, err := client.RunTasks.AttachToWorkspace(ctx, wkspaceTest.ID, runTaskTest.ID, Advisory) require.NoError(t, err) diff --git a/workspace_run_task_integration_test.go b/workspace_run_task_integration_test.go index 234033588..1b9c54345 100644 --- a/workspace_run_task_integration_test.go +++ b/workspace_run_task_integration_test.go @@ -12,7 +12,7 @@ import ( ) func TestWorkspaceRunTasksCreate(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -33,6 +33,10 @@ func TestWorkspaceRunTasksCreate(t *testing.T) { }) require.NoError(t, err) + defer func() { + client.WorkspaceRunTasks.Delete(ctx, wkspaceTest.ID, wr.ID) + }() + assert.NotEmpty(t, wr.ID) assert.Equal(t, wr.EnforcementLevel, Mandatory) @@ -43,7 +47,7 @@ func TestWorkspaceRunTasksCreate(t *testing.T) { } func TestWorkspaceRunTasksList(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -77,7 +81,7 @@ func TestWorkspaceRunTasksList(t *testing.T) { } func TestWorkspaceRunTasksRead(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -112,7 +116,7 @@ func TestWorkspaceRunTasksRead(t *testing.T) { } func TestWorkspaceRunTasksUpdate(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -143,7 +147,7 @@ func TestWorkspaceRunTasksUpdate(t *testing.T) { } func TestWorkspaceRunTasksDelete(t *testing.T) { - skipIfBeta(t) + skipIfFreeOnly(t) client := testClient(t) ctx := context.Background() @@ -173,8 +177,7 @@ func TestWorkspaceRunTasksDelete(t *testing.T) { }) t.Run("when the workspace does not exist", func(t *testing.T) { - wkspaceTestCleanup() - err := client.WorkspaceRunTasks.Delete(ctx, wkspaceTest.ID, wrTaskTest.ID) + err := client.WorkspaceRunTasks.Delete(ctx, "does-not-exist", wrTaskTest.ID) assert.EqualError(t, err, ErrResourceNotFound.Error()) }) }