@@ -51,6 +51,44 @@ func TestThousandeyes_Basic(t *testing.T) {
5151 })
5252}
5353
54+ func TestWebcheck_Basic (t * testing.T ) {
55+ var dataFeed data.Feed
56+ resource .Test (t , resource.TestCase {
57+ PreCheck : func () { testAccPreCheck (t ) },
58+ Providers : testAccProviders ,
59+ CheckDestroy : testAccCheckDataFeedDestroy ,
60+ Steps : []resource.TestStep {
61+ {
62+ Config : testWebcheckBasic ,
63+ Check : resource .ComposeTestCheckFunc (
64+ testAccCheckDataFeedExists ("ns1_datafeed.uswest_feed" , "ns1_datasource.api" , & dataFeed , t ),
65+ testAccCheckDataFeedName (& dataFeed , "uswest_feed" ),
66+ testThousandeyesConfig (& dataFeed , "check_id" , 123 ),
67+ ),
68+ },
69+ },
70+ })
71+ }
72+
73+ func TestDatadog_Basic (t * testing.T ) {
74+ var dataFeed data.Feed
75+ resource .Test (t , resource.TestCase {
76+ PreCheck : func () { testAccPreCheck (t ) },
77+ Providers : testAccProviders ,
78+ CheckDestroy : testAccCheckDataFeedDestroy ,
79+ Steps : []resource.TestStep {
80+ {
81+ Config : testDatadogBasic ,
82+ Check : resource .ComposeTestCheckFunc (
83+ testAccCheckDataFeedExists ("ns1_datafeed.uswest_feed" , "ns1_datasource.api" , & dataFeed , t ),
84+ testAccCheckDataFeedName (& dataFeed , "uswest_feed" ),
85+ testDatadogConfig (& dataFeed , "DataDog Test" , true , true ),
86+ ),
87+ },
88+ },
89+ })
90+ }
91+
5492func TestAccDataFeed_updated (t * testing.T ) {
5593 var dataFeed data.Feed
5694 resource .Test (t , resource.TestCase {
@@ -208,6 +246,25 @@ func testThousandeyesConfig(dataFeed *data.Feed, key string, expected float64) r
208246 }
209247}
210248
249+ func testDatadogConfig (dataFeed * data.Feed , name string , failOnWarning , failOnNoData bool ) resource.TestCheckFunc {
250+ return func (s * terraform.State ) error {
251+
252+ if dataFeed .Config ["test_name" ] != name {
253+ return fmt .Errorf ("dataFeed.Config[name]: got: %#v, want: %s" , dataFeed .Config ["test_name" ], name )
254+ }
255+
256+ if dataFeed .Config ["fail_on_warning" ] != failOnWarning {
257+ return fmt .Errorf ("dataFeed.Config[fail_on_warning]: got: %#v, want: %t" , dataFeed .Config ["fail_on_warning" ], failOnWarning )
258+ }
259+
260+ if dataFeed .Config ["fail_on_no_data" ] != failOnNoData {
261+ return fmt .Errorf ("dataFeed.Config[fail_on_no_data]: got: %#v, want: %t" , dataFeed .Config ["fail_on_no_data" ], failOnNoData )
262+ }
263+
264+ return nil
265+ }
266+ }
267+
211268// Simulate a manual deletion of a data feed.
212269func testAccManualDeleteDataFeed (dataFeed * data.Feed ) func () {
213270 return func () {
@@ -248,6 +305,36 @@ resource "ns1_datafeed" "uswest_feed" {
248305 }
249306}`
250307
308+ const testDatadogBasic = `
309+ resource "ns1_datasource" "api" {
310+ name = "terraform test"
311+ sourcetype = "datadog"
312+ }
313+
314+ resource "ns1_datafeed" "uswest_feed" {
315+ name = "uswest_feed"
316+ source_id = "${ns1_datasource.api.id}"
317+ config = {
318+ fail_on_warning = true
319+ fail_on_no_data = true
320+ test_name = "DataDog Test"
321+ }
322+ }`
323+
324+ const testWebcheckBasic = `
325+ resource "ns1_datasource" "api" {
326+ name = "terraform test"
327+ sourcetype = "webcheck"
328+ }
329+
330+ resource "ns1_datafeed" "uswest_feed" {
331+ name = "uswest_feed"
332+ source_id = "${ns1_datasource.api.id}"
333+ config = {
334+ check_id = "123"
335+ }
336+ }`
337+
251338const testAccDataFeedUpdated = `
252339resource "ns1_datasource" "api" {
253340 name = "terraform test"
0 commit comments