@@ -130,6 +130,7 @@ describe("Telemetry", () => {
130
130
telemetry = Telemetry . create ( session , config , {
131
131
eventCache : mockEventCache ,
132
132
getRawMachineId : ( ) => Promise . resolve ( machineId ) ,
133
+ getContainerEnv : ( ) => Promise . resolve ( false ) ,
133
134
} ) ;
134
135
135
136
config . telemetry = "enabled" ;
@@ -216,6 +217,7 @@ describe("Telemetry", () => {
216
217
it ( "should successfully resolve the machine ID" , async ( ) => {
217
218
telemetry = Telemetry . create ( session , config , {
218
219
getRawMachineId : ( ) => Promise . resolve ( machineId ) ,
220
+ getContainerEnv : ( ) => Promise . resolve ( false ) ,
219
221
} ) ;
220
222
221
223
expect ( telemetry . isBufferingEvents ( ) ) . toBe ( true ) ;
@@ -229,6 +231,7 @@ describe("Telemetry", () => {
229
231
230
232
telemetry = Telemetry . create ( session , config , {
231
233
getRawMachineId : ( ) => Promise . reject ( new Error ( "Failed to get device ID" ) ) ,
234
+ getContainerEnv : ( ) => Promise . resolve ( false ) ,
232
235
} ) ;
233
236
234
237
expect ( telemetry . isBufferingEvents ( ) ) . toBe ( true ) ;
@@ -243,37 +246,24 @@ describe("Telemetry", () => {
243
246
) ;
244
247
} ) ;
245
248
246
- // it("should timeout if machine ID resolution takes too long", async () => {
247
- // const DEVICE_ID_TIMEOUT = 3000;
248
- // const loggerSpy = jest.spyOn(logger, "debug");
249
-
250
- // telemetry = Telemetry.create(session, config, {
251
- // getRawMachineId: () => new Promise(() => {}),
252
- // getContainerEnv: () => Promise.resolve(false),
253
- // });
254
- // console.log("DEBUG 1");
255
- // expect(telemetry.isBufferingEvents()).toBe(true);
256
- // const commonProps = await telemetry.getAsyncCommonProperties();
257
- // console.log("DEBUG 2", commonProps);
258
- // expect(telemetry.isBufferingEvents()).toBe(true);
259
- // expect(commonProps.device_id).toBe(undefined);
260
- // console.log("DEBUG 3");
261
- // jest.advanceTimersByTime(DEVICE_ID_TIMEOUT / 2);
262
- // console.log("DEBUG 3", commonProps);
263
- // // Make sure the timeout doesn't happen prematurely.
264
- // expect(telemetry.isBufferingEvents()).toBe(true);
265
- // expect(commonProps.device_id).toBe(undefined);
266
-
267
- // jest.advanceTimersByTime(DEVICE_ID_TIMEOUT);
268
- // console.log("DEBUG 4", commonProps);
269
- // expect(commonProps.device_id).toBe("unknown");
270
- // expect(telemetry.isBufferingEvents()).toBe(false);
271
- // expect(loggerSpy).toHaveBeenCalledWith(
272
- // LogId.telemetryDeviceIdTimeout,
273
- // "telemetry",
274
- // "Device ID retrieval timed out"
275
- // );
276
- // });
249
+ it ( "should timeout if machine ID resolution takes too long" , async ( ) => {
250
+ const DEVICE_ID_TIMEOUT = 3000 ;
251
+ const loggerSpy = jest . spyOn ( logger , "debug" ) ;
252
+
253
+ telemetry = Telemetry . create ( session , config , {
254
+ getRawMachineId : ( ) => new Promise ( ( ) => { } ) ,
255
+ getContainerEnv : ( ) => Promise . resolve ( false ) ,
256
+ } ) ;
257
+ expect ( telemetry . isBufferingEvents ( ) ) . toBe ( true ) ;
258
+ jest . advanceTimersByTime ( DEVICE_ID_TIMEOUT ) ;
259
+ const commonProps = await telemetry . getAsyncCommonProperties ( ) ;
260
+ expect ( commonProps . device_id ) . toBe ( "unknown" ) ;
261
+ expect ( loggerSpy ) . toHaveBeenCalledWith (
262
+ LogId . telemetryDeviceIdTimeout ,
263
+ "telemetry" ,
264
+ "Device ID retrieval timed out"
265
+ ) ;
266
+ } ) ;
277
267
} ) ;
278
268
} ) ;
279
269
0 commit comments