github.com/adamar/terraform@v0.2.2-0.20141016210445-2e703afdad0e/builtin/providers/dnsimple/resource_provider_test.go (about) 1 package dnsimple 2 3 import ( 4 "os" 5 "reflect" 6 "testing" 7 8 "github.com/hashicorp/terraform/config" 9 "github.com/hashicorp/terraform/terraform" 10 ) 11 12 var testAccProviders map[string]terraform.ResourceProvider 13 var testAccProvider *ResourceProvider 14 15 func init() { 16 testAccProvider = new(ResourceProvider) 17 testAccProviders = map[string]terraform.ResourceProvider{ 18 "dnsimple": testAccProvider, 19 } 20 } 21 22 func TestResourceProvider_impl(t *testing.T) { 23 var _ terraform.ResourceProvider = new(ResourceProvider) 24 } 25 26 func TestResourceProvider_Configure(t *testing.T) { 27 rp := new(ResourceProvider) 28 var expectedToken string 29 var expectedEmail string 30 31 if v := os.Getenv("DNSIMPLE_EMAIL"); v != "" { 32 expectedEmail = v 33 } else { 34 expectedEmail = "foo" 35 } 36 37 if v := os.Getenv("DNSIMPLE_TOKEN"); v != "" { 38 expectedToken = v 39 } else { 40 expectedToken = "foo" 41 } 42 43 raw := map[string]interface{}{ 44 "token": expectedToken, 45 "email": expectedEmail, 46 } 47 48 rawConfig, err := config.NewRawConfig(raw) 49 if err != nil { 50 t.Fatalf("err: %s", err) 51 } 52 53 err = rp.Configure(terraform.NewResourceConfig(rawConfig)) 54 if err != nil { 55 t.Fatalf("err: %s", err) 56 } 57 58 expected := Config{ 59 Token: expectedToken, 60 Email: expectedEmail, 61 } 62 63 if !reflect.DeepEqual(rp.Config, expected) { 64 t.Fatalf("bad: %#v", rp.Config) 65 } 66 } 67 68 func testAccPreCheck(t *testing.T) { 69 if v := os.Getenv("DNSIMPLE_EMAIL"); v == "" { 70 t.Fatal("DNSIMPLE_EMAIL must be set for acceptance tests") 71 } 72 73 if v := os.Getenv("DNSIMPLE_TOKEN"); v == "" { 74 t.Fatal("DNSIMPLE_TOKEN must be set for acceptance tests") 75 } 76 77 if v := os.Getenv("DNSIMPLE_DOMAIN"); v == "" { 78 t.Fatal("DNSIMPLE_DOMAIN must be set for acceptance tests. The domain is used to ` and destroy record against.") 79 } 80 }