@@ -8,6 +8,7 @@ import { flexibleChecksumsMiddleware } from "./flexibleChecksumsMiddleware";
88import { getChecksumAlgorithmForRequest } from "./getChecksumAlgorithmForRequest" ;
99import { getChecksumLocationName } from "./getChecksumLocationName" ;
1010import { hasHeader } from "./hasHeader" ;
11+ import { hasHeaderWithPrefix } from "./hasHeaderWithPrefix" ;
1112import { isStreaming } from "./isStreaming" ;
1213import { selectChecksumAlgorithmFunction } from "./selectChecksumAlgorithmFunction" ;
1314import { stringHasher } from "./stringHasher" ;
@@ -16,6 +17,7 @@ vi.mock("@smithy/protocol-http");
1617vi . mock ( "./getChecksumAlgorithmForRequest" ) ;
1718vi . mock ( "./getChecksumLocationName" ) ;
1819vi . mock ( "./hasHeader" ) ;
20+ vi . mock ( "./hasHeaderWithPrefix" ) ;
1921vi . mock ( "./isStreaming" ) ;
2022vi . mock ( "./selectChecksumAlgorithmFunction" ) ;
2123vi . mock ( "./stringHasher" ) ;
@@ -44,6 +46,7 @@ describe(flexibleChecksumsMiddleware.name, () => {
4446 vi . mocked ( getChecksumAlgorithmForRequest ) . mockReturnValue ( ChecksumAlgorithm . MD5 ) ;
4547 vi . mocked ( getChecksumLocationName ) . mockReturnValue ( mockChecksumLocationName ) ;
4648 vi . mocked ( hasHeader ) . mockReturnValue ( true ) ;
49+ vi . mocked ( hasHeaderWithPrefix ) . mockReturnValue ( false ) ;
4750 vi . mocked ( isStreaming ) . mockReturnValue ( false ) ;
4851 vi . mocked ( selectChecksumAlgorithmFunction ) . mockReturnValue ( mockChecksumAlgorithmFunction ) ;
4952 } ) ;
@@ -63,31 +66,28 @@ describe(flexibleChecksumsMiddleware.name, () => {
6366 } ) ;
6467
6568 describe ( "request checksum" , ( ) => {
66- afterEach ( ( ) => {
67- expect ( getChecksumAlgorithmForRequest ) . toHaveBeenCalledTimes ( 1 ) ;
68- } ) ;
69-
7069 it ( "if checksumAlgorithm is not defined" , async ( ) => {
7170 vi . mocked ( getChecksumAlgorithmForRequest ) . mockReturnValue ( undefined ) ;
7271 const handler = flexibleChecksumsMiddleware ( mockConfig , mockMiddlewareConfig ) ( mockNext , { } ) ;
7372 await handler ( mockArgs ) ;
73+ expect ( hasHeaderWithPrefix ) . toHaveBeenCalledTimes ( 1 ) ;
7474 expect ( getChecksumLocationName ) . not . toHaveBeenCalled ( ) ;
7575 expect ( mockNext ) . toHaveBeenCalledWith ( mockArgs ) ;
7676 expect ( selectChecksumAlgorithmFunction ) . not . toHaveBeenCalled ( ) ;
77+ expect ( getChecksumAlgorithmForRequest ) . toHaveBeenCalledTimes ( 1 ) ;
7778 } ) ;
7879
7980 it ( "if header is already present" , async ( ) => {
8081 const handler = flexibleChecksumsMiddleware ( mockConfig , mockMiddlewareConfig ) ( mockNext , { } ) ;
81- const mockHeadersWithChecksumHeader = { ...mockHeaders , [ mockChecksumLocationName ] : "mockHeaderValue" } ;
82- const mockArgsWithChecksumHeader = {
83- ...mockArgs ,
84- request : { ...mockRequest , headers : mockHeadersWithChecksumHeader } ,
85- } ;
86- await handler ( mockArgsWithChecksumHeader ) ;
87- expect ( getChecksumLocationName ) . toHaveBeenCalledWith ( ChecksumAlgorithm . MD5 ) ;
88- expect ( selectChecksumAlgorithmFunction ) . toHaveBeenCalledWith ( ChecksumAlgorithm . MD5 , mockConfig ) ;
89- expect ( mockNext ) . toHaveBeenCalledWith ( mockArgsWithChecksumHeader ) ;
90- expect ( hasHeader ) . toHaveBeenCalledWith ( mockChecksumLocationName , mockHeadersWithChecksumHeader ) ;
82+ vi . mocked ( hasHeaderWithPrefix ) . mockReturnValue ( true ) ;
83+
84+ await handler ( mockArgs ) ;
85+
86+ expect ( hasHeaderWithPrefix ) . toHaveBeenCalledTimes ( 1 ) ;
87+ expect ( getChecksumLocationName ) . not . toHaveBeenCalled ( ) ;
88+ expect ( selectChecksumAlgorithmFunction ) . not . toHaveBeenCalled ( ) ;
89+ expect ( hasHeader ) . not . toHaveBeenCalled ( ) ;
90+ expect ( mockNext ) . toHaveBeenCalledWith ( mockArgs ) ;
9191 } ) ;
9292 } ) ;
9393 } ) ;
0 commit comments