@fluidframework/test-utils 1.4.0-115997 → 2.0.0-dev-rc.1.0.0.224419

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 (98) hide show
  1. package/.eslintrc.js +8 -7
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +177 -0
  4. package/README.md +44 -14
  5. package/api-extractor-lint.json +4 -0
  6. package/api-extractor.json +2 -2
  7. package/api-report/test-utils.api.md +395 -0
  8. package/dist/DriverWrappers.d.ts +32 -0
  9. package/dist/DriverWrappers.d.ts.map +1 -0
  10. package/dist/DriverWrappers.js +57 -0
  11. package/dist/DriverWrappers.js.map +1 -0
  12. package/dist/TestConfigs.d.ts +10 -0
  13. package/dist/TestConfigs.d.ts.map +1 -0
  14. package/dist/TestConfigs.js +17 -0
  15. package/dist/TestConfigs.js.map +1 -0
  16. package/dist/TestSummaryUtils.d.ts +61 -0
  17. package/dist/TestSummaryUtils.d.ts.map +1 -0
  18. package/dist/TestSummaryUtils.js +135 -0
  19. package/dist/TestSummaryUtils.js.map +1 -0
  20. package/dist/containerUtils.d.ts +46 -0
  21. package/dist/containerUtils.d.ts.map +1 -0
  22. package/dist/containerUtils.js +85 -0
  23. package/dist/containerUtils.js.map +1 -0
  24. package/dist/index.d.ts +14 -9
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +43 -19
  27. package/dist/index.js.map +1 -1
  28. package/dist/interfaces.d.ts +6 -0
  29. package/dist/interfaces.d.ts.map +1 -1
  30. package/dist/interfaces.js.map +1 -1
  31. package/dist/loaderContainerTracker.d.ts +39 -15
  32. package/dist/loaderContainerTracker.d.ts.map +1 -1
  33. package/dist/loaderContainerTracker.js +214 -86
  34. package/dist/loaderContainerTracker.js.map +1 -1
  35. package/dist/localCodeLoader.d.ts +9 -2
  36. package/dist/localCodeLoader.d.ts.map +1 -1
  37. package/dist/localCodeLoader.js +18 -17
  38. package/dist/localCodeLoader.js.map +1 -1
  39. package/dist/localLoader.d.ts +3 -2
  40. package/dist/localLoader.d.ts.map +1 -1
  41. package/dist/localLoader.js +2 -0
  42. package/dist/localLoader.js.map +1 -1
  43. package/dist/packageVersion.d.ts +1 -1
  44. package/dist/packageVersion.d.ts.map +1 -1
  45. package/dist/packageVersion.js +1 -1
  46. package/dist/packageVersion.js.map +1 -1
  47. package/dist/retry.d.ts +1 -0
  48. package/dist/retry.d.ts.map +1 -1
  49. package/dist/retry.js +3 -2
  50. package/dist/retry.js.map +1 -1
  51. package/dist/test-utils-alpha.d.ts +305 -0
  52. package/dist/test-utils-beta.d.ts +202 -0
  53. package/dist/test-utils-public.d.ts +202 -0
  54. package/dist/test-utils-untrimmed.d.ts +1001 -0
  55. package/dist/testContainerRuntimeFactory.d.ts +4 -2
  56. package/dist/testContainerRuntimeFactory.d.ts.map +1 -1
  57. package/dist/testContainerRuntimeFactory.js +67 -12
  58. package/dist/testContainerRuntimeFactory.js.map +1 -1
  59. package/dist/testContainerRuntimeFactoryWithDefaultDataStore.d.ts +23 -0
  60. package/dist/testContainerRuntimeFactoryWithDefaultDataStore.d.ts.map +1 -0
  61. package/dist/testContainerRuntimeFactoryWithDefaultDataStore.js +32 -0
  62. package/dist/testContainerRuntimeFactoryWithDefaultDataStore.js.map +1 -0
  63. package/dist/testFluidObject.d.ts +30 -12
  64. package/dist/testFluidObject.d.ts.map +1 -1
  65. package/dist/testFluidObject.js +74 -43
  66. package/dist/testFluidObject.js.map +1 -1
  67. package/dist/testObjectProvider.d.ts +298 -41
  68. package/dist/testObjectProvider.d.ts.map +1 -1
  69. package/dist/testObjectProvider.js +377 -61
  70. package/dist/testObjectProvider.js.map +1 -1
  71. package/dist/timeoutUtils.d.ts +42 -0
  72. package/dist/timeoutUtils.d.ts.map +1 -1
  73. package/dist/timeoutUtils.js +142 -9
  74. package/dist/timeoutUtils.js.map +1 -1
  75. package/dist/tsdoc-metadata.json +11 -0
  76. package/lib/test-utils-alpha.d.ts +305 -0
  77. package/lib/test-utils-beta.d.ts +202 -0
  78. package/lib/test-utils-public.d.ts +202 -0
  79. package/lib/test-utils-untrimmed.d.ts +1001 -0
  80. package/package.json +106 -72
  81. package/prettier.config.cjs +8 -0
  82. package/src/DriverWrappers.ts +83 -0
  83. package/src/TestConfigs.ts +17 -0
  84. package/src/TestSummaryUtils.ts +210 -0
  85. package/src/containerUtils.ts +90 -0
  86. package/src/index.ts +47 -9
  87. package/src/interfaces.ts +16 -7
  88. package/src/loaderContainerTracker.ts +754 -534
  89. package/src/localCodeLoader.ts +87 -86
  90. package/src/localLoader.ts +27 -26
  91. package/src/packageVersion.ts +1 -1
  92. package/src/retry.ts +33 -26
  93. package/src/testContainerRuntimeFactory.ts +152 -59
  94. package/src/testContainerRuntimeFactoryWithDefaultDataStore.ts +61 -0
  95. package/src/testFluidObject.ts +190 -147
  96. package/src/testObjectProvider.ts +931 -372
  97. package/src/timeoutUtils.ts +226 -37
  98. package/tsconfig.json +9 -12
