@@ -6,6 +6,7 @@ describe("bucketHostname", () => {
66 const region = "us-west-2" ;
77 describe ( "from bucket name" , ( ) => {
88 [
9+ { baseHostname : "s3.dualstack.us-west-2.amazonaws.com" , isCustomEndpoint : false , dualstackEndpoint : true } ,
910 { baseHostname : "s3.us-west-2.amazonaws.com" , isCustomEndpoint : false } ,
1011 { baseHostname : "beta.example.com" , isCustomEndpoint : true } ,
1112 ] . forEach ( ( { baseHostname, isCustomEndpoint } ) => {
@@ -187,20 +188,24 @@ describe("bucketHostname", () => {
187188
188189 describe ( "from Access Point ARN" , ( ) => {
189190 describe ( "populates access point endpoint from ARN" , ( ) => {
190- const s3Hostname = "s3.us-west-2.amazonaws.com" ;
191191 const customHostname = "example.com" ;
192192
193- describe ( `baseHostname: ${ s3Hostname } ` , ( ) => {
194- const baseHostname = s3Hostname ;
193+ describe . each ( [
194+ [ "s3.us-west-2.amazonaws.com" , false ] ,
195+ [ "s3.dualstack.us-west-2.amazonaws.com" , true ] ,
196+ ] ) ( `baseHostname: %s, dualstackEndpoint: %s` , ( baseHostname , dualstackEndpoint ) => {
195197 it ( "should use client region" , ( ) => {
196198 const { bucketEndpoint, hostname } = bucketHostname ( {
197199 bucketName : parseArn ( "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint" ) ,
198200 baseHostname,
199201 isCustomEndpoint : false ,
200202 clientRegion : region ,
203+ dualstackEndpoint,
201204 } ) ;
202205 expect ( bucketEndpoint ) . toBe ( true ) ;
203- expect ( hostname ) . toBe ( "myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com" ) ;
206+ expect ( hostname ) . toBe (
207+ `myendpoint-123456789012.s3-accesspoint${ dualstackEndpoint ? ".dualstack" : "" } .us-west-2.amazonaws.com`
208+ ) ;
204209 } ) ;
205210
206211 it ( "should use ARN region" , ( ) => {
@@ -210,9 +215,12 @@ describe("bucketHostname", () => {
210215 isCustomEndpoint : false ,
211216 clientRegion : region ,
212217 useArnRegion : true ,
218+ dualstackEndpoint,
213219 } ) ;
214220 expect ( bucketEndpoint ) . toBe ( true ) ;
215- expect ( hostname ) . toBe ( "myendpoint-123456789012.s3-accesspoint.us-east-1.amazonaws.com" ) ;
221+ expect ( hostname ) . toBe (
222+ `myendpoint-123456789012.s3-accesspoint${ dualstackEndpoint ? ".dualstack" : "" } .us-east-1.amazonaws.com`
223+ ) ;
216224 } ) ;
217225 } ) ;
218226
0 commit comments