...

Source file src/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partition_test.go

Documentation: github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn

     1  package awsrulesfn
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  var mockPartitions = []Partition{
     8  	{
     9  		ID:          "aws",
    10  		RegionRegex: "^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$",
    11  		DefaultConfig: PartitionConfig{
    12  			Name:               "aws",
    13  			DnsSuffix:          "amazonaws.com",
    14  			DualStackDnsSuffix: "api.aws",
    15  			SupportsFIPS:       true,
    16  			SupportsDualStack:  true,
    17  		},
    18  		Regions: map[string]RegionOverrides{
    19  			"af-south-1": {
    20  				Name:               nil,
    21  				DnsSuffix:          nil,
    22  				DualStackDnsSuffix: nil,
    23  				SupportsFIPS:       nil,
    24  				SupportsDualStack:  nil,
    25  			},
    26  			"us-west-2": {
    27  				Name:               nil,
    28  				DnsSuffix:          nil,
    29  				DualStackDnsSuffix: nil,
    30  				SupportsFIPS:       nil,
    31  				SupportsDualStack:  nil,
    32  			},
    33  		},
    34  	},
    35  	{
    36  		ID:          "aws-cn",
    37  		RegionRegex: "^cn\\-\\w+\\-\\d+$",
    38  		DefaultConfig: PartitionConfig{
    39  			Name:               "aws-cn",
    40  			DnsSuffix:          "amazonaws.com.cn",
    41  			DualStackDnsSuffix: "api.amazonwebservices.com.cn",
    42  			SupportsFIPS:       true,
    43  			SupportsDualStack:  true,
    44  		},
    45  		Regions: map[string]RegionOverrides{
    46  			"aws-cn-global": {
    47  				Name:               nil,
    48  				DnsSuffix:          nil,
    49  				DualStackDnsSuffix: nil,
    50  				SupportsFIPS:       nil,
    51  				SupportsDualStack:  nil,
    52  			},
    53  			"cn-north-1": {
    54  				Name:               nil,
    55  				DnsSuffix:          nil,
    56  				DualStackDnsSuffix: nil,
    57  				SupportsFIPS:       nil,
    58  				SupportsDualStack:  nil,
    59  			},
    60  			"cn-northwest-1": {
    61  				Name:               nil,
    62  				DnsSuffix:          nil,
    63  				DualStackDnsSuffix: nil,
    64  				SupportsFIPS:       nil,
    65  				SupportsDualStack:  nil,
    66  			},
    67  		},
    68  	},
    69  }
    70  
    71  func TestGetPartition(t *testing.T) {
    72  	cases := map[string]struct {
    73  		Region        string
    74  		PartitionName string
    75  	}{
    76  		"test region match aws": {
    77  			Region: "us-west-2", PartitionName: "aws",
    78  		},
    79  		"test region match aws-cn": {
    80  			Region: "aws-cn-global", PartitionName: "aws-cn",
    81  		},
    82  		"test invalid region; default partition": {
    83  			Region: "foo", PartitionName: "aws",
    84  		},
    85  	}
    86  
    87  	for n, c := range cases {
    88  		t.Run(n, func(t *testing.T) {
    89  
    90  			// monkey patch the partitions data structure
    91  			// thats used by the GetPartition func
    92  			partitions = mockPartitions
    93  
    94  			p := GetPartition(c.Region)
    95  			expected := c.PartitionName
    96  			actual := p.Name
    97  			if expected != actual {
    98  				t.Errorf("expected %v, got %v", expected, actual)
    99  			}
   100  		})
   101  	}
   102  }
   103  

View as plain text