2014-05-30 02:28:38 +02:00
|
|
|
package aws
|
|
|
|
|
|
|
|
import (
|
2014-07-10 20:31:16 +02:00
|
|
|
"log"
|
2014-07-10 22:38:04 +02:00
|
|
|
"os"
|
2014-06-24 04:01:57 +02:00
|
|
|
"reflect"
|
2014-05-30 02:28:38 +02:00
|
|
|
"testing"
|
|
|
|
|
2014-06-24 04:01:57 +02:00
|
|
|
"github.com/hashicorp/terraform/config"
|
2014-05-30 02:28:38 +02:00
|
|
|
"github.com/hashicorp/terraform/terraform"
|
|
|
|
)
|
|
|
|
|
2014-07-10 20:31:16 +02:00
|
|
|
var testAccProviders map[string]terraform.ResourceProvider
|
|
|
|
var testAccProvider *ResourceProvider
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
testAccProvider = new(ResourceProvider)
|
|
|
|
testAccProviders = map[string]terraform.ResourceProvider{
|
|
|
|
"aws": testAccProvider,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-05-30 02:28:38 +02:00
|
|
|
func TestResourceProvider_impl(t *testing.T) {
|
|
|
|
var _ terraform.ResourceProvider = new(ResourceProvider)
|
|
|
|
}
|
2014-06-24 04:01:57 +02:00
|
|
|
|
|
|
|
func TestResourceProvider_Configure(t *testing.T) {
|
|
|
|
rp := new(ResourceProvider)
|
|
|
|
|
|
|
|
raw := map[string]interface{}{
|
|
|
|
"access_key": "foo",
|
|
|
|
"secret_key": "bar",
|
2014-07-30 00:22:50 +02:00
|
|
|
"region": "us-east-1",
|
2014-06-24 04:01:57 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
rawConfig, err := config.NewRawConfig(raw)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
expected := Config{
|
|
|
|
AccessKey: "foo",
|
|
|
|
SecretKey: "bar",
|
2014-07-30 00:22:50 +02:00
|
|
|
Region: "us-east-1",
|
2014-06-24 04:01:57 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if !reflect.DeepEqual(rp.Config, expected) {
|
|
|
|
t.Fatalf("bad: %#v", rp.Config)
|
|
|
|
}
|
2014-08-20 00:40:48 +02:00
|
|
|
|
|
|
|
if rp.p == nil {
|
|
|
|
t.Fatal("provider should be set")
|
|
|
|
}
|
|
|
|
if !reflect.DeepEqual(rp, rp.p.Meta()) {
|
|
|
|
t.Fatalf("meta should be set")
|
|
|
|
}
|
2014-06-24 04:01:57 +02:00
|
|
|
}
|
2014-07-10 20:31:16 +02:00
|
|
|
|
2014-07-30 01:09:17 +02:00
|
|
|
func TestResourceProvider_ConfigureBadRegion(t *testing.T) {
|
|
|
|
rp := new(ResourceProvider)
|
|
|
|
|
|
|
|
raw := map[string]interface{}{
|
|
|
|
"access_key": "foo",
|
|
|
|
"secret_key": "bar",
|
|
|
|
"region": "blah",
|
|
|
|
}
|
|
|
|
|
|
|
|
rawConfig, err := config.NewRawConfig(raw)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
|
|
|
|
if err == nil {
|
|
|
|
t.Fatalf("should have err: bad region")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-10 20:31:16 +02:00
|
|
|
func testAccPreCheck(t *testing.T) {
|
|
|
|
if v := os.Getenv("AWS_ACCESS_KEY"); v == "" {
|
|
|
|
t.Fatal("AWS_ACCESS_KEY must be set for acceptance tests")
|
|
|
|
}
|
|
|
|
if v := os.Getenv("AWS_SECRET_KEY"); v == "" {
|
|
|
|
t.Fatal("AWS_SECRET_KEY must be set for acceptance tests")
|
|
|
|
}
|
|
|
|
if v := os.Getenv("AWS_REGION"); v == "" {
|
|
|
|
log.Println("[INFO] Test: Using us-west-2 as test region")
|
|
|
|
os.Setenv("AWS_REGION", "us-west-2")
|
|
|
|
}
|
|
|
|
}
|