@fluidframework/test-utils 2.0.0-dev-rc.3.0.0.253463 → 2.0.0-dev-rc.3.0.0.254513

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/api-report/test-utils.api.md +33 -13
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/loaderContainerTracker.js.map +1 -1
  6. package/dist/packageVersion.d.ts +1 -1
  7. package/dist/packageVersion.js +1 -1
  8. package/dist/packageVersion.js.map +1 -1
  9. package/dist/test-utils-alpha.d.ts +3 -0
  10. package/dist/test-utils-beta.d.ts +5 -0
  11. package/dist/test-utils-public.d.ts +5 -0
  12. package/dist/test-utils-untrimmed.d.ts +36 -15
  13. package/dist/testContainerRuntimeFactory.js +1 -1
  14. package/dist/testContainerRuntimeFactory.js.map +1 -1
  15. package/dist/testObjectProvider.d.ts +35 -15
  16. package/dist/testObjectProvider.d.ts.map +1 -1
  17. package/dist/testObjectProvider.js +61 -44
  18. package/dist/testObjectProvider.js.map +1 -1
  19. package/lib/index.d.ts +1 -1
  20. package/lib/index.d.ts.map +1 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/loaderContainerTracker.js.map +1 -1
  23. package/lib/packageVersion.d.ts +1 -1
  24. package/lib/packageVersion.js +1 -1
  25. package/lib/packageVersion.js.map +1 -1
  26. package/lib/test-utils-alpha.d.ts +3 -0
  27. package/lib/test-utils-beta.d.ts +5 -0
  28. package/lib/test-utils-public.d.ts +5 -0
  29. package/lib/test-utils-untrimmed.d.ts +36 -15
  30. package/lib/testContainerRuntimeFactory.js +1 -1
  31. package/lib/testContainerRuntimeFactory.js.map +1 -1
  32. package/lib/testObjectProvider.d.ts +35 -15
  33. package/lib/testObjectProvider.d.ts.map +1 -1
  34. package/lib/testObjectProvider.js +55 -38
  35. package/lib/testObjectProvider.js.map +1 -1
  36. package/package.json +27 -24
  37. package/src/index.ts +1 -0
  38. package/src/loaderContainerTracker.ts +1 -1
  39. package/src/packageVersion.ts +1 -1
  40. package/src/testContainerRuntimeFactory.ts +1 -1
  41. package/src/testObjectProvider.ts +116 -64
