MCPcopy
hub / github.com/minio/minio-go / TestGetRegionFromURL

Function TestGetRegionFromURL

pkg/s3utils/utils_test.go:27–98  ·  view source on GitHub ↗

Tests get region from host URL.

(t *testing.T)

Source from the content-addressed store, hash-verified

25
26// Tests get region from host URL.
27func TestGetRegionFromURL(t *testing.T) {
28 testCases := []struct {
29 u string
30 expectedRegion string
31 }{
32 {u: "storage.googleapis.com", expectedRegion: ""},
33 {u: "s3.cn-north-1.amazonaws.com.cn", expectedRegion: "cn-north-1"},
34 {u: "s3.dualstack.cn-north-1.amazonaws.com.cn", expectedRegion: "cn-north-1"},
35 {u: "s3.cn-northwest-1.amazonaws.com.cn", expectedRegion: "cn-northwest-1"},
36 {u: "s3.dualstack.cn-northwest-1.amazonaws.com.cn", expectedRegion: "cn-northwest-1"},
37 {u: "s3-fips-us-gov-west-1.amazonaws.com", expectedRegion: "us-gov-west-1"},
38 {u: "s3-fips.us-gov-west-1.amazonaws.com", expectedRegion: "us-gov-west-1"},
39 {u: "s3-fips.us-gov-east-1.amazonaws.com", expectedRegion: "us-gov-east-1"},
40 {u: "s3-us-gov-west-1.amazonaws.com", expectedRegion: "us-gov-west-1"},
41 {u: "192.168.1.1", expectedRegion: ""},
42 {u: "s3-eu-west-1.amazonaws.com", expectedRegion: "eu-west-1"},
43 {u: "s3.eu-west-1.amazonaws.com", expectedRegion: "eu-west-1"},
44 {u: "s3.dualstack.eu-west-1.amazonaws.com", expectedRegion: "eu-west-1"},
45 {u: "s3.amazonaws.com", expectedRegion: ""},
46 {u: "s3-external-1.amazonaws.com", expectedRegion: ""},
47 {u: "s3.kubernetesfrontendlb-caf78da2b1f7516c.elb.us-west-2.amazonaws.com", expectedRegion: ""},
48 {u: "s3.kubernetesfrontendlb-caf78da2b1f7516c.elb.amazonaws.com", expectedRegion: ""},
49 {u: "s3.kubernetesfrontendlb-caf78da2b1f7516c.elb.amazonaws.com.cn", expectedRegion: ""},
50 {u: "bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", expectedRegion: "us-east-1"},
51 {u: "accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", expectedRegion: "us-east-1"},
52 {u: "s3-fips.us-east-1.amazonaws.com", expectedRegion: "us-east-1"},
53 {u: "s3-fips.dualstack.us-west-1.amazonaws.com", expectedRegion: "us-west-1"},
54 {u: "s3express-usw2-az1.us-west-2.amazonaws.com", expectedRegion: "us-west-2"},
55 {u: "s3express-use1-az5.us-east-1.amazonaws.com", expectedRegion: "us-east-1"},
56 {u: "s3express-apne1-az4.ap-northeast-1.amazonaws.com", expectedRegion: "ap-northeast-1"},
57 {u: "s3express-euc1-az2.eu-central-1.amazonaws.com", expectedRegion: "eu-central-1"},
58 {u: "s3express-usgw1-az3.us-gov-west-1.amazonaws.com", expectedRegion: "us-gov-west-1"},
59 {u: "s3express-control.us-west-2.amazonaws.com", expectedRegion: "us-west-2"},
60 // S3 on Outposts.
61 {u: "test-access-point-000000000000.op-00000000000000000.s3-outposts.eu-central-1.amazonaws.com", expectedRegion: "eu-central-1"},
62 {u: "myap-123456789012.op-0ab1c2d3e4f5.s3-outposts.us-west-2.amazonaws.com", expectedRegion: "us-west-2"},
63
64 // Test cases with port numbers.
65 {u: "storage.googleapis.com:80", expectedRegion: ""},
66 {u: "s3.cn-north-1.amazonaws.com.cn:80", expectedRegion: "cn-north-1"},
67 {u: "s3.dualstack.cn-north-1.amazonaws.com.cn:80", expectedRegion: "cn-north-1"},
68 {u: "s3.cn-northwest-1.amazonaws.com.cn:80", expectedRegion: "cn-northwest-1"},
69 {u: "s3.dualstack.cn-northwest-1.amazonaws.com.cn:80", expectedRegion: "cn-northwest-1"},
70 {u: "s3-fips-us-gov-west-1.amazonaws.com:80", expectedRegion: "us-gov-west-1"},
71 {u: "s3-fips.us-gov-west-1.amazonaws.com:80", expectedRegion: "us-gov-west-1"},
72 {u: "s3-fips.us-gov-east-1.amazonaws.com:80", expectedRegion: "us-gov-east-1"},
73 {u: "s3-us-gov-west-1.amazonaws.com:80", expectedRegion: "us-gov-west-1"},
74 {u: "s3-eu-west-1.amazonaws.com:80", expectedRegion: "eu-west-1"},
75 {u: "s3.eu-west-1.amazonaws.com:80", expectedRegion: "eu-west-1"},
76 {u: "s3.dualstack.eu-west-1.amazonaws.com:80", expectedRegion: "eu-west-1"},
77 {u: "s3.kubernetesfrontendlb-caf78da2b1f7516c.elb.us-west-2.amazonaws.com:80", expectedRegion: ""},
78 {u: "s3.kubernetesfrontendlb-caf78da2b1f7516c.elb.amazonaws.com:80", expectedRegion: ""},
79 {u: "s3.kubernetesfrontendlb-caf78da2b1f7516c.elb.amazonaws.com.cn:80", expectedRegion: ""},
80 {u: "bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com:80", expectedRegion: "us-east-1"},
81 {u: "accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com:80", expectedRegion: "us-east-1"},
82 {u: "s3-fips.us-east-1.amazonaws.com:80", expectedRegion: "us-east-1"},
83 {u: "s3-fips.dualstack.us-west-1.amazonaws.com:80", expectedRegion: "us-west-1"},
84 // No region found.

Callers

nothing calls this directly

Calls 1

GetRegionFromURLFunction · 0.85

Tested by

no test coverage detected