Skip to content

Commit 0a92100

Browse files
author
Amit Joshi
committed
Improve error telemetry handling in fetchDataFromDataverseAndUpdateVFS
1 parent ec9866f commit 0a92100

2 files changed

Lines changed: 14 additions & 10 deletions

File tree

src/web/client/dal/remoteFetchProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,7 @@ async function fetchMappingEntityContent(
679679
fetchMappingEntityContent.name,
680680
httpError.message,
681681
'',
682-
httpError.httpDetails.statusCode.toString()
682+
httpError.httpDetails?.statusCode.toString() ?? ''
683683
);
684684
throw httpError;
685685
}

src/web/client/test/integration/remoteFetchProvider.test.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ describe("remoteFetchProvider", () => {
491491
assert.called(_mockFetch);
492492
});
493493

494-
it("fetchDataFromDataverseAndUpdateVFS_whenResponseNotSuccess_shouldCallSendErrorTelemetry", async () => {
494+
it("fetchDataFromDataverseAndUpdateVFS_whenResponseNotSuccess_shouldCallSendAPIFailureTelemetry", async () => {
495495
//Act
496496
const entityName = "webpages";
497497
const entityId = "aa563be7-9a38-4a89-9216-47f9fc6a3f14";
@@ -510,9 +510,9 @@ describe("remoteFetchProvider", () => {
510510
entityId,
511511
queryParamsMap
512512
);
513-
const sendErrorTelemetry = stub(
513+
const sendAPIFailureTelemetry = stub(
514514
WebExtensionContext.telemetry,
515-
"sendErrorTelemetry"
515+
"sendAPIFailureTelemetry"
516516
);
517517

518518
const languageIdCodeMap = new Map<string, string>([["1033", "en-US"]]);
@@ -548,6 +548,7 @@ describe("remoteFetchProvider", () => {
548548
{ accessToken: accessToken, userId: "" }
549549
);
550550

551+
const mockResponseBody = "Internal Server Error";
551552
// Stub fetch BEFORE authenticateAndUpdateDataverseProperties to avoid retry delays
552553
const _mockFetch = stub(fetch, "default").resolves({
553554
ok: false,
@@ -575,13 +576,16 @@ describe("remoteFetchProvider", () => {
575576
await fetchDataFromDataverseAndUpdateVFS(portalFs);
576577

577578
//Assert
578-
const sendErrorTelemetryCalls = sendErrorTelemetry.getCalls();
579-
580-
assert.called(sendErrorTelemetry);
581-
assert.calledWithMatch(sendErrorTelemetryCalls[sendErrorTelemetryCalls.length - 1],
582-
webExtensionTelemetryEventNames.WEB_EXTENSION_FETCH_DATAVERSE_AND_CREATE_FILES_SYSTEM_ERROR,
579+
assert.called(sendAPIFailureTelemetry);
580+
assert.calledWithMatch(sendAPIFailureTelemetry,
581+
sinon.match.string,
582+
entityName,
583+
Constants.httpMethod.GET,
584+
sinon.match.number,
583585
"fetchFromDataverseAndCreateFiles",
584-
`{"ok":false,"statusText":"statusText"}`);
586+
sinon.match.string,
587+
'',
588+
"500");
585589
assert.called(_mockFetch);
586590
});
587591

0 commit comments

Comments
 (0)