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  }