@@ -3,52 +3,131 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { IContainer, IHostLoader, IFluidCodeDetails } from "@fluidframework/container-definitions";
6
- import { ITelemetryGenericEvent, ITelemetryBaseLogger, ITelemetryBaseEvent } from "@fluidframework/common-definitions";
7
6
  import { ILoaderProps, Loader } from "@fluidframework/container-loader";
8
7
  import { IContainerRuntimeOptions } from "@fluidframework/container-runtime";
9
- import { IRequestHeader } from "@fluidframework/core-interfaces";
8
+ import { ITelemetryGenericEvent, ITelemetryBaseLogger, ITelemetryBaseEvent, IRequestHeader } from "@fluidframework/core-interfaces";
10
9
  import { IDocumentServiceFactory, IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
11
10
  import { ITestDriver } from "@fluidframework/test-driver-definitions";
12
- import { TelemetryLogger } from "@fluidframework/telemetry-utils";
13
11
  import { fluidEntryPoint } from "./localCodeLoader";
14
12
  import { ChannelFactoryRegistry } from "./testFluidObject";
13
+ /**
14
+ * @alpha
15
+ */
15
16
  export interface IOpProcessingController {
16
17
  processIncoming(...containers: IContainer[]): Promise<void>;
17
18
  processOutgoing(...containers: IContainer[]): Promise<void>;
18
19
  pauseProcessing(...containers: IContainer[]): Promise<void>;
19
20
  resumeProcessing(...containers: IContainer[]): void;
20
21
  }
22
+ /**
23
+ * @internal
24
+ */
21
25
  export interface ITestObjectProvider {
26
+ /**
27
+ * Indicates which type of test object provider is being used.
28
+ */
29
+ type: "TestObjectProvider" | "TestObjectProviderWithVersionedLoad";
30
+ /**
31
+ * The document id to retrieve or create containers
32
+ */
33
+ documentId: string;
34
+ /**
35
+ * Creates the document service after extracting different endpoints URLs from a resolved URL.
36
+ */
37
+ documentServiceFactory: IDocumentServiceFactory;
38
+ /**
39
+ * Test driver used to create the IDocumentServiceFactory. Varies depending on the test type.
40
+ */
41
+ driver: ITestDriver;
42
+ /**
43
+ * Logger used to track expected and unexpected events.
44
+ */
45
+ logger: EventAndErrorTrackingLogger | undefined;
46
+ /**
47
+ * Used to create a url for the created container with any data store path given in the relative url.
48
+ */
49
+ urlResolver: IUrlResolver;
50
+ /**
51
+ * Default IFluidCodeDetails used to create containers.
52
+ */
53
+ defaultCodeDetails: IFluidCodeDetails;
54
+ /**
55
+ * Contains functions to pause/resume op processing.
56
+ */
57
+ opProcessingController: IOpProcessingController;
58
+ /**
59
+ * Represents the entry point for a Fluid container.
60
+ */
22
61
  createFluidEntryPoint: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint;
62
+ /**
63
+ * Create a loader. Containers created/loaded through this loader will be added to the OpProcessingController.
64
+ *
65
+ * Only the version of the loader will vary based on compat config. The version of
66
+ * containerRuntime/dataRuntime used in fluidEntryPoint will be used as is from what is passed in.
67
+ *
68
+ * @param packageEntries - list of code details and fluidEntryPoint pairs.
69
+ */
23
70
  createLoader(packageEntries: Iterable<[IFluidCodeDetails, fluidEntryPoint]>, loaderProps?: Partial<ILoaderProps>): IHostLoader;
71
+ /**
72
+ * Create a container using a default document id and code details.
73
+ * Container created is automatically added to the OpProcessingController to manage op flow
74
+ *
75
+ * Only the version of the loader will vary based on compat config. The version of
76
+ * containerRuntime/dataRuntime used in fluidEntryPoint will be used as is from what is passed in.
77
+ *
78
+ * @param packageEntries - list of code details and fluidEntryPoint pairs.
79
+ */
24
80
  createContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>): Promise<IContainer>;
81
+ /**
82
+ * Loads a container using the default document id
83
+ */
25
84
  loadContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>, requestHeader?: IRequestHeader): Promise<IContainer>;
