diff --git a/src/Metrics/MetricEvents.test.ts b/src/Metrics/MetricEvents.test.ts index 0c5480b82..b343dd7d3 100644 --- a/src/Metrics/MetricEvents.test.ts +++ b/src/Metrics/MetricEvents.test.ts @@ -1,4 +1,6 @@ +import { HttpHeaders } from "../Common/Constants"; import { configContext, Platform } from "../ConfigContext"; +import { userContext } from "../UserContext"; import { getAuthorizationHeader } from "../Utils/AuthorizationUtils"; import { fetchWithTimeout } from "../Utils/FetchWithTimeout"; import { MetricScenario } from "./Constants"; @@ -40,11 +42,13 @@ describe("MetricEvents", () => { const callArgs = mockFetchWithTimeout.mock.calls[0]; expect(callArgs[0]).toContain("/api/dataexplorer/metrics/health"); - expect(callArgs[1]?.headers).toEqual({ + expect(callArgs[1]?.headers).toMatchObject({ "Content-Type": "application/json", authorization: "Bearer test-token", }); + expect((callArgs[1]?.headers as Record)[HttpHeaders.sessionId]).toBe(userContext.sessionId); + const body = JSON.parse(callArgs[1]?.body as string); expect(body.scenario).toBe(MetricScenario.ApplicationLoad); expect(body.platform).toBe(Platform.Portal); diff --git a/src/Metrics/MetricEvents.ts b/src/Metrics/MetricEvents.ts index 0e4910565..93247c4d1 100644 --- a/src/Metrics/MetricEvents.ts +++ b/src/Metrics/MetricEvents.ts @@ -1,7 +1,9 @@ // Metrics module: scenario metric emission logic. import { MetricEvent, MetricScenario } from "Metrics/Constants"; +import { HttpHeaders } from "../Common/Constants"; import { createUri } from "../Common/UrlUtility"; import { configContext } from "../ConfigContext"; +import { userContext } from "../UserContext"; import { getAuthorizationHeader } from "../Utils/AuthorizationUtils"; import { fetchWithTimeout } from "../Utils/FetchWithTimeout"; @@ -21,7 +23,11 @@ const send = async (event: MetricEvent): Promise => { return await fetchWithTimeout(url, { method: "POST", - headers: { "Content-Type": "application/json", [authHeader.header]: authHeader.token }, + headers: { + "Content-Type": "application/json", + [authHeader.header]: authHeader.token, + [HttpHeaders.sessionId]: userContext.sessionId, + }, body: JSON.stringify(event), }); };