@@ -9,6 +9,7 @@ import { IContainerRuntimeOptions } from "@fluidframework/container-runtime/inte
9
9
  import { IRequestHeader, ITelemetryBaseEvent, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
10
10
  import { IDocumentServiceFactory, IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions/internal";
11
11
  import { type ITelemetryGenericEventExt } from "@fluidframework/telemetry-utils";
12
+ import { type ITelemetryLoggerPropertyBags } from "@fluidframework/telemetry-utils/internal";
12
13
  import { fluidEntryPoint } from "./localCodeLoader.js";
13
14
  import { ChannelFactoryRegistry } from "./testFluidObject.js";
14
15
  /**
@@ -43,7 +44,11 @@ export interface ITestObjectProvider {
43
44
  /**
44
45
  * Logger used to track expected and unexpected events.
45
46
  */
46
- logger: EventAndErrorTrackingLogger | undefined;
47
+ logger: ITelemetryBaseLogger;
48
+ /**
49
+ * Logger used to track expected and unexpected events.
50
+ */
51
+ tracker: IEventAndErrorTrackingLogger;
47
52
  /**
48
53
  * Used to create a url for the created container with any data store path given in the relative url.
49
54
  */
@@ -111,7 +116,7 @@ export interface ITestObjectProvider {
111
116
  * @param testContainerConfig - optional configuring the test Container
112
117
  * @param requestHeader - optional headers to be supplied to the loader
113
118
  */
114
- loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader): Promise<IContainer>;
119
+ loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader, pendingLocalState?: string): Promise<IContainer>;
115
120
  /**
116
121
  * Update the document ID from the resolved container's URL and reset the ID property
117
122
  */
@@ -176,6 +181,17 @@ export interface IDocumentIdStrategy {
176
181
  */
177
182
  reset(): void;
178
183
  }
184
+ /** @internal */
185
+ export interface IEventAndErrorTrackingLogger {
186
+ registerExpectedEvent: (...orderedExpectedEvents: ITelemetryGenericEventExt[]) => void;
187
+ reportAndClearTrackedEvents: () => {
188
+ expectedNotFound: {
189
+ index: number;
190
+ event: ITelemetryGenericEventExt;
191
+ }[];
192
+ unexpectedErrors: ITelemetryBaseEvent[];
193
+ };
194
+ }
179
195
  /**
180
196
  * This class tracks events. It allows specifying expected events, which will be looked for in order.
181
197
  * It also tracks all unexpected errors.
@@ -183,23 +199,23 @@ export interface IDocumentIdStrategy {
183
199
  * any expected events that have not occurred.
184
200
  * @internal
185
201
  */
186
- export declare class EventAndErrorTrackingLogger implements ITelemetryBaseLogger {
187
- private readonly baseLogger;
202
+ export declare class EventAndErrorTrackingLogger implements ITelemetryBaseLogger, IEventAndErrorTrackingLogger {
203
+ private readonly baseLogger?;
188
204
  /**
189
205
  * Even if these error events are logged, tests should still be allowed to pass
190
206
  * Additionally, if downgrade is true, then log as generic (e.g. to avoid polluting the e2e test logs)
191
207
  */
192
208
  private readonly allowedErrors;
193
- constructor(baseLogger: ITelemetryBaseLogger);
209
+ constructor(baseLogger?: ITelemetryBaseLogger | undefined);
194
210
  private readonly expectedEvents;
195
211
  private readonly unexpectedErrors;
196
212
  registerExpectedEvent(...orderedExpectedEvents: ITelemetryGenericEventExt[]): void;
197
213
  send(event: ITelemetryBaseEvent): void;
198
214
  reportAndClearTrackedEvents(): {
199
- expectedNotFound: ({
215
+ expectedNotFound: {
200
216
  index: number;
201
- event: ITelemetryGenericEventExt | undefined;
202
- } | undefined)[];
217
+ event: ITelemetryGenericEventExt;
218
+ }[];
203
219
  unexpectedErrors: ITelemetryBaseEvent[];
204
220
  };
205
221
  }
@@ -225,6 +241,7 @@ export declare class TestObjectProvider implements ITestObjectProvider {
225
241
  private _documentServiceFactory;
226
242
  private _urlResolver;
227
243
  private _logger;
244
+ private _tracker;
228
245
  private readonly _documentIdStrategy;
229
246
  private _documentCreated;
230
247
  /**
@@ -244,8 +261,8 @@ export declare class TestObjectProvider implements ITestObjectProvider {
244
261
  /**
245
262
  * {@inheritDoc ITestObjectProvider.logger}
246
263
  */
247
- get logger(): EventAndErrorTrackingLogger;
248
- private set logger(value);
264
+ get logger(): ITelemetryBaseLogger;
265
+ get tracker(): EventAndErrorTrackingLogger;
249
266
  /**
250
267
  * {@inheritDoc ITestObjectProvider.documentServiceFactory}
251
268
  */
@@ -298,7 +315,7 @@ export declare class TestObjectProvider implements ITestObjectProvider {
298
315
  /**
299
316
  * {@inheritDoc ITestObjectProvider.loadTestContainer}
300
317
  */
301
- loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader): Promise<IContainer>;
318
+ loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader, pendingLocalState?: string): Promise<IContainer>;
302
319
  /**
303
320
  * {@inheritDoc ITestObjectProvider.reset}
304
321
  */
@@ -329,12 +346,14 @@ export declare class TestObjectProviderWithVersionedLoad implements ITestObjectP
329
346
  private readonly driverForLoading;
330
347
  private readonly createFluidEntryPointForCreating;
331
348
  private readonly createFluidEntryPointForLoading;
349
+ private readonly telemetryProps?;
332
350
  /**
333
351
  * {@inheritDoc ITestObjectProvider."type"}
334
352
  */
335
353
  readonly type = "TestObjectProviderWithVersionedLoad";
336
354
  private _loaderContainerTracker;
337
355
  private _logger;
356
+ private _tracker;
338
357
  private readonly _documentIdStrategy;
339
358
  private _documentServiceFactory;
340
359
  private _urlResolver;
@@ -346,11 +365,12 @@ export declare class TestObjectProviderWithVersionedLoad implements ITestObjectP
346
365
  * subsequent loads use the load APIs.
347
366
  */
348
367
  private useCreateApi;
349
- constructor(LoaderConstructorForCreating: typeof Loader, LoaderConstructorForLoading: typeof Loader, driverForCreating: ITestDriver, driverForLoading: ITestDriver, createFluidEntryPointForCreating: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint, createFluidEntryPointForLoading: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint);
368
+ constructor(LoaderConstructorForCreating: typeof Loader, LoaderConstructorForLoading: typeof Loader, driverForCreating: ITestDriver, driverForLoading: ITestDriver, createFluidEntryPointForCreating: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint, createFluidEntryPointForLoading: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint, telemetryProps?: ITelemetryLoggerPropertyBags | undefined);
350
369
  /**
351
370
  * {@inheritDoc ITestObjectProvider.logger}
352
371
  */
353
- get logger(): EventAndErrorTrackingLogger;
372
+ get logger(): ITelemetryBaseLogger;
373
+ get tracker(): EventAndErrorTrackingLogger;
354
374
  /**
355
375
  * {@inheritDoc ITestObjectProvider.documentServiceFactory}
356
376
  */
@@ -413,7 +433,7 @@ export declare class TestObjectProviderWithVersionedLoad implements ITestObjectP
413
433
  /**
414
434
  * {@inheritDoc ITestObjectProvider.loadTestContainer}
415
435
  */
416
- loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader): Promise<IContainer>;
436
+ loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader, pendingLocalState?: string): Promise<IContainer>;
417
437
  /**
418
438
  * {@inheritDoc ITestObjectProvider.reset}
419
439
  */
