66
77 "github.com/hashicorp/terraform-plugin-sdk/helper/resource"
88 "github.com/hashicorp/terraform-plugin-sdk/terraform"
9+ "github.com/stretchr/testify/assert"
910)
1011
1112func TestAccSumologicCSECustomInsight_createAndUpdate (t * testing.T ) {
@@ -35,7 +36,7 @@ func TestAccSumologicCSECustomInsight_createAndUpdate(t *testing.T) {
3536 ordered , name , severity , signalName1 , signalName2 , tag ),
3637 Check : resource .ComposeTestCheckFunc (
3738 testCheckCSECustomInsightExists (resourceName , & CustomInsight ),
38- testCheckCustomInsightValues (& CustomInsight , description , enabled ,
39+ testCheckCustomInsightValues (t , & CustomInsight , description , enabled ,
3940 ordered , name , severity , signalName1 , signalName2 , tag ),
4041 resource .TestCheckResourceAttrSet (resourceName , "id" ),
4142 ),
@@ -46,12 +47,62 @@ func TestAccSumologicCSECustomInsight_createAndUpdate(t *testing.T) {
4647 signalName2 , tag ),
4748 Check : resource .ComposeTestCheckFunc (
4849 testCheckCSECustomInsightExists (resourceName , & CustomInsight ),
49- testCheckCustomInsightValues (& CustomInsight , description , enabled ,
50+ testCheckCustomInsightValues (t , & CustomInsight , description , enabled ,
5051 ordered , nameUpdated , severityUpdated , signalName1 ,
5152 signalName2 , tag ),
5253 resource .TestCheckResourceAttrSet (resourceName , "id" ),
5354 ),
5455 },
56+ {
57+ ResourceName : resourceName ,
58+ ImportState : true ,
59+ ImportStateVerify : true ,
60+ },
61+ },
62+ })
63+ }
64+
65+ func TestAccSumologicCSECustomInsight_createAndUpdateWithDynamicSeverity (t * testing.T ) {
66+ SkipCseTest (t )
67+
68+ var CustomInsight CSECustomInsight
69+ minimumSignalSeverity1 := 5
70+ dynamicSeverity1 := "MEDIUM"
71+ minimumSignalSeverity2 := 8
72+ dynamicSeverity2 := "HIGH"
73+
74+ updatedMinimumSignalSeverity2 := 9
75+ updatedDynamicSeverity2 := "CRITICAL"
76+
77+ resourceName := "sumologic_cse_custom_insight.custom_insight2"
78+ resource .Test (t , resource.TestCase {
79+ PreCheck : func () { testAccPreCheck (t ) },
80+ Providers : testAccProviders ,
81+ CheckDestroy : testAccCSECustomInsightDestroy ,
82+ Steps : []resource.TestStep {
83+ {
84+ Config : testCreateCSECustomInsightConfigWithDynamicSeverity (minimumSignalSeverity1 , dynamicSeverity1 , minimumSignalSeverity2 , dynamicSeverity2 ),
85+ Check : resource .ComposeTestCheckFunc (
86+ testCheckCSECustomInsightExists (resourceName , & CustomInsight ),
87+ testCheckCustomInsightDynamicSeverity (t , & CustomInsight ,
88+ minimumSignalSeverity1 , dynamicSeverity1 , minimumSignalSeverity2 , dynamicSeverity2 ),
89+ resource .TestCheckResourceAttrSet (resourceName , "id" ),
90+ ),
91+ },
92+ {
93+ Config : testCreateCSECustomInsightConfigWithDynamicSeverity (minimumSignalSeverity1 , dynamicSeverity1 , updatedMinimumSignalSeverity2 , updatedDynamicSeverity2 ),
94+ Check : resource .ComposeTestCheckFunc (
95+ testCheckCSECustomInsightExists (resourceName , & CustomInsight ),
96+ testCheckCustomInsightDynamicSeverity (t , & CustomInsight ,
97+ minimumSignalSeverity1 , dynamicSeverity1 , updatedMinimumSignalSeverity2 , updatedDynamicSeverity2 ),
98+ resource .TestCheckResourceAttrSet (resourceName , "id" ),
99+ ),
100+ },
101+ {
102+ ResourceName : resourceName ,
103+ ImportState : true ,
104+ ImportStateVerify : true ,
105+ },
55106 },
56107 })
57108}
@@ -96,6 +147,28 @@ resource "sumologic_cse_custom_insight" "custom_insight" {
96147 signalName2 , tag )
97148}
98149
150+ func testCreateCSECustomInsightConfigWithDynamicSeverity (
151+ minimumSignalSeverity1 int , dynamicSeverity1 string , minimumSignalSeverity2 int , dynamicSeverity2 string ) string {
152+ return fmt .Sprintf (`
153+ resource "sumologic_cse_custom_insight" "custom_insight2" {
154+ description = "Dynamic severity insight"
155+ enabled = true
156+ ordered = true
157+ name = "Dynamic severity insight"
158+ severity = "LOW"
159+ dynamic_severity {
160+ minimum_signal_severity = %d
161+ insight_severity = "%s"
162+ }
163+ dynamic_severity {
164+ minimum_signal_severity = %d
165+ insight_severity = "%s"
166+ }
167+ tags = ["test tag"]
168+ }
169+ ` , minimumSignalSeverity1 , dynamicSeverity1 , minimumSignalSeverity2 , dynamicSeverity2 )
170+ }
171+
99172func testCheckCSECustomInsightExists (n string , CustomInsight * CSECustomInsight ) resource.TestCheckFunc {
100173 return func (s * terraform.State ) error {
101174 rs , ok := s .RootModule ().Resources [n ]
@@ -104,7 +177,7 @@ func testCheckCSECustomInsightExists(n string, CustomInsight *CSECustomInsight)
104177 }
105178
106179 if rs .Primary .ID == "" {
107- return fmt .Errorf ("chain rule ID is not set" )
180+ return fmt .Errorf ("CustomInsight ID is not set" )
108181 }
109182
110183 c := testAccProvider .Meta ().(* Client )
@@ -119,35 +192,30 @@ func testCheckCSECustomInsightExists(n string, CustomInsight *CSECustomInsight)
119192 }
120193}
121194
122- func testCheckCustomInsightValues (CustomInsight * CSECustomInsight , description string ,
195+ func testCheckCustomInsightValues (t * testing. T , CustomInsight * CSECustomInsight , description string ,
123196 enabled bool , ordered bool , name string , severity string , signalName1 string ,
124197 signalName2 string , tag string ) resource.TestCheckFunc {
125198 return func (s * terraform.State ) error {
126- if CustomInsight .Description != description {
127- return fmt .Errorf ("bad description, expected \" %s\" , got %#v" , description , CustomInsight .Description )
128- }
129- if CustomInsight .Enabled != enabled {
130- return fmt .Errorf ("bad enabled, expected \" %t\" , got %#v" , enabled , CustomInsight .Enabled )
131- }
132- if CustomInsight .Ordered != ordered {
133- return fmt .Errorf ("bad ordered, expected \" %t\" , got %#v" , ordered , CustomInsight .Ordered )
134- }
135- if CustomInsight .Name != name {
136- return fmt .Errorf ("bad name, expected \" %s\" , got %#v" , name , CustomInsight .Name )
137- }
138- if CustomInsight .Severity != severity {
139- return fmt .Errorf ("bad severity, expected \" %s\" , got %#v" , severity , CustomInsight .Severity )
140- }
141- if CustomInsight .SignalNames [0 ] != signalName1 {
142- return fmt .Errorf ("bad signalName1, expected \" %s\" , got %#v" , signalName1 , CustomInsight .SignalNames [0 ])
143- }
144- if CustomInsight .SignalNames [1 ] != signalName2 {
145- return fmt .Errorf ("bad signalName2, expected \" %s\" , got %#v" , signalName2 , CustomInsight .SignalNames [1 ])
146- }
147- if CustomInsight .Tags [0 ] != tag {
148- return fmt .Errorf ("bad tag, expected \" %s\" , got %#v" , tag , CustomInsight .Tags [0 ])
149- }
199+ assert .Equal (t , description , CustomInsight .Description )
200+ assert .Equal (t , enabled , CustomInsight .Enabled )
201+ assert .Equal (t , ordered , CustomInsight .Ordered )
202+ assert .Equal (t , name , CustomInsight .Name )
203+ assert .Equal (t , severity , CustomInsight .Severity )
204+ assert .Equal (t , signalName1 , CustomInsight .SignalNames [0 ])
205+ assert .Equal (t , signalName2 , CustomInsight .SignalNames [1 ])
206+ assert .Equal (t , tag , CustomInsight .Tags [0 ])
207+ return nil
208+ }
209+ }
150210
211+ func testCheckCustomInsightDynamicSeverity (t * testing.T , CustomInsight * CSECustomInsight ,
212+ minimumSignalSeverity1 int , dynamicSeverity1 string , minimumSignalSeverity2 int , dynamicSeverity2 string ) resource.TestCheckFunc {
213+
214+ return func (s * terraform.State ) error {
215+ assert .Equal (t , minimumSignalSeverity1 , CustomInsight .DynamicSeverity [0 ].MinimumSignalSeverity )
216+ assert .Equal (t , dynamicSeverity1 , CustomInsight .DynamicSeverity [0 ].InsightSeverity )
217+ assert .Equal (t , minimumSignalSeverity2 , CustomInsight .DynamicSeverity [1 ].MinimumSignalSeverity )
218+ assert .Equal (t , dynamicSeverity2 , CustomInsight .DynamicSeverity [1 ].InsightSeverity )
151219 return nil
152220 }
153221}
0 commit comments