Skip to content

Commit f9d57d8

Browse files
authored
fix: ignore-order-of-controls (#640)
* fix: ignore-order-of-controls * fix test * fix test fix test fix test
1 parent a269748 commit f9d57d8

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

sysdig/data_source_sysdig_secure_posture_zone_test.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ package sysdig_test
55
import (
66
"fmt"
77
"github.com/draios/terraform-provider-sysdig/sysdig"
8+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
89
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
910
"testing"
1011

@@ -13,6 +14,8 @@ import (
1314
)
1415

1516
func TestAccDataSourceSysdigSecurePostureZones(t *testing.T) {
17+
rID := func() string { return acctest.RandStringFromCharSet(36, acctest.CharSetAlphaNum) }
18+
randomZoneId := fmt.Sprintf("test-zone-%s", rID())
1619
resource.Test(t, resource.TestCase{
1720
PreCheck: preCheckAnyEnv(t, SysdigSecureApiTokenEnv, SysdigIBMSecureAPIKeyEnv),
1821
ProviderFactories: map[string]func() (*schema.Provider, error){
@@ -22,10 +25,10 @@ func TestAccDataSourceSysdigSecurePostureZones(t *testing.T) {
2225
},
2326
Steps: []resource.TestStep{
2427
{
25-
Config: testAccDataSourceSysdigSecurePostureZonesWithMultipleResourcesConfig(),
28+
Config: testAccDataSourceSysdigSecurePostureZonesWithMultipleResourcesConfig(randomZoneId),
2629
Check: resource.ComposeTestCheckFunc(
2730
testAccCheckDataSourceSysdigSecurePostureZonesExists("data.sysdig_secure_posture_zone.test_posture_zone"),
28-
resource.TestCheckResourceAttr("data.sysdig_secure_posture_zone.test_posture_zone", "name", "test-zone-1"),
31+
resource.TestCheckResourceAttr("data.sysdig_secure_posture_zone.test_posture_zone", "name", randomZoneId),
2932
resource.TestCheckResourceAttr("data.sysdig_secure_posture_zone.test_posture_zone", "description", "Test description 1"),
3033
resource.TestCheckTypeSetElemNestedAttrs(
3134
"data.sysdig_secure_posture_zone.test_posture_zone",
@@ -41,10 +44,10 @@ func TestAccDataSourceSysdigSecurePostureZones(t *testing.T) {
4144
})
4245
}
4346

44-
func testAccDataSourceSysdigSecurePostureZonesWithMultipleResourcesConfig() string {
45-
return `
47+
func testAccDataSourceSysdigSecurePostureZonesWithMultipleResourcesConfig(zoneID string) string {
48+
return fmt.Sprintf(`
4649
resource "sysdig_secure_posture_zone" "test_posture_zone" {
47-
name = "test-zone-1"
50+
name = "%s"
4851
description = "Test description 1"
4952
5053
scopes {
@@ -58,7 +61,7 @@ func testAccDataSourceSysdigSecurePostureZonesWithMultipleResourcesConfig() stri
5861
data "sysdig_secure_posture_zone" "test_posture_zone" {
5962
id = sysdig_secure_posture_zone.test_posture_zone.id
6063
}
61-
`
64+
`, zoneID)
6265
}
6366

6467
func testAccCheckDataSourceSysdigSecurePostureZonesExists(resourceName string) resource.TestCheckFunc {

sysdig/resource_sysdig_secure_posture_policy.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func createGroupSchema(i int) *schema.Resource {
2727
Required: true,
2828
},
2929
"requirement": {
30-
Type: schema.TypeList,
30+
Type: schema.TypeSet,
3131
Optional: true,
3232
Elem: &schema.Resource{
3333
Schema: map[string]*schema.Schema{
@@ -44,7 +44,7 @@ func createGroupSchema(i int) *schema.Resource {
4444
Required: true,
4545
},
4646
"control": {
47-
Type: schema.TypeList,
47+
Type: schema.TypeSet,
4848
Optional: true,
4949
Elem: &schema.Resource{
5050
Schema: map[string]*schema.Schema{
@@ -86,7 +86,7 @@ func createGroupSchema(i int) *schema.Resource {
8686
Elem: createGroupSchema(i + 1),
8787
},
8888
"requirement": {
89-
Type: schema.TypeList,
89+
Type: schema.TypeSet,
9090
Optional: true,
9191
Elem: &schema.Resource{
9292
Schema: map[string]*schema.Schema{
@@ -103,7 +103,7 @@ func createGroupSchema(i int) *schema.Resource {
103103
Required: true,
104104
},
105105
"control": {
106-
Type: schema.TypeList,
106+
Type: schema.TypeSet,
107107
Optional: true,
108108
Elem: &schema.Resource{
109109
Schema: map[string]*schema.Schema{
@@ -464,17 +464,17 @@ func extractGroupsRecursive(data interface{}) []v2.CreateRequirementsGroup {
464464
Description: d["description"].(string),
465465
}
466466

467-
if reqs, ok := d["requirement"].([]interface{}); ok {
468-
for _, reqData := range reqs {
467+
if reqs, ok := d["requirement"].(*schema.Set); ok {
468+
for _, reqData := range reqs.List() {
469469
reqMap := reqData.(map[string]interface{})
470470
requirement := v2.CreateRequirement{
471471
ID: reqMap["id"].(string),
472472
Name: reqMap["name"].(string),
473473
Description: reqMap["description"].(string),
474474
}
475475

476-
if controlsData, ok := reqMap["control"].([]interface{}); ok {
477-
for _, controlData := range controlsData {
476+
if controlsData, ok := reqMap["control"].(*schema.Set); ok {
477+
for _, controlData := range controlsData.List() {
478478
controlMap := controlData.(map[string]interface{})
479479
control := v2.CreateRequirementControl{
480480
Name: controlMap["name"].(string),

0 commit comments

Comments
 (0)