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 `