1
1
// Please do not touch this file. It's generated from template in:
2
2
// https://github.com/aws/aws-sdk-js-v3/blob/main/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/sts-client-defaultRoleAssumers.spec.ts
3
- import { NodeHttpHandler , streamCollector } from "@smithy/node-http-handler" ;
3
+ import { NodeHttp2Handler , NodeHttpHandler , streamCollector } from "@smithy/node-http-handler" ;
4
4
import { HttpResponse } from "@smithy/protocol-http" ;
5
5
import { Readable } from "stream" ;
6
6
@@ -25,8 +25,22 @@ jest.mock("@smithy/node-http-handler", () => {
25
25
destroy ( ) { }
26
26
handle = mockHandle ;
27
27
}
28
+ class MockNodeHttp2Handler {
29
+ public metadata = {
30
+ handlerProtocol : "h2" ,
31
+ } ;
32
+ static create ( instanceOrOptions ?: any ) {
33
+ if ( typeof instanceOrOptions ?. handle === "function" ) {
34
+ return instanceOrOptions ;
35
+ }
36
+ return new MockNodeHttp2Handler ( ) ;
37
+ }
38
+ destroy ( ) { }
39
+ handle = mockHandle ;
40
+ }
28
41
return {
29
42
NodeHttpHandler : MockNodeHttpHandler ,
43
+ NodeHttp2Handler : MockNodeHttp2Handler ,
30
44
streamCollector : jest . fn ( ) ,
31
45
} ;
32
46
} ) ;
@@ -95,7 +109,7 @@ describe("getDefaultRoleAssumer", () => {
95
109
RoleArn : "arn:aws:foo" ,
96
110
RoleSessionName : "session" ,
97
111
} ;
98
- const sourceCred = { accessKeyId : "key" , secretAccessKey : "secrete " } ;
112
+ const sourceCred = { accessKeyId : "key" , secretAccessKey : "secret " } ;
99
113
const assumedRole = await roleAssumer ( sourceCred , params ) ;
100
114
expect ( assumedRole . accountId ) . toEqual ( "123" ) ;
101
115
} ) ;
@@ -118,7 +132,7 @@ describe("getDefaultRoleAssumer", () => {
118
132
RoleArn : "arn:aws:foo" ,
119
133
RoleSessionName : "session" ,
120
134
} ;
121
- const sourceCred = { accessKeyId : "key" , secretAccessKey : "secrete " } ;
135
+ const sourceCred = { accessKeyId : "key" , secretAccessKey : "secret " } ;
122
136
await roleAssumer ( sourceCred , params ) ;
123
137
expect ( mockConstructorInput ) . toHaveBeenCalledTimes ( 1 ) ;
124
138
expect ( mockConstructorInput . mock . calls [ 0 ] [ 0 ] ) . toMatchObject ( {
@@ -143,7 +157,7 @@ describe("getDefaultRoleAssumer", () => {
143
157
RoleArn : "arn:aws:foo" ,
144
158
RoleSessionName : "session" ,
145
159
} ;
146
- const sourceCred = { accessKeyId : "key" , secretAccessKey : "secrete " } ;
160
+ const sourceCred = { accessKeyId : "key" , secretAccessKey : "secret " } ;
147
161
await roleAssumer ( sourceCred , params ) ;
148
162
expect ( mockConstructorInput ) . toHaveBeenCalledTimes ( 1 ) ;
149
163
expect ( mockConstructorInput . mock . calls [ 0 ] [ 0 ] ) . toMatchObject ( {
@@ -153,6 +167,31 @@ describe("getDefaultRoleAssumer", () => {
153
167
} ) ;
154
168
} ) ;
155
169
170
+ it ( "should not pass through an Http2 requestHandler" , async ( ) => {
171
+ const logger = console ;
172
+ const region = "some-region" ;
173
+ const handler = new NodeHttp2Handler ( ) ;
174
+ const roleAssumer = getDefaultRoleAssumer ( {
175
+ parentClientConfig : {
176
+ region,
177
+ logger,
178
+ requestHandler : handler ,
179
+ } ,
180
+ } ) ;
181
+ const params : AssumeRoleCommandInput = {
182
+ RoleArn : "arn:aws:foo" ,
183
+ RoleSessionName : "session" ,
184
+ } ;
185
+ const sourceCred = { accessKeyId : "key" , secretAccessKey : "secret" } ;
186
+ await roleAssumer ( sourceCred , params ) ;
187
+ expect ( mockConstructorInput ) . toHaveBeenCalledTimes ( 1 ) ;
188
+ expect ( mockConstructorInput . mock . calls [ 0 ] [ 0 ] ) . toMatchObject ( {
189
+ logger,
190
+ requestHandler : undefined ,
191
+ region,
192
+ } ) ;
193
+ } ) ;
194
+
156
195
it ( "should use the STS client middleware" , async ( ) => {
157
196
const customMiddlewareFunction = jest . fn ( ) ;
158
197
const roleAssumer = getDefaultRoleAssumer ( { } , [
@@ -169,7 +208,7 @@ describe("getDefaultRoleAssumer", () => {
169
208
RoleArn : "arn:aws:foo" ,
170
209
RoleSessionName : "session" ,
171
210
} ;
172
- const sourceCred = { accessKeyId : "key" , secretAccessKey : "secrete " } ;
211
+ const sourceCred = { accessKeyId : "key" , secretAccessKey : "secret " } ;
173
212
await Promise . all ( [ roleAssumer ( sourceCred , params ) , roleAssumer ( sourceCred , params ) ] ) ;
174
213
expect ( customMiddlewareFunction ) . toHaveBeenCalledTimes ( 2 ) ; // make sure the middleware is not added to stack multiple times.
175
214
expect ( customMiddlewareFunction ) . toHaveBeenNthCalledWith ( 1 , expect . objectContaining ( { input : params } ) ) ;
0 commit comments