@@ -435,5 +455,5 @@ export declare class TestObjectProviderWithVersionedLoad implements ITestObjectP
435
455
  /**
436
456
  * @internal
437
457
  */
438
- export declare function getUnexpectedLogErrorException(logger: EventAndErrorTrackingLogger | undefined, prefix?: string): Error | undefined;
458
+ export declare function getUnexpectedLogErrorException(logger: IEventAndErrorTrackingLogger | undefined, prefix?: string): Error | undefined;
439
459
  //# sourceMappingURL=testObjectProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testObjectProvider.d.ts","sourceRoot":"","sources":["../src/testObjectProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testObjectProvider.d.ts","sourceRoot":"","sources":["../src/testObjectProvider.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ import { assert } from "@fluidframework/core-utils/internal";
5
6
  import { waitContainerToCatchUp as waitContainerToCatchUp_original, } from "@fluidframework/container-loader/internal";
6
- import { createChildLogger, createMultiSinkLogger } from "@fluidframework/telemetry-utils/internal";
7
+ import { createChildLogger, createMultiSinkLogger, } from "@fluidframework/telemetry-utils/internal";
7
8
  import { v4 as uuid } from "uuid";
8
9
  import { LoaderContainerTracker } from "./loaderContainerTracker.js";
9
10
  import { LocalCodeLoader } from "./localCodeLoader.js";
@@ -88,24 +89,26 @@ export class EventAndErrorTrackingLogger {
88
89
  this.expectedEvents.push(...orderedExpectedEvents.map((event, index) => ({ index, event })));
89
90
  }
