Skip to content

Commit ceb3096

Browse files
committed
add tests for IBM
1 parent 0c84a35 commit ceb3096

File tree

4 files changed

+133
-7
lines changed

4 files changed

+133
-7
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
//go:build tf_acc_ibm_monitor
2+
3+
package sysdig_test
4+
5+
import (
6+
"fmt"
7+
"testing"
8+
9+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
10+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
11+
12+
"github.com/draios/terraform-provider-sysdig/sysdig"
13+
)
14+
15+
func TestAccDataSourceSysdigMonitorTeam(t *testing.T) {
16+
name := fmt.Sprintf("test-monitor-team-%s", randomText(5))
17+
resource.Test(t, resource.TestCase{
18+
PreCheck: preCheckAnyEnv(t, SysdigIBMMonitorAPIKeyEnv),
19+
ProviderFactories: map[string]func() (*schema.Provider, error){
20+
"sysdig": func() (*schema.Provider, error) {
21+
return sysdig.Provider(), nil
22+
},
23+
},
24+
Steps: []resource.TestStep{
25+
{
26+
Config: monitorTeamResourceAndDatasource(name),
27+
Check: resource.ComposeTestCheckFunc(
28+
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test_dt", "name", name),
29+
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test_dt", "enable_ibm_platform_metrics", "true"),
30+
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test_dt", "ibm_platform_metrics", "foo in (\"0\") and bar in (\"3\")"),
31+
),
32+
},
33+
},
34+
})
35+
}
36+
37+
func monitorTeamWithPlatformMetricsIBM(name string) string {
38+
return fmt.Sprintf(`
39+
resource "sysdig_monitor_team" "test" {
40+
name = "%s"
41+
enable_ibm_platform_metrics = true
42+
ibm_platform_metrics = "foo in (\"0\") and bar in (\"3\")"
43+
44+
entrypoint {
45+
type = "Dashboards"
46+
}
47+
}
48+
49+
data "sysdig_monitor_team" "test_dt" {
50+
id = sysdig_monitor_team.sample.id
51+
}
52+
`, name)
53+
}

sysdig/data_source_sysdig_monitor_team_test.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//go:build tf_acc_sysdig_monitor || tf_acc_onprem_monitor || tf_acc_ibm_monitor
1+
//go:build tf_acc_sysdig_monitor || tf_acc_onprem_monitor
22

33
package sysdig_test
44

@@ -13,9 +13,9 @@ import (
1313
)
1414

