@@ -212,14 +212,16 @@ func TestRuntimeAPIContextPlumbing(t *testing.T) {
212212 }, nil
213213 })
214214
215- ts , record := runtimeAPIServer (`` , 1 )
215+ metadata2 := defaultInvokeMetadata ()
216+ metadata2 .tenantID = "some-tenant-id"
217+ ts , record := runtimeAPIServer (`` , 2 , defaultInvokeMetadata (), metadata2 )
216218 defer ts .Close ()
217219
218220 endpoint := strings .Split (ts .URL , "://" )[1 ]
219221 expectedError := fmt .Sprintf ("failed to GET http://%s/2018-06-01/runtime/invocation/next: got unexpected status code: 410" , endpoint )
220222 assert .EqualError (t , startRuntimeAPILoop (endpoint , handler ), expectedError )
221223
222- expected := `
224+ expected1 := `
223225 {
224226 "Context": {
225227 "AwsRequestID": "dummyid",
@@ -244,7 +246,35 @@ func TestRuntimeAPIContextPlumbing(t *testing.T) {
244246 "Deadline": 22
245247 }
246248 `
247- assert .JSONEq (t , expected , string (record .responses [0 ]))
249+ expected2 := `
250+ {
251+ "Context": {
252+ "AwsRequestID": "dummyid",
253+ "InvokedFunctionArn": "dummyarn",
254+ "TenantID": "some-tenant-id",
255+ "Identity": {
256+ "CognitoIdentityID": "dummyident",
257+ "CognitoIdentityPoolID": "dummypool"
258+ },
259+ "ClientContext": {
260+ "Client": {
261+ "installation_id": "dummyinstallid",
262+ "app_title": "dummytitle",
263+ "app_version_code": "dummycode",
264+ "app_package_name": "dummyname"
265+ },
266+ "env": null,
267+ "custom": null
268+ }
269+ },
270+ "TraceID": "its-xray-time",
271+ "EnvTraceID": "its-xray-time",
272+ "Deadline": 22
273+ }
274+ `
275+
276+ assert .JSONEq (t , expected1 , string (record .responses [0 ]))
277+ assert .JSONEq (t , expected2 , string (record .responses [1 ]))
248278}
249279
250280func TestReadPayload (t * testing.T ) {
@@ -387,6 +417,7 @@ type eventMetadata struct {
387417 deadline string
388418 requestID string
389419 functionARN string
420+ tenantID string
390421}
391422
392423func defaultInvokeMetadata () eventMetadata {
@@ -440,6 +471,9 @@ func runtimeAPIServer(eventPayload string, failAfter int, overrides ...eventMeta
440471 w .Header ().Add (string (headerClientContext ), metadata .clientContext )
441472 w .Header ().Add (string (headerCognitoIdentity ), metadata .cognito )
442473 w .Header ().Add (string (headerTraceID ), metadata .xray )
474+ if metadata .tenantID != "" {
475+ w .Header ().Add (string (headerTenantID ), metadata .tenantID )
476+ }
443477 w .WriteHeader (http .StatusOK )
444478 _ , _ = w .Write ([]byte (eventPayload ))
445479 case http .MethodPost :
0 commit comments