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 = ""