1515
func TestAccDataSourceSysdigMonitorTeam(t *testing.T) {
16-
name := fmt.Sprintf("test-monitor-team-%s", randomText(10))
16+
name := fmt.Sprintf("test-monitor-team-%s", randomText(5))
1717
resource.Test(t, resource.TestCase{
18-
PreCheck: preCheckAnyEnv(t, SysdigMonitorApiTokenEnv, SysdigIBMMonitorAPIKeyEnv),
18+
PreCheck: preCheckAnyEnv(t, SysdigMonitorApiTokenEnv),
1919
ProviderFactories: map[string]func() (*schema.Provider, error){
2020
"sysdig": func() (*schema.Provider, error) {
2121
return sysdig.Provider(), nil
@@ -26,6 +26,12 @@ func TestAccDataSourceSysdigMonitorTeam(t *testing.T) {
2626
Config: monitorTeamResourceAndDatasource(name),
2727
Check: resource.ComposeTestCheckFunc(
2828
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test", "name", name),
29+
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test", "description", "A monitor team"),
30+
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test", "scope_by", "host"),
31+
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test", "filter", "container.image.repo = \"sysdig/agent\""),
32+
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test", "can_use_sysdig_capture", "true"),
33+
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test", "can_see_infrastructure_events", "true"),
34+
resource.TestCheckResourceAttr("data.sysdig_monitor_team.test", "can_use_aws_data", "true"),
2935
),
3036
},
3137
},
@@ -36,11 +42,12 @@ func monitorTeamResourceAndDatasource(name string) string {
3642
return fmt.Sprintf(`
3743
resource "sysdig_monitor_team" "sample" {
3844
name = "%s"
39-
description = "A monitor secure team"
45+
description = "A monitor team"
4046
scope_by = "host"
4147
filter = "container.image.repo = \"sysdig/agent\""
4248
can_use_sysdig_capture = true
4349
can_see_infrastructure_events = true
50+
can_use_aws_data = true
4451
4552
entrypoint {
4653
type = "Dashboards"
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
//go:build tf_acc_ibm_secure
2+
3+
package sysdig_test
4+
5+
import (
6+
"fmt"
7+
"testing"
8+
9+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
10+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
11+
12+
"github.com/draios/terraform-provider-sysdig/sysdig"
13+
)
14+
15+
func TestAccDataSourceSysdigSecureTeamIBM(t *testing.T) {
16+
name := fmt.Sprintf("test-secure-team-%s", randomText(5))
17+
resource.Test(t, resource.TestCase{
18+
PreCheck: preCheckAnyEnv(t, SysdigIBMSecureAPIKeyEnv),
19+
ProviderFactories: map[string]func() (*schema.Provider, error){
20+
"sysdig": func() (*schema.Provider, error) {
21+
return sysdig.Provider(), nil
22+
},
23+
},
24+
Steps: []resource.TestStep{
25+
{
26+
Config: secureTeamResourceAndDatasource(name),
27+
Check: resource.ComposeTestCheckFunc(
28+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test_dt", "name", name),
29+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test_dt", "description", "A secure team"),
30+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test_dt", "enable_ibm_platform_metrics", "true"),
31+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test_dt", "ibm_platform_metrics", "foo in (\"0\") and bar in (\"3\")"),
32+
),
33+
},
34+
},
35+
})
36+
}
37+
38+
func secureTeamWithPlatformMetricsIBM(name string) string {
39+
return fmt.Sprintf(`
40+
resource "sysdig_secure_team" "test" {
41+
name = "%s"
42+
enable_ibm_platform_metrics = true
43+
ibm_platform_metrics = "foo in (\"0\") and bar in (\"3\")"
44+
45+
entrypoint {
46+
type = "Dashboards"
47+
}
48+
}
49+
50+
data "sysdig_secure_team" "test_dt" {
51+
id = sysdig_secure_team.sample.id
52+
}
53+
`, name)
54+
}

sysdig/data_source_sysdig_secure_team_test.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//go:build tf_acc_sysdig_secure || tf_acc_onprem_secure || tf_acc_ibm_secure
1+
//go:build tf_acc_sysdig_secure || tf_acc_onprem_secure
22

33
package sysdig_test
44

@@ -14,7 +14,7 @@ import (
1414
func TestAccDataSourceSysdigSecureTeam(t *testing.T) {
1515
name := fmt.Sprintf("test-secure-team-%s", randomText(5))
1616
resource.Test(t, resource.TestCase{
17-
PreCheck: preCheckAnyEnv(t, SysdigSecureApiTokenEnv, SysdigIBMSecureAPIKeyEnv),
17+
PreCheck: preCheckAnyEnv(t, SysdigSecureApiTokenEnv),
1818
ProviderFactories: map[string]func() (*schema.Provider, error){
1919
"sysdig": func() (*schema.Provider, error) {
2020
return sysdig.Provider(), nil
@@ -25,6 +25,14 @@ func TestAccDataSourceSysdigSecureTeam(t *testing.T) {
2525
Config: secureTeamAndDatasource(name),
2626
Check: resource.ComposeTestCheckFunc(
2727
resource.TestCheckResourceAttr("data.sysdig_secure_team.test", "name", name),
28+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test", "description", "A test secure team"),
29+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test", "scope_by", "container"),
30+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test", "filter", "container.image.repo = \"sysdig/agent\""),
31+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test", "version", "0"),
32+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test", "can_use_sysdig_capture", "true"),
33+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test", "can_see_infrastructure_events", "true"),
34+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test", "can_use_aws_data", "false"),
35+
resource.TestCheckResourceAttr("data.sysdig_secure_team.test", "all_zones", "true"),
2836
),
2937
},
3038
},
@@ -34,10 +42,14 @@ func TestAccDataSourceSysdigSecureTeam(t *testing.T) {
3442
func secureTeamAndDatasource(name string) string {
3543
return fmt.Sprintf(`
3644
resource "sysdig_secure_team" "sample" {
37-
name = "%s"
45+
name = "%s"
3846
description = "A test secure team"
3947
scope_by = "container"
48+
can_use_sysdig_capture = true
49+
can_see_infrastructure_events = true
4050
filter = "container.image.repo = \"sysdig/agent\""
51+
can_use_aws_data = false
52+
all_zones = true
4153
}
4254
4355
data "sysdig_secure_team" "test" {

0 commit comments

Comments
 (0)