github.com/vtorhonen/terraform@v0.9.0-beta2.0.20170307220345-5d894e4ffda7/builtin/providers/pagerduty/data_source_pagerduty_vendor_test.go (about)

     1  package pagerduty
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/hashicorp/terraform/helper/resource"
     8  	"github.com/hashicorp/terraform/terraform"
     9  )
    10  
    11  func TestAccDataSourcePagerDutyVendor_Basic(t *testing.T) {
    12  	resource.Test(t, resource.TestCase{
    13  		PreCheck:     func() { testAccPreCheck(t) },
    14  		Providers:    testAccProviders,
    15  		CheckDestroy: testAccCheckPagerDutyScheduleDestroy,
    16  		Steps: []resource.TestStep{
    17  			resource.TestStep{
    18  				Config: testAccDataSourcePagerDutyVendorConfig,
    19  				Check: resource.ComposeTestCheckFunc(
    20  					testAccDataSourcePagerDutyVendor("data.pagerduty_vendor.foo"),
    21  				),
    22  			},
    23  		},
    24  	})
    25  }
    26  
    27  func TestAccDataSourcePagerDutyVendorLegacy_Basic(t *testing.T) {
    28  	resource.Test(t, resource.TestCase{
    29  		PreCheck:     func() { testAccPreCheck(t) },
    30  		Providers:    testAccProviders,
    31  		CheckDestroy: testAccCheckPagerDutyScheduleDestroy,
    32  		Steps: []resource.TestStep{
    33  			resource.TestStep{
    34  				Config: testAccDataSourcePagerDutyVendorLegacyConfig,
    35  				Check: resource.ComposeTestCheckFunc(
    36  					testAccDataSourcePagerDutyVendorLegacy("data.pagerduty_vendor.foo"),
    37  				),
    38  			},
    39  		},
    40  	})
    41  }
    42  
    43  func testAccDataSourcePagerDutyVendor(n string) resource.TestCheckFunc {
    44  	return func(s *terraform.State) error {
    45  
    46  		r := s.RootModule().Resources[n]
    47  		a := r.Primary.Attributes
    48  
    49  		if a["id"] == "" {
    50  			return fmt.Errorf("Expected to get a vendor ID from PagerDuty")
    51  		}
    52  
    53  		if a["id"] != "PZQ6AUS" {
    54  			return fmt.Errorf("Expected the Datadog Vendor ID to be: PZQ6AUS, but got: %s", a["id"])
    55  		}
    56  
    57  		if a["name"] != "Amazon Cloudwatch" {
    58  			return fmt.Errorf("Expected the Datadog Vendor Name to be: Datadog, but got: %s", a["name"])
    59  		}
    60  
    61  		if a["type"] != "api" {
    62  			return fmt.Errorf("Expected the Datadog Vendor Type to be: api, but got: %s", a["type"])
    63  		}
    64  
    65  		return nil
    66  	}
    67  }
    68  
    69  func testAccDataSourcePagerDutyVendorLegacy(n string) resource.TestCheckFunc {
    70  	return func(s *terraform.State) error {
    71  
    72  		r := s.RootModule().Resources[n]
    73  		a := r.Primary.Attributes
    74  
    75  		if a["id"] == "" {
    76  			return fmt.Errorf("Expected to get a vendor ID from PagerDuty")
    77  		}
    78  
    79  		if a["id"] != "PAM4FGS" {
    80  			return fmt.Errorf("Expected the Datadog Vendor ID to be: PAM4FGS, but got: %s", a["id"])
    81  		}
    82  
    83  		if a["name"] != "Datadog" {
    84  			return fmt.Errorf("Expected the Datadog Vendor Name to be: Datadog, but got: %s", a["name"])
    85  		}
    86  
    87  		if a["type"] != "generic_events_api_inbound_integration" {
    88  			return fmt.Errorf("Expected the Datadog Vendor Type to be: generic_events_api_inbound_integration, but got: %s", a["type"])
    89  		}
    90  
    91  		return nil
    92  	}
    93  }
    94  
    95  const testAccDataSourcePagerDutyVendorConfig = `
    96  data "pagerduty_vendor" "foo" {
    97    name = "cloudwatch"
    98  }
    99  `
   100  
   101  const testAccDataSourcePagerDutyVendorLegacyConfig = `
   102  data "pagerduty_vendor" "foo" {
   103    name_regex = "Datadog"
   104  }
   105  `