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  }