@@ -130,6 +130,7 @@ describe("Telemetry", () => {
130130 telemetry = Telemetry . create ( session , config , {
131131 eventCache : mockEventCache ,
132132 getRawMachineId : ( ) => Promise . resolve ( machineId ) ,
133+ getContainerEnv : ( ) => Promise . resolve ( false ) ,
133134 } ) ;
134135
135136 config . telemetry = "enabled" ;
@@ -216,6 +217,7 @@ describe("Telemetry", () => {
216217 it ( "should successfully resolve the machine ID" , async ( ) => {
217218 telemetry = Telemetry . create ( session , config , {
218219 getRawMachineId : ( ) => Promise . resolve ( machineId ) ,
220+ getContainerEnv : ( ) => Promise . resolve ( false ) ,
219221 } ) ;
220222
221223 expect ( telemetry . isBufferingEvents ( ) ) . toBe ( true ) ;
@@ -229,6 +231,7 @@ describe("Telemetry", () => {
229231
230232 telemetry = Telemetry . create ( session , config , {
231233 getRawMachineId : ( ) => Promise . reject ( new Error ( "Failed to get device ID" ) ) ,
234+ getContainerEnv : ( ) => Promise . resolve ( false ) ,
232235 } ) ;
233236
234237 expect ( telemetry . isBufferingEvents ( ) ) . toBe ( true ) ;
@@ -243,37 +246,24 @@ describe("Telemetry", () => {
243246 ) ;
244247 } ) ;
245248
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+ } ) ;
277267 } ) ;
278268 } ) ;
279269
0 commit comments