90
91
  send(event) {
91
- const ee = this.expectedEvents[0]?.event;
92
- if (ee?.eventName === event.eventName) {
93
- let matches = true;
94
- for (const key of Object.keys(ee)) {
95
- if (ee[key] !== event[key]) {
96
- matches = false;
97
- break;
92
+ if (this.expectedEvents.length > 0) {
93
+ const ee = this.expectedEvents[0].event;
94
+ if (ee.eventName === event.eventName) {
95
+ let matches = true;
96
+ for (const key of Object.keys(ee)) {
97
+ if (ee[key] !== event[key]) {
98
+ matches = false;
99
+ break;
100
+ }
98
101
  }
99
- }
100
- if (matches) {
101
- // we found an expected event
102
- // so remove it from the list of expected events
103
- // and if it is an error, change it to generic
104
- // this helps keep our telemetry clear of
105
- // expected errors.
106
- this.expectedEvents.shift();
107
- if (event.category === "error") {
108
- event.category = "generic";
102
+ if (matches) {
103
+ // we found an expected event
104
+ // so remove it from the list of expected events
105
+ // and if it is an error, change it to generic
106
+ // this helps keep our telemetry clear of
107
+ // expected errors.
108
+ this.expectedEvents.shift();
109
+ if (event.category === "error") {
110
+ event.category = "generic";
111
+ }
109
112
  }
110
113
  }
111
114
  }
@@ -119,7 +122,7 @@ export class EventAndErrorTrackingLogger {
119
122
  event.category = "generic";
120
123
  }
121
124
  }
122
- this.baseLogger.send(event);
125
+ this.baseLogger?.send(event);
123
126
  }
124
127
  reportAndClearTrackedEvents() {
125
128
  const expectedNotFound = this.expectedEvents.splice(0, this.expectedEvents.length);
@@ -166,22 +169,26 @@ export class TestObjectProvider {
166
169
  */
167
170
  get logger() {
168
171
  if (this._logger === undefined) {
169
- this._logger = new EventAndErrorTrackingLogger(createChildLogger({
170
- logger: getTestLogger?.(),
172
+ this._tracker = new EventAndErrorTrackingLogger(getTestLogger?.());
173
+ this._logger = createChildLogger({
174
+ logger: this._tracker,
171
175
  properties: {
172
176
  all: {
177
+ testType: this.type,
173
178
  driverType: this.driver.type,
174
179
  driverEndpointName: this.driver.endpointName,
175
180
  driverTenantName: this.driver.tenantName,
176
181
  driverUserIndex: this.driver.userIndex,
177
182
  },
178
183
  },
179
- }));
184
+ });
180
185
  }
181
186
  return this._logger;
182
187
  }
183
- set logger(logger) {
184
- this._logger = logger;
188
+ get tracker() {
189
+ void this.logger;
190
+ assert(this._tracker !== undefined, "should be initialized");
191
+ return this._tracker;
185
192
  }
186
193
  /**
187
194
  * {@inheritDoc ITestObjectProvider.documentServiceFactory}
@@ -279,11 +286,11 @@ export class TestObjectProvider {
279
286
  const loader = this.createLoader([[defaultCodeDetails, entryPoint]], loaderProps);
280
287
  return this.resolveContainer(loader, requestHeader);
281
288
  }
282
- async resolveContainer(loader, headers) {
289
+ async resolveContainer(loader, headers, pendingLocalState) {
283
290
  return loader.resolve({
284
291
  url: await this.driver.createContainerUrl(this.documentId),
285
292
  headers,
286
- });
293
+ }, pendingLocalState);
287
294
  }
288
295
  /**
289
296
  * {@inheritDoc ITestObjectProvider.makeTestLoader}
@@ -309,9 +316,9 @@ export class TestObjectProvider {
309
316
  /**
310
317
  * {@inheritDoc ITestObjectProvider.loadTestContainer}
311
318
  */
312
- async loadTestContainer(testContainerConfig, requestHeader) {
319
+ async loadTestContainer(testContainerConfig, requestHeader, pendingLocalState) {
313
320
  const loader = this.makeTestLoader(testContainerConfig);
314
- const container = await this.resolveContainer(loader, requestHeader);
321
+ const container = await this.resolveContainer(loader, requestHeader, pendingLocalState);
315
322
  await this.waitContainerToCatchUp(container);
316
323
  return container;
317
324
  }
@@ -323,11 +330,12 @@ export class TestObjectProvider {
323
330
  this._documentServiceFactory = undefined;
324
331
  this._urlResolver = undefined;
325
332
  this._documentIdStrategy.reset();
326
- const logError = getUnexpectedLogErrorException(this._logger);
333
+ const logError = getUnexpectedLogErrorException(this._tracker);
327
334
  if (logError) {
328
335
  throw logError;
329
336
  }
330
337
  this._logger = undefined;
338
+ this._tracker = undefined;
331
339
  this._documentCreated = false;
332
340
  }
333
341
  /**
@@ -366,13 +374,14 @@ export class TestObjectProvider {
366
374
  * @internal
367
375
  */
368
376
  export class TestObjectProviderWithVersionedLoad {
369
- constructor(LoaderConstructorForCreating, LoaderConstructorForLoading, driverForCreating, driverForLoading, createFluidEntryPointForCreating, createFluidEntryPointForLoading) {
377
+ constructor(LoaderConstructorForCreating, LoaderConstructorForLoading, driverForCreating, driverForLoading, createFluidEntryPointForCreating, createFluidEntryPointForLoading, telemetryProps) {
370
378
  this.LoaderConstructorForCreating = LoaderConstructorForCreating;
371
379
  this.LoaderConstructorForLoading = LoaderConstructorForLoading;
372
380
  this.driverForCreating = driverForCreating;
373
381
  this.driverForLoading = driverForLoading;
374
382
  this.createFluidEntryPointForCreating = createFluidEntryPointForCreating;
375
383
  this.createFluidEntryPointForLoading = createFluidEntryPointForLoading;
384
+ this.telemetryProps = telemetryProps;
376
385
  /**
377
386
  * {@inheritDoc ITestObjectProvider."type"}
378
387
  */
@@ -394,12 +403,19 @@ export class TestObjectProviderWithVersionedLoad {
394
403
  */
395
404
  get logger() {
396
405
  if (this._logger === undefined) {
397
- this._logger = new EventAndErrorTrackingLogger(createChildLogger({
398
- logger: getTestLogger?.(),
399
- }));
406
+ this._tracker = new EventAndErrorTrackingLogger(getTestLogger?.());
407
+ this._logger = createChildLogger({
408
+ logger: this._tracker,
409
+ properties: this.telemetryProps,
410
+ });
400
411
  }
401
412
  return this._logger;
402
413
  }
414
+ get tracker() {
415
+ void this.logger;
416
+ assert(this._tracker !== undefined, "should be initialized");
417
+ return this._tracker;
418
+ }
403
419
  /**
404
420
  * {@inheritDoc ITestObjectProvider.documentServiceFactory}
405
421
  */
@@ -536,12 +552,12 @@ export class TestObjectProviderWithVersionedLoad {
536
552
  const loader = this.createLoader([[defaultCodeDetails, entryPoint]], loaderProps);
537
553
  return this.resolveContainer(loader, requestHeader, driver);
538
554
  }
539
- async resolveContainer(loader, headers, driver) {
555
+ async resolveContainer(loader, headers, driver, pendingLocalState) {
540
556
  return loader.resolve({
541
557
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
542
558
  url: await driver.createContainerUrl(this.documentId),
543
559
  headers,
544
- });
560
+ }, pendingLocalState);
545
561
  }
546
562
  /**
547
563
  * {@inheritDoc ITestObjectProvider.makeTestLoader}
@@ -567,11 +583,11 @@ export class TestObjectProviderWithVersionedLoad {
567
583
  /**
568
584
  * {@inheritDoc ITestObjectProvider.loadTestContainer}
569
585
  */
570
- async loadTestContainer(testContainerConfig, requestHeader) {
586
+ async loadTestContainer(testContainerConfig, requestHeader, pendingLocalState) {
571
587
  // Keep track of which Loader we are about to use so we can pass the correct driver through
572
588
  const driver = this.useCreateApi ? this.driverForCreating : this.driverForLoading;
573
589
  const loader = this.makeTestLoader(testContainerConfig);
574
- const container = await this.resolveContainer(loader, requestHeader, driver);
590
+ const container = await this.resolveContainer(loader, requestHeader, driver, pendingLocalState);
575
591
  await this.waitContainerToCatchUp(container);
576
592
  return container;
577
593
  }
@@ -582,10 +598,11 @@ export class TestObjectProviderWithVersionedLoad {
582
598
  this.useCreateApi = true;
583
599
  this._loaderContainerTracker.reset();
584
600
  this._logger = undefined;
601
+ this._tracker = undefined;
585
602
  this._documentServiceFactory = undefined;
586
603
  this._urlResolver = undefined;
587
604
  this._documentIdStrategy.reset();
588
- const logError = getUnexpectedLogErrorException(this._logger);
605
+ const logError = getUnexpectedLogErrorException(this._tracker);
589
606
  if (logError) {
590
607
  throw logError;
591
608
  }