endpoints_test.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package endpoints_test
  2. import (
  3. "fmt"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. "github.com/aws/aws-sdk-go/private/endpoints"
  7. )
  8. func TestGenericEndpoint(t *testing.T) {
  9. name := "service"
  10. region := "mock-region-1"
  11. ep, sr := endpoints.EndpointForRegion(name, region, false, false)
  12. assert.Equal(t, fmt.Sprintf("https://%s.%s.amazonaws.com", name, region), ep)
  13. assert.Empty(t, sr)
  14. }
  15. func TestGlobalEndpoints(t *testing.T) {
  16. region := "mock-region-1"
  17. svcs := []string{"cloudfront", "iam", "importexport", "route53", "sts", "waf"}
  18. for _, name := range svcs {
  19. ep, sr := endpoints.EndpointForRegion(name, region, false, false)
  20. assert.Equal(t, fmt.Sprintf("https://%s.amazonaws.com", name), ep)
  21. assert.Equal(t, "us-east-1", sr)
  22. }
  23. }
  24. func TestDualStackEndpoint(t *testing.T) {
  25. ep, sr := endpoints.EndpointForRegion("s3", "mock-region-1", false, true)
  26. assert.Equal(t, "https://s3.dualstack.mock-region-1.amazonaws.com", ep)
  27. assert.Equal(t, "", sr)
  28. ep, sr = endpoints.EndpointForRegion("mock-svc", "mock-region-1", false, true)
  29. assert.Equal(t, "", ep)
  30. assert.Equal(t, "", sr)
  31. ep, sr = endpoints.EndpointForRegion("s3", "mock-region-1", false, false)
  32. assert.Equal(t, "https://s3-mock-region-1.amazonaws.com", ep)
  33. assert.Equal(t, "", sr)
  34. }
  35. func TestServicesInCN(t *testing.T) {
  36. region := "cn-north-1"
  37. svcs := []string{"cloudfront", "iam", "importexport", "route53", "sts", "s3", "waf"}
  38. for _, name := range svcs {
  39. ep, sr := endpoints.EndpointForRegion(name, region, false, false)
  40. assert.Equal(t, fmt.Sprintf("https://%s.%s.amazonaws.com.cn", name, region), ep)
  41. assert.Empty(t, sr)
  42. }
  43. }
  44. func TestEC2MetadataEndpoints(t *testing.T) {
  45. regions := []string{"us-east-1", "us-gov-west-1", "cn-north-1", "mock-region-1"}
  46. for _, region := range regions {
  47. ep, sr := endpoints.EndpointForRegion("ec2metadata", region, false, false)
  48. assert.Equal(t, "http://169.254.169.254/latest", ep)
  49. assert.Equal(t, "", sr)
  50. }
  51. }