26
85
  /**
27
- * Used to create a test Container. The Loader/ContainerRuntime/DataRuntime might be different versioned.
28
- * In generateLocalCompatTest(), this Container and its runtime will be arbitrarily-versioned.
86
+ * Make a test loader. Containers created/loaded through this loader will be added to the OpProcessingController.
87
+ * The version of the loader/containerRuntime/dataRuntime may vary based on compat config of the current run
88
+ * @param testContainerConfig - optional configuring the test Container
29
89
  */
30
90
  makeTestLoader(testContainerConfig?: ITestContainerConfig): IHostLoader;
91
+ /**
92
+ * Make a container using a default document id and code details
93
+ * Container loaded is automatically added to the OpProcessingController to manage op flow
94
+ * @param testContainerConfig - optional configuring the test Container
95
+ */
31
96
  makeTestContainer(testContainerConfig?: ITestContainerConfig): Promise<IContainer>;
97
+ /**
98
+ * Load a container using a default document id and code details.
99
+ * IContainer loaded is automatically added to the OpProcessingController to manage op flow
100
+ * @param testContainerConfig - optional configuring the test Container
101
+ * @param requestHeader - optional headers to be supplied to the loader
102
+ */
32
103
  loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader): Promise<IContainer>;
33
104
  /**
34
- *
35
- * @param url - Resolved container URL
105
+ * Update the document ID from the resolved container's URL and reset the ID property
36
106
  */
37
107
  updateDocumentId(url: IResolvedUrl | undefined): void;
38
- logger: ITelemetryBaseLogger;
39
- documentServiceFactory: IDocumentServiceFactory;
40
- urlResolver: IUrlResolver;
41
- defaultCodeDetails: IFluidCodeDetails;
42
- opProcessingController: IOpProcessingController;
43
- ensureSynchronized(): Promise<void>;
108
+ /**
109
+ * Make sure all the tracked containers are synchronized.
110
+ */
111
+ ensureSynchronized(timeoutDuration?: number): Promise<void>;
112
+ /**
113
+ * Reset the tracker, closing all containers and stop tracking them.
114
+ */
115
+ resetLoaderContainerTracker(syncSummarizerClients?: boolean): any;
116
+ /**
117
+ * Resets and closes all tracked containers and class states.
118
+ */
44
119
  reset(): void;
45
- documentId: string;
46
- driver: ITestDriver;
47
120
  }
121
+ /**
122
+ * @internal
123
+ */
48
124
  export declare enum DataObjectFactoryType {
49
125
  Primed = 0,
50
126
  Test = 1
51
127
  }
