@@ -17,13 +17,17 @@ import {
1717 X_AMZ_DATE_HEADER ,
1818 X_AMZ_SECURITY_TOKEN_HEADER ,
1919} from './test-utils.test' ;
20+ import { getNodeVersion } from '../../../../../src/utils' ;
2021
2122const mockCredentials = {
2223 accessKeyId : 'test_access_key' ,
2324 secretAccessKey : 'test_secret_key' ,
2425 sessionToken : 'test_session_token' ,
2526} ;
2627
28+ // Sigv4 is only enabled for node version >= 16
29+ const version = getNodeVersion ( ) ;
30+
2731describe ( 'AwsAuthenticator' , ( ) => {
2832 let sandbox : sinon . SinonSandbox ;
2933
@@ -101,13 +105,19 @@ describe('AwsAuthenticator', () => {
101105 new Uint8Array ( )
102106 ) ;
103107
104- expect ( result ) . toHaveProperty ( AUTHORIZATION_HEADER ) ;
105- expect ( result ) . toHaveProperty ( X_AMZ_DATE_HEADER ) ;
106- expect ( result ) . toHaveProperty ( X_AMZ_SECURITY_TOKEN_HEADER ) ;
107-
108- expect ( result [ AUTHORIZATION_HEADER ] ) . toBe ( expected [ AUTHORIZATION_HEADER ] ) ;
109- expect ( result [ X_AMZ_DATE_HEADER ] ) . toBe ( expected [ X_AMZ_DATE_HEADER ] ) ;
110- expect ( result [ X_AMZ_SECURITY_TOKEN_HEADER ] ) . toBe ( expected [ X_AMZ_SECURITY_TOKEN_HEADER ] ) ;
108+ if ( version >= 16 ) {
109+ expect ( result ) . toHaveProperty ( AUTHORIZATION_HEADER ) ;
110+ expect ( result ) . toHaveProperty ( X_AMZ_DATE_HEADER ) ;
111+ expect ( result ) . toHaveProperty ( X_AMZ_SECURITY_TOKEN_HEADER ) ;
112+
113+ expect ( result [ AUTHORIZATION_HEADER ] ) . toBe ( expected [ AUTHORIZATION_HEADER ] ) ;
114+ expect ( result [ X_AMZ_DATE_HEADER ] ) . toBe ( expected [ X_AMZ_DATE_HEADER ] ) ;
115+ expect ( result [ X_AMZ_SECURITY_TOKEN_HEADER ] ) . toBe ( expected [ X_AMZ_SECURITY_TOKEN_HEADER ] ) ;
116+ } else {
117+ expect ( result ) . not . toHaveProperty ( AUTHORIZATION_HEADER ) ;
118+ expect ( result ) . not . toHaveProperty ( X_AMZ_DATE_HEADER ) ;
119+ expect ( result ) . not . toHaveProperty ( X_AMZ_SECURITY_TOKEN_HEADER ) ;
120+ }
111121 } ) ;
112122
113123 it ( 'should clear SigV4 headers if already present ' , async ( ) => {
@@ -145,12 +155,18 @@ describe('AwsAuthenticator', () => {
145155 new Uint8Array ( )
146156 ) ;
147157
148- expect ( result ) . toHaveProperty ( AUTHORIZATION_HEADER ) ;
149- expect ( result ) . toHaveProperty ( X_AMZ_DATE_HEADER ) ;
150- expect ( result ) . toHaveProperty ( X_AMZ_SECURITY_TOKEN_HEADER ) ;
151-
152- expect ( result [ AUTHORIZATION_HEADER ] ) . toBe ( expected [ AUTHORIZATION_HEADER ] ) ;
153- expect ( result [ X_AMZ_DATE_HEADER ] ) . toBe ( expected [ X_AMZ_DATE_HEADER ] ) ;
154- expect ( result [ X_AMZ_SECURITY_TOKEN_HEADER ] ) . toBe ( expected [ X_AMZ_SECURITY_TOKEN_HEADER ] ) ;
158+ if ( version >= 16 ) {
159+ expect ( result ) . toHaveProperty ( AUTHORIZATION_HEADER ) ;
160+ expect ( result ) . toHaveProperty ( X_AMZ_DATE_HEADER ) ;
161+ expect ( result ) . toHaveProperty ( X_AMZ_SECURITY_TOKEN_HEADER ) ;
162+
163+ expect ( result [ AUTHORIZATION_HEADER ] ) . toBe ( expected [ AUTHORIZATION_HEADER ] ) ;
164+ expect ( result [ X_AMZ_DATE_HEADER ] ) . toBe ( expected [ X_AMZ_DATE_HEADER ] ) ;
165+ expect ( result [ X_AMZ_SECURITY_TOKEN_HEADER ] ) . toBe ( expected [ X_AMZ_SECURITY_TOKEN_HEADER ] ) ;
166+ } else {
167+ expect ( result ) . not . toHaveProperty ( AUTHORIZATION_HEADER ) ;
168+ expect ( result ) . not . toHaveProperty ( X_AMZ_DATE_HEADER ) ;
169+ expect ( result ) . not . toHaveProperty ( X_AMZ_SECURITY_TOKEN_HEADER ) ;
170+ }
155171 } ) ;
156172} ) ;
0 commit comments