github.com/chalford/terraform@v0.3.7-0.20150113080010-a78c69a8c81f/builtin/providers/cloudstack/provider_test.go (about)

     1  package cloudstack
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/hashicorp/terraform/helper/schema"
     8  	"github.com/hashicorp/terraform/terraform"
     9  )
    10  
    11  var testAccProviders map[string]terraform.ResourceProvider
    12  var testAccProvider *schema.Provider
    13  
    14  func init() {
    15  	testAccProvider = Provider().(*schema.Provider)
    16  	testAccProviders = map[string]terraform.ResourceProvider{
    17  		"cloudstack": testAccProvider,
    18  	}
    19  }
    20  
    21  func TestProvider(t *testing.T) {
    22  	if err := Provider().(*schema.Provider).InternalValidate(); err != nil {
    23  		t.Fatalf("err: %s", err)
    24  	}
    25  }
    26  
    27  func TestProvider_impl(t *testing.T) {
    28  	var _ terraform.ResourceProvider = Provider()
    29  }
    30  
    31  func testAccPreCheck(t *testing.T) {
    32  	if v := os.Getenv("CLOUDSTACK_API_URL"); v == "" {
    33  		t.Fatal("CLOUDSTACK_API_URL must be set for acceptance tests")
    34  	}
    35  	if v := os.Getenv("CLOUDSTACK_API_KEY"); v == "" {
    36  		t.Fatal("CLOUDSTACK_API_KEY must be set for acceptance tests")
    37  	}
    38  	if v := os.Getenv("CLOUDSTACK_SECRET_KEY"); v == "" {
    39  		t.Fatal("CLOUDSTACK_SECRET_KEY must be set for acceptance tests")
    40  	}
    41  
    42  	// Testing all environment/installation specific variables which are needed
    43  	// to run all the acceptance tests
    44  	if CLOUDSTACK_DISK_OFFERING_1 == "" {
    45  		if v := os.Getenv("CLOUDSTACK_DISK_OFFERING_1"); v == "" {
    46  			t.Fatal("CLOUDSTACK_DISK_OFFERING_1 must be set for acceptance tests")
    47  		} else {
    48  			CLOUDSTACK_DISK_OFFERING_1 = v
    49  		}
    50  	}
    51  	if CLOUDSTACK_DISK_OFFERING_2 == "" {
    52  		if v := os.Getenv("CLOUDSTACK_DISK_OFFERING_2"); v == "" {
    53  			t.Fatal("CLOUDSTACK_DISK_OFFERING_2 must be set for acceptance tests")
    54  		} else {
    55  			CLOUDSTACK_DISK_OFFERING_2 = v
    56  		}
    57  	}
    58  	if CLOUDSTACK_SERVICE_OFFERING_1 == "" {
    59  		if v := os.Getenv("CLOUDSTACK_SERVICE_OFFERING_1"); v == "" {
    60  			t.Fatal("CLOUDSTACK_SERVICE_OFFERING_1 must be set for acceptance tests")
    61  		} else {
    62  			CLOUDSTACK_SERVICE_OFFERING_1 = v
    63  		}
    64  	}
    65  	if CLOUDSTACK_SERVICE_OFFERING_2 == "" {
    66  		if v := os.Getenv("CLOUDSTACK_SERVICE_OFFERING_2"); v == "" {
    67  			t.Fatal("CLOUDSTACK_SERVICE_OFFERING_2 must be set for acceptance tests")
    68  		} else {
    69  			CLOUDSTACK_SERVICE_OFFERING_2 = v
    70  		}
    71  	}
    72  	if CLOUDSTACK_NETWORK_1 == "" {
    73  		if v := os.Getenv("CLOUDSTACK_NETWORK_1"); v == "" {
    74  			t.Fatal("CLOUDSTACK_NETWORK_1 must be set for acceptance tests")
    75  		} else {
    76  			CLOUDSTACK_NETWORK_1 = v
    77  		}
    78  	}
    79  	if CLOUDSTACK_NETWORK_1_CIDR == "" {
    80  		if v := os.Getenv("CLOUDSTACK_NETWORK_1_CIDR"); v == "" {
    81  			t.Fatal("CLOUDSTACK_NETWORK_1_CIDR must be set for acceptance tests")
    82  		} else {
    83  			CLOUDSTACK_NETWORK_1_CIDR = v
    84  		}
    85  	}
    86  	if CLOUDSTACK_NETWORK_1_OFFERING == "" {
    87  		if v := os.Getenv("CLOUDSTACK_NETWORK_1_OFFERING"); v == "" {
    88  			t.Fatal("CLOUDSTACK_NETWORK_1_OFFERING must be set for acceptance tests")
    89  		} else {
    90  			CLOUDSTACK_NETWORK_1_OFFERING = v
    91  		}
    92  	}
    93  	if CLOUDSTACK_NETWORK_1_IPADDRESS == "" {
    94  		if v := os.Getenv("CLOUDSTACK_NETWORK_1_IPADDRESS"); v == "" {
    95  			t.Fatal("CLOUDSTACK_NETWORK_1_IPADDRESS must be set for acceptance tests")
    96  		} else {
    97  			CLOUDSTACK_NETWORK_1_IPADDRESS = v
    98  		}
    99  	}
   100  	if CLOUDSTACK_NETWORK_2 == "" {
   101  		if v := os.Getenv("CLOUDSTACK_NETWORK_2"); v == "" {
   102  			t.Fatal("CLOUDSTACK_NETWORK_2 must be set for acceptance tests")
   103  		} else {
   104  			CLOUDSTACK_NETWORK_2 = v
   105  		}
   106  	}
   107  	if CLOUDSTACK_NETWORK_2_IPADDRESS == "" {
   108  		if v := os.Getenv("CLOUDSTACK_NETWORK_2_IPADDRESS"); v == "" {
   109  			t.Fatal("CLOUDSTACK_NETWORK_2_IPADDRESS must be set for acceptance tests")
   110  		} else {
   111  			CLOUDSTACK_NETWORK_2_IPADDRESS = v
   112  		}
   113  	}
   114  	if CLOUDSTACK_VPC_CIDR == "" {
   115  		if v := os.Getenv("CLOUDSTACK_VPC_CIDR"); v == "" {
   116  			t.Fatal("CLOUDSTACK_VPC_CIDR must be set for acceptance tests")
   117  		} else {
   118  			CLOUDSTACK_VPC_CIDR = v
   119  		}
   120  	}
   121  	if CLOUDSTACK_VPC_OFFERING == "" {
   122  		if v := os.Getenv("CLOUDSTACK_VPC_OFFERING"); v == "" {
   123  			t.Fatal("CLOUDSTACK_VPC_OFFERING must be set for acceptance tests")
   124  		} else {
   125  			CLOUDSTACK_VPC_OFFERING = v
   126  		}
   127  	}
   128  	if CLOUDSTACK_VPC_NETWORK_CIDR == "" {
   129  		if v := os.Getenv("CLOUDSTACK_VPC_NETWORK_CIDR"); v == "" {
   130  			t.Fatal("CLOUDSTACK_VPC_NETWORK_CIDR must be set for acceptance tests")
   131  		} else {
   132  			CLOUDSTACK_VPC_NETWORK_CIDR = v
   133  		}
   134  	}
   135  	if CLOUDSTACK_VPC_NETWORK_OFFERING == "" {
   136  		if v := os.Getenv("CLOUDSTACK_VPC_NETWORK_OFFERING"); v == "" {
   137  			t.Fatal("CLOUDSTACK_VPC_NETWORK_OFFERING must be set for acceptance tests")
   138  		} else {
   139  			CLOUDSTACK_VPC_NETWORK_OFFERING = v
   140  		}
   141  	}
   142  	if CLOUDSTACK_PUBLIC_IPADDRESS == "" {
   143  		if v := os.Getenv("CLOUDSTACK_PUBLIC_IPADDRESS"); v == "" {
   144  			t.Fatal("CLOUDSTACK_PUBLIC_IPADDRESS must be set for acceptance tests")
   145  		} else {
   146  			CLOUDSTACK_PUBLIC_IPADDRESS = v
   147  		}
   148  	}
   149  	if CLOUDSTACK_TEMPLATE == "" {
   150  		if v := os.Getenv("CLOUDSTACK_TEMPLATE"); v == "" {
   151  			t.Fatal("CLOUDSTACK_TEMPLATE must be set for acceptance tests")
   152  		} else {
   153  			CLOUDSTACK_TEMPLATE = v
   154  		}
   155  	}
   156  	if CLOUDSTACK_ZONE == "" {
   157  		if v := os.Getenv("CLOUDSTACK_ZONE"); v == "" {
   158  			t.Fatal("CLOUDSTACK_ZONE must be set for acceptance tests")
   159  		} else {
   160  			CLOUDSTACK_ZONE = v
   161  		}
   162  	}
   163  }
   164  
   165  // EITHER SET THESE, OR ADD THE VALUES TO YOUR ENV!!
   166  var CLOUDSTACK_DISK_OFFERING_1 = ""
   167  var CLOUDSTACK_DISK_OFFERING_2 = ""
   168  var CLOUDSTACK_SERVICE_OFFERING_1 = ""
   169  var CLOUDSTACK_SERVICE_OFFERING_2 = ""
   170  var CLOUDSTACK_NETWORK_1 = ""
   171  var CLOUDSTACK_NETWORK_1_CIDR = ""
   172  var CLOUDSTACK_NETWORK_1_OFFERING = ""
   173  var CLOUDSTACK_NETWORK_1_IPADDRESS = ""
   174  var CLOUDSTACK_NETWORK_2 = ""
   175  var CLOUDSTACK_NETWORK_2_IPADDRESS = ""
   176  var CLOUDSTACK_VPC_CIDR = ""
   177  var CLOUDSTACK_VPC_OFFERING = ""
   178  var CLOUDSTACK_VPC_NETWORK_CIDR = ""
   179  var CLOUDSTACK_VPC_NETWORK_OFFERING = ""
   180  var CLOUDSTACK_PUBLIC_IPADDRESS = ""
   181  var CLOUDSTACK_TEMPLATE = ""
   182  var CLOUDSTACK_ZONE = ""