Skip to content

Commit 307b692

Browse files
committed
Add test for hsdp_iam_group_membership. Refs #311
Signed-off-by: Andy Lo-A-Foe <[email protected]>
1 parent bdb235a commit 307b692

File tree

4 files changed

+79
-5
lines changed

4 files changed

+79
-5
lines changed

internal/provider/provider.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import (
55
"encoding/json"
66
"os"
77

8+
"github.com/philips-software/terraform-provider-hsdp/internal/services/iam/group_membership"
9+
810
"github.com/google/fhir/go/fhirversion"
911
"github.com/google/fhir/go/jsonformat"
1012
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
@@ -317,7 +319,7 @@ func Provider(build string) *schema.Provider {
317319
"hsdp_connect_mdm_application": mdm.ResourceMDMApplication(),
318320
"hsdp_connect_mdm_firmware_component_version": mdm.ResourceConnectMDMFirmwareComponentVersion(),
319321
"hsdp_connect_mdm_firmware_distribution_request": mdm.ResourceConnectMDMFirmwareDistributionRequest(),
320-
"hsdp_iam_group_membership": iam.ResourceIAMGroupMembership(),
322+
"hsdp_iam_group_membership": group_membership.ResourceIAMGroupMembership(),
321323
"hsdp_dicom_notification": dicom.ResourceDICOMNotification(),
322324
"hsdp_cdr_practitioner": practitioner.ResourceCDRPractitioner(),
323325
"hsdp_iam_role_sharing_policy": role_sharing_policy.ResourceRoleSharingPolicy(),

internal/provider/provider_test.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
package provider
1+
package provider_test
22

33
import (
44
"testing"
5+
6+
"github.com/philips-software/terraform-provider-hsdp/internal/provider"
57
)
68

79
func TestProvider(t *testing.T) {
8-
if err := Provider("v0.0.0").InternalValidate(); err != nil {
10+
if err := provider.Provider("v0.0.0").InternalValidate(); err != nil {
911
t.Fatalf("err: %s", err)
1012
}
1113
}
1214

1315
func TestProvider_impl(t *testing.T) {
14-
var _ = Provider("v0.0.0")
16+
var _ = provider.Provider("v0.0.0")
1517
}

internal/services/iam/resource_iam_group_membership.go internal/services/iam/group_membership/resource_iam_group_membership.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package iam
1+
package group_membership
22

33
import (
44
"context"
@@ -7,6 +7,7 @@ import (
77

88
"github.com/cenkalti/backoff/v4"
99
"github.com/google/uuid"
10+
1011
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1112
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1213
"github.com/philips-software/go-hsdp-api/iam"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package group_membership_test
2+
3+
import (
4+
"fmt"
5+
"testing"
6+
7+
"github.com/hashicorp/terraform-plugin-testing/helper/acctest"
8+
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
9+
"github.com/philips-software/terraform-provider-hsdp/internal/acc"
10+
)
11+
12+
func TestAccResourceIAMGroupMembership_basic(t *testing.T) {
13+
t.Parallel()
14+
15+
resourceName := "hsdp_iam_user.test"
16+
parentOrgID := acc.AccIAMOrgGUID()
17+
randomName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)
18+
19+
resource.Test(t, resource.TestCase{
20+
PreCheck: func() {
21+
acc.PreCheck(t)
22+
},
23+
ProviderFactories: acc.ProviderFactories,
24+
Steps: []resource.TestStep{
25+
{
26+
ResourceName: resourceName,
27+
Config: testAccResourceIAMUser(parentOrgID, randomName),
28+
Check: resource.ComposeTestCheckFunc(
29+
resource.TestCheckResourceAttr(resourceName, "organization_id", parentOrgID),
30+
),
31+
},
32+
},
33+
})
34+
}
35+
36+
func testAccResourceIAMUser(parentOrgID, name string) string {
37+
return fmt.Sprintf(`
38+
resource "hsdp_iam_user" "test" {
39+
login = "%s"
40+
email = "acceptance+%[email protected]"
41+
first_name = "ACC"
42+
last_name = "Developer"
43+
password = "DoNot@123"
44+
organization_id = "%s"
45+
}
46+
47+
resource "hsdp_iam_group" "test" {
48+
name = "test-%s"
49+
managing_organization = "%s"
50+
description = "Acceptance Test for User"
51+
users = []
52+
roles = []
53+
54+
drift_detection = false
55+
}
56+
57+
resource "hsdp_iam_group_membership" "test" {
58+
iam_group_id = hsdp_iam_group.test.id
59+
users = [hsdp_iam_user.test.id]
60+
}
61+
`,
62+
// IAM_USER
63+
name, name, parentOrgID,
64+
// IAM_GROUP
65+
name,
66+
parentOrgID,
67+
// IAM_GROUP_MEMBERSHIP
68+
)
69+
}

0 commit comments

Comments
 (0)