@@ -16,6 +16,7 @@ func TestAccConnection_create(t *testing.T) {
1616 description := acctest .RandomWithPrefix ("tf-connection-test-description" )
1717 url := "https://example.com"
1818 defaultPayload := "{\" eventType\" : \" {{Name}}\" }"
19+ resolutionPayload := "{\" eventType\" : \" {{Name}}\" }"
1920 webhookType := "Webhook"
2021
2122 var connection Connection
@@ -26,7 +27,7 @@ func TestAccConnection_create(t *testing.T) {
2627 CheckDestroy : testAccCheckConnectionDestroy ,
2728 Steps : []resource.TestStep {
2829 {
29- Config : createConnectionConfig (name , connectionType , description , url , webhookType , defaultPayload ),
30+ Config : createConnectionConfig (name , connectionType , description , url , webhookType , defaultPayload , resolutionPayload ),
3031 Check : resource .ComposeTestCheckFunc (
3132 testAccCheckConnectionExists ("sumologic_connection.test" , & connection , t ),
3233 testAccCheckConnectionAttributes ("sumologic_connection.test" ),
@@ -35,6 +36,7 @@ func TestAccConnection_create(t *testing.T) {
3536 resource .TestCheckResourceAttr ("sumologic_connection.test" , "description" , description ),
3637 resource .TestCheckResourceAttr ("sumologic_connection.test" , "url" , url ),
3738 resource .TestCheckResourceAttr ("sumologic_connection.test" , "default_payload" , defaultPayload + "\n " ),
39+ resource .TestCheckResourceAttr ("sumologic_connection.test" , "resolution_payload" , resolutionPayload + "\n " ),
3840 resource .TestCheckResourceAttr ("sumologic_connection.test" , "webhook_type" , webhookType ),
3941 ),
4042 },
@@ -48,6 +50,7 @@ func TestAccConnection_createServiceNowWebhook(t *testing.T) {
4850 description := acctest .RandomWithPrefix ("tf-servicenow-webhook-connection-test-description" )
4951 url := "https://example.com"
5052 defaultPayload := "{\" eventType\" : \" {{Name}}\" }"
53+ resolutionPayload := "{\n \" sys_id\" : \" {{SysId}}\" ,\n \" state\" : \" 6\" ,\n \" incident_state\" : \" 6\" ,\n \" work_notes\" : \" Resolved value - Test\" \n }"
5154 webhookType := "ServiceNow"
5255 connectionSubtype := "Incident"
5356
@@ -59,7 +62,8 @@ func TestAccConnection_createServiceNowWebhook(t *testing.T) {
5962 CheckDestroy : testAccCheckConnectionDestroy ,
6063 Steps : []resource.TestStep {
6164 {
62- Config : createServiceNowWebhookConnectionConfig (name , connectionType , description , url , connectionSubtype , defaultPayload ),
65+ Config : createServiceNowWebhookConnectionConfigWithResolutionPayload (name , connectionType , description , url ,
66+ connectionSubtype , defaultPayload , resolutionPayload ),
6367 Check : resource .ComposeTestCheckFunc (
6468 testAccCheckConnectionExists ("sumologic_connection.serviceNowTest" , & connection , t ),
6569 testAccCheckConnectionAttributes ("sumologic_connection.serviceNowTest" ),
@@ -68,6 +72,7 @@ func TestAccConnection_createServiceNowWebhook(t *testing.T) {
6872 resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "description" , description ),
6973 resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "url" , url ),
7074 resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "default_payload" , defaultPayload + "\n " ),
75+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "resolution_payload" , resolutionPayload + "\n " ),
7176 resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "webhook_type" , webhookType ),
7277 resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "connection_subtype" , connectionSubtype ),
7378 ),
@@ -79,41 +84,48 @@ func TestAccConnection_createServiceNowWebhook(t *testing.T) {
7984func TestAccConnection_update (t * testing.T ) {
8085 var connection Connection
8186 connectionType := "WebhookConnection"
82- name := acctest .RandomWithPrefix ("tf-connection-test-name" )
87+ name := acctest .RandomWithPrefix ("tf-servicenow-webhook-connection-test-name" )
88+ description := acctest .RandomWithPrefix ("tf-connection-test-description" )
8389 url := "https://example.com"
84- defaultPayload := `{"eventType" : "{{Name}}"}`
85- webhookType := "Webhook"
86- fDescription := acctest .RandomWithPrefix ("tf-connection-test-description" )
87- sDescription := acctest .RandomWithPrefix ("tf-connection-test-description" )
90+ defaultPayload := "{\" eventType\" : \" {{Name}}\" }"
91+ webhookType := "ServiceNow"
92+ connectionSubtype := "Incident"
93+
94+ updatedDefaultPayload := `{"eventType" : "{{Name}} default updated"}`
95+ updatedResolutionPayload := "{\n \" sys_id\" : \" {{SysId}}\" ,\n \" state\" : \" 6\" ,\n \" incident_state\" : \" 6\" ,\n \" work_notes\" : \" Resolved value - Test\" \n }"
8896
8997 resource .Test (t , resource.TestCase {
9098 PreCheck : func () { testAccPreCheck (t ) },
9199 Providers : testAccProviders ,
92100 CheckDestroy : testAccCheckConnectionDestroy ,
93101 Steps : []resource.TestStep {
94102 {
95- Config : createConnectionConfig (name , connectionType , fDescription , url , webhookType , defaultPayload ),
103+ Config : createServiceNowWebhookConnectionConfig (name , connectionType , description , url , connectionSubtype , defaultPayload ),
96104 Check : resource .ComposeTestCheckFunc (
97- testAccCheckConnectionExists ("sumologic_connection.test" , & connection , t ),
98- testAccCheckConnectionAttributes ("sumologic_connection.test" ),
99- resource .TestCheckResourceAttr ("sumologic_connection.test" , "type" , connectionType ),
100- resource .TestCheckResourceAttr ("sumologic_connection.test" , "name" , name ),
101- resource .TestCheckResourceAttr ("sumologic_connection.test" , "description" , fDescription ),
102- resource .TestCheckResourceAttr ("sumologic_connection.test" , "url" , url ),
103- resource .TestCheckResourceAttr ("sumologic_connection.test" , "default_payload" , defaultPayload + "\n " ),
104- resource .TestCheckResourceAttr ("sumologic_connection.test" , "webhook_type" , webhookType ),
105+ testAccCheckConnectionExists ("sumologic_connection.serviceNowTest" , & connection , t ),
106+ testAccCheckConnectionAttributes ("sumologic_connection.serviceNowTest" ),
107+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "type" , connectionType ),
108+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "name" , name ),
109+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "description" , description ),
110+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "url" , url ),
111+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "default_payload" , defaultPayload + "\n " ),
112+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "webhook_type" , webhookType ),
113+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "connection_subtype" , connectionSubtype ),
105114 ),
106115 }, {
107- Config : createConnectionConfig (name , connectionType , sDescription , url , webhookType , defaultPayload ),
116+ Config : createServiceNowWebhookConnectionConfigWithResolutionPayload (name , connectionType , description , url , connectionSubtype ,
117+ updatedDefaultPayload , updatedResolutionPayload ),
108118 Check : resource .ComposeTestCheckFunc (
109- testAccCheckConnectionExists ("sumologic_connection.test" , & connection , t ),
110- testAccCheckConnectionAttributes ("sumologic_connection.test" ),
111- resource .TestCheckResourceAttr ("sumologic_connection.test" , "type" , connectionType ),
112- resource .TestCheckResourceAttr ("sumologic_connection.test" , "name" , name ),
113- resource .TestCheckResourceAttr ("sumologic_connection.test" , "description" , sDescription ),
114- resource .TestCheckResourceAttr ("sumologic_connection.test" , "url" , url ),
115- resource .TestCheckResourceAttr ("sumologic_connection.test" , "default_payload" , defaultPayload + "\n " ),
116- resource .TestCheckResourceAttr ("sumologic_connection.test" , "webhook_type" , webhookType ),
119+ testAccCheckConnectionExists ("sumologic_connection.serviceNowTest" , & connection , t ),
120+ testAccCheckConnectionAttributes ("sumologic_connection.serviceNowTest" ),
121+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "type" , connectionType ),
122+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "name" , name ),
123+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "description" , description ),
124+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "url" , url ),
125+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "default_payload" , updatedDefaultPayload + "\n " ),
126+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "resolution_payload" , updatedResolutionPayload + "\n " ),
127+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "webhook_type" , webhookType ),
128+ resource .TestCheckResourceAttr ("sumologic_connection.serviceNowTest" , "connection_subtype" , connectionSubtype ),
117129 ),
118130 },
119131 },
@@ -171,7 +183,7 @@ func testAccCheckConnectionDestroy(s *terraform.State) error {
171183 return nil
172184}
173185
174- func createConnectionConfig (name , connectionType , desc , url , webhookType , defaultPayload string ) string {
186+ func createConnectionConfig (name , connectionType , desc , url , webhookType , defaultPayload string , resolutionPayload string ) string {
175187 return fmt .Sprintf (`
176188resource "sumologic_connection" "test" {
177189 name = "%s"
@@ -181,9 +193,12 @@ resource "sumologic_connection" "test" {
181193 webhook_type = "%s"
182194 default_payload = <<JSON
183195%s
196+ JSON
197+ resolution_payload = <<JSON
198+ %s
184199JSON
185200}
186- ` , name , connectionType , desc , url , webhookType , defaultPayload )
201+ ` , name , connectionType , desc , url , webhookType , defaultPayload , resolutionPayload )
187202}
188203
189204func createServiceNowWebhookConnectionConfig (name , connectionType , desc , url , connectionSubtype , defaultPayload string ) string {
@@ -204,3 +219,24 @@ JSON
204219}
205220` , name , connectionType , desc , url , connectionSubtype , defaultPayload )
206221}
222+ func createServiceNowWebhookConnectionConfigWithResolutionPayload (name , connectionType , desc , url , connectionSubtype , defaultPayload string , resolutionPayload string ) string {
223+ return fmt .Sprintf (`
224+ resource "sumologic_connection" "serviceNowTest" {
225+ name = "%s"
226+ type = "%s"
227+ description = "%s"
228+ url = "%s"
229+ headers = {
230+ "Authorization": "Basic SOMERANDOMAUTHSTRING"
231+ }
232+ webhook_type = "ServiceNow"
233+ connection_subtype = "%s"
234+ default_payload = <<JSON
235+ %s
236+ JSON
237+ resolution_payload = <<JSON
238+ %s
239+ JSON
240+ }
241+ ` , name , connectionType , desc , url , connectionSubtype , defaultPayload , resolutionPayload )
242+ }
0 commit comments