github.com/adamar/terraform@v0.2.2-0.20141016210445-2e703afdad0e/builtin/providers/heroku/provider_test.go (about) 1 package heroku 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 ) 11 12 var testAccProviders map[string]terraform.ResourceProvider 13 var testAccProvider *schema.Provider 14 15 func init() { 16 testAccProvider = Provider().(*schema.Provider) 17 testAccProviders = map[string]terraform.ResourceProvider{ 18 "heroku": testAccProvider, 19 } 20 } 21 22 func TestProvider(t *testing.T) { 23 if err := Provider().(*schema.Provider).InternalValidate(); err != nil { 24 t.Fatalf("err: %s", err) 25 } 26 } 27 28 func TestProvider_impl(t *testing.T) { 29 var _ terraform.ResourceProvider = Provider() 30 } 31 32 func TestProviderConfigure(t *testing.T) { 33 var expectedKey string 34 var expectedEmail string 35 36 if v := os.Getenv("HEROKU_EMAIL"); v != "" { 37 expectedEmail = v 38 } else { 39 expectedEmail = "foo" 40 } 41 42 if v := os.Getenv("HEROKU_API_KEY"); v != "" { 43 expectedKey = v 44 } else { 45 expectedKey = "foo" 46 } 47 48 raw := map[string]interface{}{ 49 "api_key": expectedKey, 50 "email": expectedEmail, 51 } 52 53 rawConfig, err := config.NewRawConfig(raw) 54 if err != nil { 55 t.Fatalf("err: %s", err) 56 } 57 58 rp := Provider() 59 err = rp.Configure(terraform.NewResourceConfig(rawConfig)) 60 if err != nil { 61 t.Fatalf("err: %s", err) 62 } 63 } 64 65 func testAccPreCheck(t *testing.T) { 66 if v := os.Getenv("HEROKU_EMAIL"); v == "" { 67 t.Fatal("HEROKU_EMAIL must be set for acceptance tests") 68 } 69 70 if v := os.Getenv("HEROKU_API_KEY"); v == "" { 71 t.Fatal("HEROKU_API_KEY must be set for acceptance tests") 72 } 73 }