Tests get region from host URL.
(t *testing.T)
| 25 | |
| 26 | // Tests get region from host URL. |
| 27 | func 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. |
nothing calls this directly
no test coverage detected