Skip to content

Commit c5950e0

Browse files
committed
adjust acc tests
1 parent 7bcdc52 commit c5950e0

File tree

5 files changed

+22
-2
lines changed

5 files changed

+22
-2
lines changed

stackit/internal/services/observability/instance/resource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2148,7 +2148,7 @@ func toChildRoutePayload(ctx context.Context, routeTF *routeModelMiddle) (*obser
21482148
Matchers: matchersPayload,
21492149
Receiver: conversion.StringValueToPointer(routeTF.Receiver),
21502150
RepeatInterval: conversion.StringValueToPointer(routeTF.RepeatInterval),
2151-
// Routes: childRoutesPayload,
2151+
// Routes not currently supported
21522152
}, nil
21532153
}
21542154

stackit/internal/services/observability/observability_acc_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ var testConfigVarsMax = config.Variables{
100100
"smtp_smart_host": config.StringVariable("smtp.gmail.com:587"),
101101
"match": config.StringVariable("alert1"),
102102
"match_regex": config.StringVariable("alert1"),
103+
"matchers": config.StringVariable("instance =~ \".*\""),
103104
// logalertgroup
104105
"logalertgroup_for_time": config.StringVariable("60s"),
105106
"logalertgroup_label": config.StringVariable("label1"),
@@ -134,6 +135,7 @@ func configVarsMaxUpdated() config.Variables {
134135
tempConfig["webhook_configs_url"] = config.StringVariable("https://chat.googleapis.com/api")
135136
tempConfig["ms_teams"] = config.StringVariable("false")
136137
tempConfig["google_chat"] = config.StringVariable("true")
138+
tempConfig["matchers"] = config.StringVariable("instance =~ \"my.*\"")
137139
return tempConfig
138140
}
139141

@@ -529,6 +531,8 @@ func TestAccResourceMax(t *testing.T) {
529531
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.repeat_interval", testutil.ConvertConfigVariable(testConfigVarsMax["repeat_interval"])),
530532
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.match.match1", testutil.ConvertConfigVariable(testConfigVarsMax["match"])),
531533
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.match_regex.match_regex1", testutil.ConvertConfigVariable(testConfigVarsMax["match_regex"])),
534+
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.matchers.0", testutil.ConvertConfigVariable(testConfigVarsMax["matchers"])),
535+
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.matchers.#", "1"),
532536

533537
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.global.opsgenie_api_key", testutil.ConvertConfigVariable(testConfigVarsMax["opsgenie_api_key"])),
534538
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.global.opsgenie_api_url", testutil.ConvertConfigVariable(testConfigVarsMax["opsgenie_api_url"])),
@@ -692,6 +696,8 @@ func TestAccResourceMax(t *testing.T) {
692696
resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "alert_config.route.routes.0.repeat_interval", testutil.ConvertConfigVariable(testConfigVarsMax["repeat_interval"])),
693697
resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "alert_config.route.routes.0.match.match1", testutil.ConvertConfigVariable(testConfigVarsMax["match"])),
694698
resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "alert_config.route.routes.0.match_regex.match_regex1", testutil.ConvertConfigVariable(testConfigVarsMax["match_regex"])),
699+
resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "alert_config.route.routes.0.matchers.0", testutil.ConvertConfigVariable(testConfigVarsMax["matchers"])),
700+
resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "alert_config.route.routes.0.matchers.#", "1"),
695701

696702
resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "alert_config.global.opsgenie_api_key", testutil.ConvertConfigVariable(testConfigVarsMax["opsgenie_api_key"])),
697703
resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "alert_config.global.opsgenie_api_url", testutil.ConvertConfigVariable(testConfigVarsMax["opsgenie_api_url"])),
@@ -916,6 +922,8 @@ func TestAccResourceMax(t *testing.T) {
916922
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.repeat_interval", testutil.ConvertConfigVariable(testConfigVarsMax["repeat_interval"])),
917923
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.match.match1", testutil.ConvertConfigVariable(testConfigVarsMax["match"])),
918924
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.match_regex.match_regex1", testutil.ConvertConfigVariable(testConfigVarsMax["match_regex"])),
925+
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.matchers.0", testutil.ConvertConfigVariable(configVarsMaxUpdated()["matchers"])),
926+
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.route.routes.0.matchers.#", "1"),
919927

920928
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.global.opsgenie_api_key", testutil.ConvertConfigVariable(testConfigVarsMax["opsgenie_api_key"])),
921929
resource.TestCheckResourceAttr("stackit_observability_instance.instance", "alert_config.global.opsgenie_api_url", testutil.ConvertConfigVariable(testConfigVarsMax["opsgenie_api_url"])),

stackit/internal/services/observability/testdata/resource-max.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ variable "smtp_from" {}
4242
variable "smtp_smart_host" {}
4343
variable "match" {}
4444
variable "match_regex" {}
45+
variable "matchers" {}
4546

4647
variable "logalertgroup_name" {}
4748
variable "logalertgroup_alert" {}
@@ -151,6 +152,9 @@ resource "stackit_observability_instance" "instance" {
151152
match_regex = {
152153
match_regex1 = var.match_regex
153154
}
155+
matchers = [
156+
var.matchers
157+
]
154158
}
155159
]
156160
},

stackit/internal/testutil/testutil.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,10 @@ func ConvertConfigVariable(variable config.Variable) string {
556556
tmpByteArray, _ := variable.MarshalJSON()
557557
// In case the variable is a string, the quotes should be removed
558558
if tmpByteArray[0] == '"' && tmpByteArray[len(tmpByteArray)-1] == '"' {
559-
return string(tmpByteArray[1 : len(tmpByteArray)-1])
559+
result := string(tmpByteArray[1 : len(tmpByteArray)-1])
560+
// Replace escaped quotes which where added MarshalJSON
561+
rawString := strings.ReplaceAll(result, `\"`, `"`)
562+
return rawString
560563
}
561564
return string(tmpByteArray)
562565
}

stackit/internal/testutil/testutil_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ func TestConvertConfigVariable(t *testing.T) {
3232
variable: config.IntegerVariable(10),
3333
want: "10",
3434
},
35+
{
36+
name: "quoted string",
37+
variable: config.StringVariable(`instance =~ ".*"`),
38+
want: `instance =~ ".*"`,
39+
},
3540
}
3641
for _, tt := range tests {
3742
t.Run(tt.name, func(t *testing.T) {

0 commit comments

Comments
 (0)