github.com/bengesoff/terraform@v0.3.1-0.20141018223233-b25a53629922/builtin/providers/aws/resource_provider_test.go (about) 1 package aws 2 3 import ( 4 "log" 5 "os" 6 "reflect" 7 "testing" 8 9 "github.com/hashicorp/terraform/config" 10 "github.com/hashicorp/terraform/terraform" 11 ) 12 13 var testAccProviders map[string]terraform.ResourceProvider 14 var testAccProvider *ResourceProvider 15 16 func init() { 17 testAccProvider = new(ResourceProvider) 18 testAccProviders = map[string]terraform.ResourceProvider{ 19 "aws": testAccProvider, 20 } 21 } 22 23 func TestResourceProvider_impl(t *testing.T) { 24 var _ terraform.ResourceProvider = new(ResourceProvider) 25 } 26 27 func TestResourceProvider_Configure(t *testing.T) { 28 rp := new(ResourceProvider) 29 30 raw := map[string]interface{}{ 31 "access_key": "foo", 32 "secret_key": "bar", 33 "region": "us-east-1", 34 } 35 36 rawConfig, err := config.NewRawConfig(raw) 37 if err != nil { 38 t.Fatalf("err: %s", err) 39 } 40 41 err = rp.Configure(terraform.NewResourceConfig(rawConfig)) 42 if err != nil { 43 t.Fatalf("err: %s", err) 44 } 45 46 expected := Config{ 47 AccessKey: "foo", 48 SecretKey: "bar", 49 Region: "us-east-1", 50 } 51 52 if !reflect.DeepEqual(rp.Config, expected) { 53 t.Fatalf("bad: %#v", rp.Config) 54 } 55 56 if rp.p == nil { 57 t.Fatal("provider should be set") 58 } 59 if !reflect.DeepEqual(rp, rp.p.Meta()) { 60 t.Fatalf("meta should be set") 61 } 62 } 63 64 func TestResourceProvider_ConfigureBadRegion(t *testing.T) { 65 rp := new(ResourceProvider) 66 67 raw := map[string]interface{}{ 68 "access_key": "foo", 69 "secret_key": "bar", 70 "region": "blah", 71 } 72 73 rawConfig, err := config.NewRawConfig(raw) 74 if err != nil { 75 t.Fatalf("err: %s", err) 76 } 77 78 err = rp.Configure(terraform.NewResourceConfig(rawConfig)) 79 if err == nil { 80 t.Fatalf("should have err: bad region") 81 } 82 } 83 84 func testAccPreCheck(t *testing.T) { 85 if v := os.Getenv("AWS_ACCESS_KEY"); v == "" { 86 t.Fatal("AWS_ACCESS_KEY must be set for acceptance tests") 87 } 88 if v := os.Getenv("AWS_SECRET_KEY"); v == "" { 89 t.Fatal("AWS_SECRET_KEY must be set for acceptance tests") 90 } 91 if v := os.Getenv("AWS_REGION"); v == "" { 92 log.Println("[INFO] Test: Using us-west-2 as test region") 93 os.Setenv("AWS_REGION", "us-west-2") 94 } 95 }