github.com/maheshbr/terraform@v0.3.1-0.20141020033300-deec7194a3ea/builtin/providers/mailgun/provider_test.go (about) 1 package mailgun 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/hashicorp/terraform/config" 8 "github.com/hashicorp/terraform/helper/schema" 9 "github.com/hashicorp/terraform/terraform" 10 "github.com/pearkes/mailgun" 11 ) 12 13 var testAccProviders map[string]terraform.ResourceProvider 14 var testAccProvider *schema.Provider 15 16 func init() { 17 testAccProvider = Provider().(*schema.Provider) 18 testAccProviders = map[string]terraform.ResourceProvider{ 19 "mailgun": testAccProvider, 20 } 21 } 22 23 func TestProvider(t *testing.T) { 24 if err := Provider().(*schema.Provider).InternalValidate(); err != nil { 25 t.Fatalf("err: %s", err) 26 } 27 } 28 29 func TestProvider_impl(t *testing.T) { 30 var _ terraform.ResourceProvider = Provider() 31 } 32 33 func TestProviderConfigure(t *testing.T) { 34 var expectedKey string 35 36 if v := os.Getenv("MAILGUN_API_KEY"); v != "" { 37 expectedKey = v 38 } else { 39 expectedKey = "foo" 40 } 41 42 raw := map[string]interface{}{ 43 "api_key": expectedKey, 44 } 45 46 rawConfig, err := config.NewRawConfig(raw) 47 if err != nil { 48 t.Fatalf("err: %s", err) 49 } 50 51 rp := Provider().(*schema.Provider) 52 err = rp.Configure(terraform.NewResourceConfig(rawConfig)) 53 if err != nil { 54 t.Fatalf("err: %s", err) 55 } 56 57 config := rp.Meta().(*mailgun.Client) 58 if config.ApiKey != expectedKey { 59 t.Fatalf("bad: %#v", config) 60 } 61 } 62 63 func testAccPreCheck(t *testing.T) { 64 if v := os.Getenv("MAILGUN_API_KEY"); v == "" { 65 t.Fatal("MAILGUN_API_KEY must be set for acceptance tests") 66 } 67 }