@@ -8,6 +8,7 @@ import { flexibleChecksumsMiddleware } from "./flexibleChecksumsMiddleware";
8
8
import { getChecksumAlgorithmForRequest } from "./getChecksumAlgorithmForRequest" ;
9
9
import { getChecksumLocationName } from "./getChecksumLocationName" ;
10
10
import { hasHeader } from "./hasHeader" ;
11
+ import { hasHeaderWithPrefix } from "./hasHeaderWithPrefix" ;
11
12
import { isStreaming } from "./isStreaming" ;
12
13
import { selectChecksumAlgorithmFunction } from "./selectChecksumAlgorithmFunction" ;
13
14
import { stringHasher } from "./stringHasher" ;
@@ -16,6 +17,7 @@ vi.mock("@smithy/protocol-http");
16
17
vi . mock ( "./getChecksumAlgorithmForRequest" ) ;
17
18
vi . mock ( "./getChecksumLocationName" ) ;
18
19
vi . mock ( "./hasHeader" ) ;
20
+ vi . mock ( "./hasHeaderWithPrefix" ) ;
19
21
vi . mock ( "./isStreaming" ) ;
20
22
vi . mock ( "./selectChecksumAlgorithmFunction" ) ;
21
23
vi . mock ( "./stringHasher" ) ;
@@ -44,6 +46,7 @@ describe(flexibleChecksumsMiddleware.name, () => {
44
46
vi . mocked ( getChecksumAlgorithmForRequest ) . mockReturnValue ( ChecksumAlgorithm . MD5 ) ;
45
47
vi . mocked ( getChecksumLocationName ) . mockReturnValue ( mockChecksumLocationName ) ;
46
48
vi . mocked ( hasHeader ) . mockReturnValue ( true ) ;
49
+ vi . mocked ( hasHeaderWithPrefix ) . mockReturnValue ( false ) ;
47
50
vi . mocked ( isStreaming ) . mockReturnValue ( false ) ;
48
51
vi . mocked ( selectChecksumAlgorithmFunction ) . mockReturnValue ( mockChecksumAlgorithmFunction ) ;
49
52
} ) ;
@@ -63,31 +66,28 @@ describe(flexibleChecksumsMiddleware.name, () => {
63
66
} ) ;
64
67
65
68
describe ( "request checksum" , ( ) => {
66
- afterEach ( ( ) => {
67
- expect ( getChecksumAlgorithmForRequest ) . toHaveBeenCalledTimes ( 1 ) ;
68
- } ) ;
69
-
70
69
it ( "if checksumAlgorithm is not defined" , async ( ) => {
71
70
vi . mocked ( getChecksumAlgorithmForRequest ) . mockReturnValue ( undefined ) ;
72
71
const handler = flexibleChecksumsMiddleware ( mockConfig , mockMiddlewareConfig ) ( mockNext , { } ) ;
73
72
await handler ( mockArgs ) ;
73
+ expect ( hasHeaderWithPrefix ) . toHaveBeenCalledTimes ( 1 ) ;
74
74
expect ( getChecksumLocationName ) . not . toHaveBeenCalled ( ) ;
75
75
expect ( mockNext ) . toHaveBeenCalledWith ( mockArgs ) ;
76
76
expect ( selectChecksumAlgorithmFunction ) . not . toHaveBeenCalled ( ) ;
77
+ expect ( getChecksumAlgorithmForRequest ) . toHaveBeenCalledTimes ( 1 ) ;
77
78
} ) ;
78
79
79
80
it ( "if header is already present" , async ( ) => {
80
81
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 ) ;
91
91
} ) ;
92
92
} ) ;
93
93
} ) ;
0 commit comments