@@ -51,6 +51,32 @@ describe("SignatureV4MultiRegion", () => {
5151 vi . clearAllMocks ( ) ;
5252 } ) ;
5353
54+ describe ( "sigv4aDependency" , ( ) => {
55+ it ( "should return 'crt' when CrtSignerV4 is available" , ( ) => {
56+ signatureV4CrtContainer . CrtSignerV4 = CrtSignerV4 as any ;
57+ signatureV4aContainer . SignatureV4a = null ;
58+ expect ( SignatureV4MultiRegion . sigv4aDependency ( ) ) . toBe ( "crt" ) ;
59+ } ) ;
60+
61+ it ( "should return 'crt' when CrtSignerV4 and SignatureV4a are available" , ( ) => {
62+ signatureV4CrtContainer . CrtSignerV4 = CrtSignerV4 as any ;
63+ signatureV4aContainer . SignatureV4a = SignatureV4a as any ;
64+ expect ( SignatureV4MultiRegion . sigv4aDependency ( ) ) . toBe ( "crt" ) ;
65+ } ) ;
66+
67+ it ( "should return 'js' when only SignatureV4a is available" , ( ) => {
68+ signatureV4CrtContainer . CrtSignerV4 = null ;
69+ signatureV4aContainer . SignatureV4a = SignatureV4a as any ;
70+ expect ( SignatureV4MultiRegion . sigv4aDependency ( ) ) . toBe ( "js" ) ;
71+ } ) ;
72+
73+ it ( "should return 'none' when neither implementation is available" , ( ) => {
74+ signatureV4CrtContainer . CrtSignerV4 = null ;
75+ signatureV4aContainer . SignatureV4a = null ;
76+ expect ( SignatureV4MultiRegion . sigv4aDependency ( ) ) . toBe ( "none" ) ;
77+ } ) ;
78+ } ) ;
79+
5480 it ( "should sign with SigV4 signer" , async ( ) => {
5581 const signer = new SignatureV4MultiRegion ( params ) ;
5682 await signer . sign ( minimalRequest ) ;
0 commit comments