Skip to content

Commit

Permalink
fix: add missing AdminOrganization field (GlobalProviderSharing)
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-ikse committed Jan 16, 2024
1 parent 87f72a7 commit aaaf028
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
2 changes: 2 additions & 0 deletions admin_organization.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ type AdminOrganization struct {
AccessBetaTools bool `jsonapi:"attr,access-beta-tools"`
ExternalID string `jsonapi:"attr,external-id"`
GlobalModuleSharing *bool `jsonapi:"attr,global-module-sharing"`
GlobalProviderSharing *bool `jsonapi:"attr,global-provider-sharing"`
IsDisabled bool `jsonapi:"attr,is-disabled"`
NotificationEmail string `jsonapi:"attr,notification-email"`
SsoEnabled bool `jsonapi:"attr,sso-enabled"`
Expand All @@ -64,6 +65,7 @@ type AdminOrganization struct {
type AdminOrganizationUpdateOptions struct {
AccessBetaTools *bool `jsonapi:"attr,access-beta-tools,omitempty"`
GlobalModuleSharing *bool `jsonapi:"attr,global-module-sharing,omitempty"`
GlobalProviderSharing *bool `jsonapi:"attr,global-provider-sharing,omitempty"`
IsDisabled *bool `jsonapi:"attr,is-disabled,omitempty"`
TerraformBuildWorkerApplyTimeout *string `jsonapi:"attr,terraform-build-worker-apply-timeout,omitempty"`
TerraformBuildWorkerPlanTimeout *string `jsonapi:"attr,terraform-build-worker-plan-timeout,omitempty"`
Expand Down
21 changes: 15 additions & 6 deletions admin_organization_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ func TestAdminOrganizations_Update(t *testing.T) {

accessBetaTools := true
globalModuleSharing := false
globalProviderSharing := false
isDisabled := false
terraformBuildWorkerApplyTimeout := "24h"
terraformBuildWorkerPlanTimeout := "24h"
Expand All @@ -228,6 +229,7 @@ func TestAdminOrganizations_Update(t *testing.T) {
opts := AdminOrganizationUpdateOptions{
AccessBetaTools: &accessBetaTools,
GlobalModuleSharing: &globalModuleSharing,
GlobalProviderSharing: &globalProviderSharing,
IsDisabled: &isDisabled,
TerraformBuildWorkerApplyTimeout: &terraformBuildWorkerApplyTimeout,
TerraformBuildWorkerPlanTimeout: &terraformBuildWorkerPlanTimeout,
Expand All @@ -240,6 +242,7 @@ func TestAdminOrganizations_Update(t *testing.T) {

assert.Equal(t, accessBetaTools, adminOrg.AccessBetaTools)
assert.Equal(t, adminOrg.GlobalModuleSharing, &globalModuleSharing)
assert.Equal(t, adminOrg.GlobalProviderSharing, &globalProviderSharing)
assert.Equal(t, isDisabled, adminOrg.IsDisabled)
assert.Equal(t, terraformBuildWorkerApplyTimeout, adminOrg.TerraformBuildWorkerApplyTimeout)
assert.Equal(t, terraformBuildWorkerPlanTimeout, adminOrg.TerraformBuildWorkerPlanTimeout)
Expand All @@ -248,35 +251,41 @@ func TestAdminOrganizations_Update(t *testing.T) {

isDisabled = true
globalModuleSharing = true
globalProviderSharing = true
workspaceLimit := 42
opts = AdminOrganizationUpdateOptions{
GlobalModuleSharing: &globalModuleSharing,
IsDisabled: &isDisabled,
WorkspaceLimit: &workspaceLimit,
GlobalModuleSharing: &globalModuleSharing,
GlobalProviderSharing: &globalProviderSharing,
IsDisabled: &isDisabled,
WorkspaceLimit: &workspaceLimit,
}

adminOrg, err = client.Admin.Organizations.Update(ctx, org.Name, opts)
require.NoError(t, err)
require.NotNilf(t, adminOrg, "Org returned as nil when it shouldn't be.")

assert.Equal(t, adminOrg.GlobalModuleSharing, &globalModuleSharing)
assert.Equal(t, adminOrg.GlobalProviderSharing, &globalProviderSharing)
assert.Equal(t, adminOrg.IsDisabled, isDisabled)
assert.Equal(t, &workspaceLimit, adminOrg.WorkspaceLimit)

globalModuleSharing = false
globalProviderSharing = false
isDisabled = false
workspaceLimit = 0
opts = AdminOrganizationUpdateOptions{
GlobalModuleSharing: &globalModuleSharing,
IsDisabled: &isDisabled,
WorkspaceLimit: &workspaceLimit,
GlobalModuleSharing: &globalModuleSharing,
GlobalProviderSharing: &globalProviderSharing,
IsDisabled: &isDisabled,
WorkspaceLimit: &workspaceLimit,
}

adminOrg, err = client.Admin.Organizations.Update(ctx, org.Name, opts)
require.NoError(t, err)
require.NotNilf(t, adminOrg, "Org returned as nil when it shouldn't be.")

assert.Equal(t, &globalModuleSharing, adminOrg.GlobalModuleSharing)
assert.Equal(t, &globalProviderSharing, adminOrg.GlobalProviderSharing)
assert.Equal(t, adminOrg.IsDisabled, isDisabled)

assert.Equal(t, &workspaceLimit, adminOrg.WorkspaceLimit)
Expand Down

0 comments on commit aaaf028

Please sign in to comment.