github.com/StackPointCloud/packer@v0.10.2-0.20180716202532-b28098e0f79b/builder/amazon/common/access_config_test.go (about) 1 package common 2 3 import ( 4 "testing" 5 6 "github.com/aws/aws-sdk-go/aws" 7 "github.com/aws/aws-sdk-go/aws/session" 8 ) 9 10 func testAccessConfig() *AccessConfig { 11 return &AccessConfig{} 12 } 13 14 func TestAccessConfigPrepare_Region(t *testing.T) { 15 c := testAccessConfig() 16 c.RawRegion = "" 17 if err := c.Prepare(nil); err != nil { 18 t.Fatalf("shouldn't have err: %s", err) 19 } 20 21 c.RawRegion = "us-east-12" 22 if err := c.Prepare(nil); err == nil { 23 t.Fatal("should have error") 24 } 25 26 c.RawRegion = "us-east-1" 27 if err := c.Prepare(nil); err != nil { 28 t.Fatalf("shouldn't have err: %s", err) 29 } 30 31 c.RawRegion = "custom" 32 if err := c.Prepare(nil); err == nil { 33 t.Fatalf("should have err") 34 } 35 36 c.RawRegion = "custom" 37 c.SkipValidation = true 38 if err := c.Prepare(nil); err != nil { 39 t.Fatalf("shouldn't have err: %s", err) 40 } 41 c.SkipValidation = false 42 43 } 44 45 func TestAccessConfigPrepare_RegionRestricted(t *testing.T) { 46 c := testAccessConfig() 47 48 // Create a Session with a custom region 49 c.session = session.Must(session.NewSession(&aws.Config{ 50 Region: aws.String("us-gov-west-1"), 51 })) 52 53 if err := c.Prepare(nil); err != nil { 54 t.Fatalf("shouldn't have err: %s", err) 55 } 56 57 if !c.IsGovCloud() { 58 t.Fatal("We should be in gov region.") 59 } 60 }