128
+ /**
129
+ * @internal
130
+ */
52
131
  export interface ITestContainerConfig {
53
132
  /** TestFluidDataObject instead of PrimedDataStore */
54
133
  fluidDataObjectType?: DataObjectFactoryType;
@@ -56,18 +135,48 @@ export interface ITestContainerConfig {
56
135
  registry?: ChannelFactoryRegistry;
57
136
  /** Container runtime options for the container instance */
58
137
  runtimeOptions?: IContainerRuntimeOptions;
138
+ /** Whether this runtime should be instantiated using a mixed-in attributor class */
139
+ enableAttribution?: boolean;
59
140
  /** Loader options for the loader used to create containers */
60
141
  loaderProps?: Partial<ILoaderProps>;
61
142
  }
143
+ /**
144
+ * @internal
145
+ */
62
146
  export declare const createDocumentId: () => string;
147
+ /**
148
+ * Used to retrieve, update, and reset document id based on the type of driver being used.
149
+ *
150
+ * @internal
151
+ */
152
+ export interface IDocumentIdStrategy {
153
+ /**
154
+ * Get document id
155
+ */
156
+ get(): string;
157
+ /**
158
+ * Update the document ID from the resolved container's URL and reset the ID property
159
+ */
160
+ update(resolvedUrl?: IResolvedUrl): void;
161
+ /**
162
+ * Reset document id to a new document id
163
+ */
164
+ reset(): void;
165
+ }
63
166
  /**
64
167
  * This class tracks events. It allows specifying expected events, which will be looked for in order.
65
168
  * It also tracks all unexpected errors.
66
169
  * At any point you call reportAndClearTrackedEvents which will provide all unexpected errors, and
67
170
  * any expected events that have not occurred.
171
+ * @internal
68
172
  */
69
- export declare class EventAndErrorTrackingLogger extends TelemetryLogger {
173
+ export declare class EventAndErrorTrackingLogger implements ITelemetryBaseLogger {
70
174
  private readonly baseLogger;
175
+ /**
176
+ * Even if these error events are logged, tests should still be allowed to pass
177
+ * Additionally, if downgrade is true, then log as generic (e.g. to avoid polluting the e2e test logs)
178
+ */
179
+ private readonly allowedErrors;
71
180
  constructor(baseLogger: ITelemetryBaseLogger);
72
181
  private readonly expectedEvents;
73
182
  private readonly unexpectedErrors;
@@ -83,11 +192,22 @@ export declare class EventAndErrorTrackingLogger extends TelemetryLogger {
83
192
  }
84
193
  /**
85
194
  * Shared base class for test object provider. Contain code for loader and container creation and loading
195
+ * @internal
86
196
  */
87
197
  export declare class TestObjectProvider implements ITestObjectProvider {
88
- readonly LoaderConstructor: typeof Loader;
198
+ private readonly LoaderConstructor;
199
+ /**
200
+ * {@inheritDoc ITestObjectProvider.driver}
201
+ */
89
202
  readonly driver: ITestDriver;
203
+ /**
204
+ * {@inheritDoc ITestObjectProvider.createFluidEntryPoint}
205
+ */
90
206
  readonly createFluidEntryPoint: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint;
207
+ /**
208
+ * {@inheritDoc ITestObjectProvider."type"}
209
+ */
210
+ readonly type = "TestObjectProvider";
91
211
  private _loaderContainerTracker;
92
212
  private _documentServiceFactory;
93
213
  private _urlResolver;
@@ -99,57 +219,194 @@ export declare class TestObjectProvider implements ITestObjectProvider {
99
219
  * @param createFluidEntryPoint - callback to create a fluidEntryPoint, with an optional set of channel name
100
220
  * and factory for TestFluidObject
101
221
  */
102
- constructor(LoaderConstructor: typeof Loader, driver: ITestDriver, createFluidEntryPoint: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint);
222
+ constructor(LoaderConstructor: typeof Loader,
223
+ /**
224
+ * {@inheritDoc ITestObjectProvider.driver}
225
+ */
226
+ driver: ITestDriver,
227
+ /**
228
+ * {@inheritDoc ITestObjectProvider.createFluidEntryPoint}
229
+ */
230
+ createFluidEntryPoint: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint);
231
+ /**
232
+ * {@inheritDoc ITestObjectProvider.logger}
233
+ */
103
234
  get logger(): EventAndErrorTrackingLogger;
235
+ private set logger(value);
236
+ /**
237
+ * {@inheritDoc ITestObjectProvider.documentServiceFactory}
238
+ */
104
239
  get documentServiceFactory(): IDocumentServiceFactory;
240
+ /**
241
+ * {@inheritDoc ITestObjectProvider.urlResolver}
242
+ */
105
243
  get urlResolver(): IUrlResolver;
244
+ /**
245
+ * {@inheritDoc ITestObjectProvider.documentId}
246
+ */
106
247
  get documentId(): string;
248
+ /**
249
+ * {@inheritDoc ITestObjectProvider.defaultCodeDetails}
250
+ */
107
251
  get defaultCodeDetails(): IFluidCodeDetails;
252
+ /**
253
+ * {@inheritDoc ITestObjectProvider.opProcessingController}
254
+ */
108
255
  get opProcessingController(): IOpProcessingController;
109
256
  /**
110
- * Create a loader. Containers created/loaded through this loader will be added to the OpProcessingController.
111
- *
112
- * Only the version of the loader will vary based on compat config. The version of
113
- * containerRuntime/dataRuntime used in fluidEntryPoint will be used as is from what is passed in.
114
- *
115
- * @param packageEntries - list of code details and fluidEntryPoint pairs.
257
+ * {@inheritDoc ITestObjectProvider.createLoader}
116
258
  */
117
259
  createLoader(packageEntries: Iterable<[IFluidCodeDetails, fluidEntryPoint]>, loaderProps?: Partial<ILoaderProps>): Loader;
118
260
  /**
119
- * Create a container using a default document id and code details.
120
- * Container created is automatically added to the OpProcessingController to manage op flow
121
- *
122
- * Only the version of the loader will vary based on compat config. The version of
123
- * containerRuntime/dataRuntime used in fluidEntryPoint will be used as is from what is passed in.
261
+ * {@inheritDoc ITestObjectProvider.createContainer}
262
+ */
263
+ createContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>): Promise<IContainer>;
264
+ /**
265
+ * {@inheritDoc ITestObjectProvider.loadContainer}
266
+ */
267
+ loadContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>, requestHeader?: IRequestHeader): Promise<IContainer>;
268
+ private resolveContainer;
269
+ /**
270
+ * {@inheritDoc ITestObjectProvider.makeTestLoader}
271
+ */
272
+ makeTestLoader(testContainerConfig?: ITestContainerConfig): Loader;
273
+ /**
274
+ * {@inheritDoc ITestObjectProvider.makeTestContainer}
275
+ */
276
+ makeTestContainer(testContainerConfig?: ITestContainerConfig): Promise<IContainer>;
277
+ /**
278
+ * {@inheritDoc ITestObjectProvider.loadTestContainer}
279
+ */
280
+ loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader): Promise<IContainer>;
281
+ /**
282
+ * {@inheritDoc ITestObjectProvider.reset}
283
+ */
284
+ reset(): void;
285
+ /**
286
+ * {@inheritDoc ITestObjectProvider.ensureSynchronized}
287
+ */
288
+ ensureSynchronized(): Promise<void>;
289
+ private waitContainerToCatchUp;
290
+ /**
291
+ * {@inheritDoc ITestObjectProvider.updateDocumentId}
292
+ */
293
+ updateDocumentId(resolvedUrl: IResolvedUrl | undefined): void;
294
+ /**
295
+ * {@inheritDoc ITestObjectProvider.resetLoaderContainerTracker}
296
+ */
297
+ resetLoaderContainerTracker(syncSummarizerClients?: boolean): void;
298
+ }
299
+ /**
300
+ * Implements {@link ITestObjectProvider}, but uses different versions to create and load containers.
301
+ *
302
+ * @internal
303
+ */
304
+ export declare class TestObjectProviderWithVersionedLoad implements ITestObjectProvider {
305
+ private readonly LoaderConstructorForCreating;
306
+ private readonly LoaderConstructorForLoading;
307
+ private readonly driverForCreating;
308
+ private readonly driverForLoading;
309
+ private readonly createFluidEntryPointForCreating;
310
+ private readonly createFluidEntryPointForLoading;
311
+ /**
312
+ * {@inheritDoc ITestObjectProvider."type"}
313
+ */
314
+ readonly type = "TestObjectProviderWithVersionedLoad";
315
+ private _loaderContainerTracker;
316
+ private _logger;
317
+ private readonly _documentIdStrategy;
318
+ private _documentServiceFactory;
319
+ private _urlResolver;
320
+ private _documentCreated;
321
+ /**
322
+ * `_loadCount` is used to alternate which version we load the next container with.
323
+ * loadCount is even then we will load with the "create" version, and if odd we load with the "load" version.
324
+ * After each test we will reset loadCount to 0 to ensure we always create the first container with the create version.
124
325
  *
125
- * @param packageEntries - list of code details and fluidEntryPoint pairs.
326
+ * Note: This will only affect tests that load a container more than two times.
327
+ */
328
+ private _loadCount;
329
+ constructor(LoaderConstructorForCreating: typeof Loader, LoaderConstructorForLoading: typeof Loader, driverForCreating: ITestDriver, driverForLoading: ITestDriver, createFluidEntryPointForCreating: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint, createFluidEntryPointForLoading: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint);
330
+ /**
331
+ * {@inheritDoc ITestObjectProvider.logger}
332
+ */
333
+ get logger(): EventAndErrorTrackingLogger;
334
+ /**
335
+ * {@inheritDoc ITestObjectProvider.documentServiceFactory}
336
+ */
337
+ get documentServiceFactory(): IDocumentServiceFactory;
338
+ /**
339
+ * {@inheritDoc ITestObjectProvider.urlResolver}
340
+ */
341
+ get urlResolver(): IUrlResolver;
342
+ /**
343
+ * {@inheritDoc ITestObjectProvider.documentId}
344
+ */
345
+ get documentId(): string;
346
+ /**
347
+ * {@inheritDoc ITestObjectProvider.defaultCodeDetails}
348
+ */
349
+ get defaultCodeDetails(): IFluidCodeDetails;
350
+ /**
351
+ * {@inheritDoc ITestObjectProvider.opProcessingController}
352
+ */
353
+ get opProcessingController(): IOpProcessingController;
354
+ /**
355
+ * {@inheritDoc ITestObjectProvider.driver}
356
+ */
357
+ get driver(): ITestDriver;
358
+ /**
359
+ * {@inheritDoc ITestObjectProvider.createFluidEntryPoint}
360
+ */
361
+ get createFluidEntryPoint(): (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint;
362
+ private createLoaderForCreating;
363
+ private createLoaderForLoading;
364
+ /**
365
+ * {@inheritDoc ITestObjectProvider.createLoader}
366
+ */
367
+ createLoader(packageEntries: Iterable<[IFluidCodeDetails, fluidEntryPoint]>, loaderProps?: Partial<ILoaderProps>): Loader;
368
+ /**
369
+ * {@inheritDoc ITestObjectProvider.createContainer}
126
370
  */
127
371
  createContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>): Promise<IContainer>;
372
+ /**
373
+ * {@inheritDoc ITestObjectProvider.loadContainer}
374
+ */
128
375
  loadContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>, requestHeader?: IRequestHeader): Promise<IContainer>;
376
+ private resolveContainer;
129
377
  /**
130
- * Make a test loader. Containers created/loaded through this loader will be added to the OpProcessingController.
131
- * The version of the loader/containerRuntime/dataRuntime may vary based on compat config of the current run
132
- * @param testContainerConfig - optional configuring the test Container
378
+ * {@inheritDoc ITestObjectProvider.makeTestLoader}
133
379
  */
134
380
  makeTestLoader(testContainerConfig?: ITestContainerConfig): Loader;
135
381
  /**
136
- * Make a container using a default document id and code details
137
- * Container loaded is automatically added to the OpProcessingController to manage op flow
138
- * @param testContainerConfig - optional configuring the test Container
382
+ * {@inheritDoc ITestObjectProvider.makeTestContainer}
139
383
  */
140
384
  makeTestContainer(testContainerConfig?: ITestContainerConfig): Promise<IContainer>;
141
385
  /**
142
- * Load a container using a default document id and code details.
143
- * IContainer loaded is automatically added to the OpProcessingController to manage op flow
144
- * @param testContainerConfig - optional configuring the test Container
145
- * @param requestHeader - optional headers to be supplied to the loader
386
+ * {@inheritDoc ITestObjectProvider.loadTestContainer}
146
387
  */
147
388
  loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader): Promise<IContainer>;
389
+ /**
390
+ * {@inheritDoc ITestObjectProvider.reset}
391
+ */
148
392
  reset(): void;
393
+ /**
394
+ * {@inheritDoc ITestObjectProvider.ensureSynchronized}
395
+ */
149
396
  ensureSynchronized(): Promise<void>;
150
- waitContainerToCatchUp(container: IContainer): Promise<boolean>;
397
+ private waitContainerToCatchUp;
398
+ /**
399
+ * {@inheritDoc ITestObjectProvider.updateDocumentId}
400
+ */
151
401
  updateDocumentId(resolvedUrl: IResolvedUrl | undefined): void;
402
+ /**
403
+ * {@inheritDoc ITestObjectProvider.resetLoaderContainerTracker}
404
+ */
152
405
  resetLoaderContainerTracker(syncSummarizerClients?: boolean): void;
406
+ private nextLoaderShouldCreate;
153
407
  }
408
+ /**
409
+ * @internal
410
+ */
154
411
  export declare function getUnexpectedLogErrorException(logger: EventAndErrorTrackingLogger | undefined, prefix?: string): Error | undefined;
155
412
  //# 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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"}