diff --git a/builder/openstack/access_config_test.go b/builder/openstack/access_config_test.go index 5c92216e3..cf37448cc 100644 --- a/builder/openstack/access_config_test.go +++ b/builder/openstack/access_config_test.go @@ -1,9 +1,17 @@ package openstack import ( + "os" "testing" ) +func init() { + // Clear out the openstack env vars so they don't + // affect our tests. + os.Setenv("SDK_REGION", "") + os.Setenv("OS_REGION_NAME", "") +} + func testAccessConfig() *AccessConfig { return &AccessConfig{} } @@ -16,6 +24,38 @@ func TestAccessConfigPrepare_NoRegion_Rackspace(t *testing.T) { } } +func TestAccessConfigRegionWithEmptyEnv(t *testing.T) { + c := testAccessConfig() + c.Prepare(nil) + if c.Region() != "" { + t.Fatalf("Region should be empty") + } +} + +func TestAccessConfigRegionWithSdkRegionEnv(t *testing.T) { + c := testAccessConfig() + c.Prepare(nil) + + expectedRegion := "sdk_region" + os.Setenv("SDK_REGION", expectedRegion) + os.Setenv("OS_REGION_NAME", "") + if c.Region() != expectedRegion { + t.Fatalf("Region should be: %s", expectedRegion) + } +} + +func TestAccessConfigRegionWithOsRegionNameEnv(t *testing.T) { + c := testAccessConfig() + c.Prepare(nil) + + expectedRegion := "os_region_name" + os.Setenv("SDK_REGION", "") + os.Setenv("OS_REGION_NAME", expectedRegion) + if c.Region() != expectedRegion { + t.Fatalf("Region should be: %s", expectedRegion) + } +} + func TestAccessConfigPrepare_NoRegion_PrivateCloud(t *testing.T) { c := testAccessConfig() c.Provider = "http://some-keystone-server:5000/v2.0"