github.com/peterbale/terraform@v0.9.0-beta2.0.20170315142748-5723acd55547/builtin/providers/circonus/resource_circonus_check_icmp_ping_test.go (about)

     1  package circonus
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/hashicorp/terraform/helper/acctest"
     8  	"github.com/hashicorp/terraform/helper/resource"
     9  )
    10  
    11  func TestAccCirconusCheckICMPPing_basic(t *testing.T) {
    12  	checkName := fmt.Sprintf("ICMP Ping check - %s", acctest.RandString(5))
    13  
    14  	resource.Test(t, resource.TestCase{
    15  		PreCheck:     func() { testAccPreCheck(t) },
    16  		Providers:    testAccProviders,
    17  		CheckDestroy: testAccCheckDestroyCirconusCheckBundle,
    18  		Steps: []resource.TestStep{
    19  			{
    20  				Config: fmt.Sprintf(testAccCirconusCheckICMPPingConfigFmt, checkName),
    21  				Check: resource.ComposeTestCheckFunc(
    22  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "active", "true"),
    23  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "collector.#", "1"),
    24  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "collector.2388330941.id", "/broker/1"),
    25  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "icmp_ping.#", "1"),
    26  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "icmp_ping.979664239.availability", "100"),
    27  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "icmp_ping.979664239.count", "5"),
    28  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "icmp_ping.979664239.interval", "500ms"),
    29  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "name", checkName),
    30  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "period", "300s"),
    31  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.#", "5"),
    32  
    33  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.784357201.name", "available"),
    34  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.784357201.tags.#", "2"),
    35  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.784357201.tags.2087084518", "author:terraform"),
    36  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.784357201.tags.1401442048", "lifecycle:unittest"),
    37  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.784357201.type", "numeric"),
    38  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.784357201.unit", "%"),
    39  
    40  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.3166992875.name", "average"),
    41  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.3166992875.tags.#", "2"),
    42  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.3166992875.tags.2087084518", "author:terraform"),
    43  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.3166992875.tags.1401442048", "lifecycle:unittest"),
    44  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.3166992875.type", "numeric"),
    45  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.3166992875.unit", "seconds"),
    46  
    47  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.809361245.name", "count"),
    48  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.809361245.tags.#", "2"),
    49  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.809361245.tags.2087084518", "author:terraform"),
    50  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.809361245.tags.1401442048", "lifecycle:unittest"),
    51  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.809361245.type", "numeric"),
    52  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.809361245.unit", "packets"),
    53  
    54  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.839816201.name", "maximum"),
    55  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.839816201.tags.#", "2"),
    56  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.839816201.tags.2087084518", "author:terraform"),
    57  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.839816201.tags.1401442048", "lifecycle:unittest"),
    58  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.839816201.type", "numeric"),
    59  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.839816201.unit", "seconds"),
    60  
    61  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.1657693034.name", "minimum"),
    62  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.1657693034.tags.#", "2"),
    63  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.1657693034.tags.2087084518", "author:terraform"),
    64  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.1657693034.tags.1401442048", "lifecycle:unittest"),
    65  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.1657693034.type", "numeric"),
    66  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "metric.1657693034.unit", "seconds"),
    67  
    68  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "tags.#", "2"),
    69  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "tags.2087084518", "author:terraform"),
    70  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "tags.1401442048", "lifecycle:unittest"),
    71  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "target", "api.circonus.com"),
    72  					resource.TestCheckResourceAttr("circonus_check.loopback_latency", "type", "ping_icmp"),
    73  				),
    74  			},
    75  		},
    76  	})
    77  }
    78  
    79  const testAccCirconusCheckICMPPingConfigFmt = `
    80  variable "test_tags" {
    81    type = "list"
    82    default = [ "author:terraform", "lifecycle:unittest" ]
    83  }
    84  resource "circonus_check" "loopback_latency" {
    85    active = true
    86    name = "%s"
    87    period = "300s"
    88  
    89    collector {
    90      id = "/broker/1"
    91    }
    92  
    93    icmp_ping {
    94      availability = "100.0"
    95      count = 5
    96      interval = "500ms"
    97    }
    98  
    99    metric {
   100      name = "available"
   101      tags = [ "${var.test_tags}" ]
   102      type = "numeric"
   103      unit = "%%"
   104    }
   105  
   106    metric {
   107      name = "average"
   108      tags = [ "${var.test_tags}" ]
   109      type = "numeric"
   110      unit = "seconds"
   111    }
   112  
   113    metric {
   114      name = "count"
   115      tags = [ "${var.test_tags}" ]
   116      type = "numeric"
   117      unit = "packets"
   118    }
   119  
   120    metric {
   121      name = "maximum"
   122      tags = [ "${var.test_tags}" ]
   123      type = "numeric"
   124      unit = "seconds"
   125    }
   126  
   127    metric {
   128      name = "minimum"
   129      tags = [ "${var.test_tags}" ]
   130      type = "numeric"
   131      unit = "seconds"
   132    }
   133  
   134    tags = [ "${var.test_tags}" ]
   135    target = "api.circonus.com"
   136  }
   137  `