@fluidframework/test-utils 2.0.0-internal.3.1.0 → 2.0.0-internal.3.2.1
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.
- package/dist/TestSummaryUtils.d.ts +14 -3
- package/dist/TestSummaryUtils.d.ts.map +1 -1
- package/dist/TestSummaryUtils.js +15 -11
- package/dist/TestSummaryUtils.js.map +1 -1
- package/dist/containerUtils.d.ts +1 -2
- package/dist/containerUtils.d.ts.map +1 -1
- package/dist/containerUtils.js +1 -1
- package/dist/containerUtils.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/package.json +131 -122
- package/src/TestSummaryUtils.ts +15 -26
- package/src/containerUtils.ts +3 -3
- package/src/index.ts +1 -6
- package/src/packageVersion.ts +1 -1
|
@@ -9,9 +9,20 @@ import { IFluidDataStoreFactory, NamedFluidDataStoreRegistryEntries } from "@flu
|
|
|
9
9
|
import { IConfigProviderBase } from "@fluidframework/telemetry-utils";
|
|
10
10
|
import { ITelemetryBaseLogger } from "@fluidframework/common-definitions";
|
|
11
11
|
import { ITestObjectProvider } from "./testObjectProvider";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Creates a summarizer client from the given container and data store factory, and returns the summarizer client's
|
|
14
|
+
* IContainer and ISummarizer.
|
|
15
|
+
* The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createSummarizerFromFactory(provider: ITestObjectProvider, container: IContainer, dataStoreFactory: IFluidDataStoreFactory, summaryVersion?: string, containerRuntimeFactoryType?: typeof ContainerRuntimeFactoryWithDefaultDataStore, registryEntries?: NamedFluidDataStoreRegistryEntries): Promise<{
|
|
18
|
+
container: IContainer;
|
|
19
|
+
summarizer: ISummarizer;
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a summarizer client from the given container and returns the summarizer client's IContainer and ISummarizer.
|
|
23
|
+
* The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createSummarizer(provider: ITestObjectProvider, container: IContainer, summaryVersion?: string, gcOptions?: IGCRuntimeOptions, configProvider?: IConfigProviderBase, logger?: ITelemetryBaseLogger): Promise<{
|
|
15
26
|
container: IContainer;
|
|
16
27
|
summarizer: ISummarizer;
|
|
17
28
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestSummaryUtils.d.ts","sourceRoot":"","sources":["../src/TestSummaryUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,2CAA2C,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,EAAE,UAAU,EAA6B,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EACN,iBAAiB,EACjB,WAAW,EAEX,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAEN,sBAAsB,EACtB,kCAAkC,EAClC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAwB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"TestSummaryUtils.d.ts","sourceRoot":"","sources":["../src/TestSummaryUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,2CAA2C,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,EAAE,UAAU,EAA6B,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EACN,iBAAiB,EACjB,WAAW,EAEX,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAEN,sBAAsB,EACtB,kCAAkC,EAClC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAwB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAsDjF;;;;GAIG;AACH,wBAAsB,2BAA2B,CAChD,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,UAAU,EACrB,gBAAgB,EAAE,sBAAsB,EACxC,cAAc,CAAC,EAAE,MAAM,EACvB,2BAA2B,qDAA8C,EACzE,eAAe,CAAC,EAAE,kCAAkC,GAClD,OAAO,CAAC;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,WAAW,CAAA;CAAE,CAAC,CAe7D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,UAAU,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,SAAS,CAAC,EAAE,iBAAiB,EAC7B,cAAc,GAAE,mBAA0C,EAC1D,MAAM,CAAC,EAAE,oBAAoB,GAC3B,OAAO,CAAC;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,WAAW,CAAA;CAAE,CAAC,CAU7D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,GAAE,MAA0B;;;;GAwB7F"}
|
package/dist/TestSummaryUtils.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.summarizeNow = exports.
|
|
7
|
+
exports.summarizeNow = exports.createSummarizer = exports.createSummarizerFromFactory = void 0;
|
|
8
8
|
const aqueduct_1 = require("@fluidframework/aqueduct");
|
|
9
9
|
const common_utils_1 = require("@fluidframework/common-utils");
|
|
10
10
|
const container_definitions_1 = require("@fluidframework/container-definitions");
|
|
@@ -14,7 +14,8 @@ const TestConfigs_1 = require("./TestConfigs");
|
|
|
14
14
|
const containerUtils_1 = require("./containerUtils");
|
|
15
15
|
const timeoutUtils_1 = require("./timeoutUtils");
|
|
16
16
|
const summarizerClientType = "summarizer";
|
|
17
|
-
async function createSummarizerCore(
|
|
17
|
+
async function createSummarizerCore(container, loader, summaryVersion) {
|
|
18
|
+
const absoluteUrl = await container.getAbsoluteUrl("");
|
|
18
19
|
if (absoluteUrl === undefined) {
|
|
19
20
|
throw new Error("URL could not be resolved");
|
|
20
21
|
}
|
|
@@ -51,22 +52,25 @@ const defaultSummaryOptions = {
|
|
|
51
52
|
initialSummarizerDelayMs: 0,
|
|
52
53
|
},
|
|
53
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* Creates a summarizer client from the given container and data store factory, and returns the summarizer client's
|
|
57
|
+
* IContainer and ISummarizer.
|
|
58
|
+
* The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.
|
|
59
|
+
*/
|
|
54
60
|
async function createSummarizerFromFactory(provider, container, dataStoreFactory, summaryVersion, containerRuntimeFactoryType = aqueduct_1.ContainerRuntimeFactoryWithDefaultDataStore, registryEntries) {
|
|
55
61
|
const innerRequestHandler = async (request, runtime) => runtime.IFluidHandleContext.resolveHandle(request);
|
|
56
62
|
const runtimeFactory = new containerRuntimeFactoryType(dataStoreFactory, registryEntries !== null && registryEntries !== void 0 ? registryEntries : [[dataStoreFactory.type, Promise.resolve(dataStoreFactory)]], undefined, [innerRequestHandler], { summaryOptions: defaultSummaryOptions });
|
|
57
63
|
const loader = provider.createLoader([[provider.defaultCodeDetails, runtimeFactory]], {
|
|
58
64
|
configProvider: (0, TestConfigs_1.mockConfigProvider)(),
|
|
59
65
|
});
|
|
60
|
-
|
|
61
|
-
return (await createSummarizerCore(absoluteUrl, loader, summaryVersion)).summarizer;
|
|
66
|
+
return createSummarizerCore(container, loader, summaryVersion);
|
|
62
67
|
}
|
|
63
68
|
exports.createSummarizerFromFactory = createSummarizerFromFactory;
|
|
69
|
+
/**
|
|
70
|
+
* Creates a summarizer client from the given container and returns the summarizer client's IContainer and ISummarizer.
|
|
71
|
+
* The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.
|
|
72
|
+
*/
|
|
64
73
|
async function createSummarizer(provider, container, summaryVersion, gcOptions, configProvider = (0, TestConfigs_1.mockConfigProvider)(), logger) {
|
|
65
|
-
const absoluteUrl = await container.getAbsoluteUrl("");
|
|
66
|
-
return (await createSummarizerWithContainer(provider, absoluteUrl, summaryVersion, gcOptions, configProvider, logger)).summarizer;
|
|
67
|
-
}
|
|
68
|
-
exports.createSummarizer = createSummarizer;
|
|
69
|
-
async function createSummarizerWithContainer(provider, absoluteUrl, summaryVersion, gcOptions, configProvider = (0, TestConfigs_1.mockConfigProvider)(), logger) {
|
|
70
74
|
const testContainerConfig = {
|
|
71
75
|
runtimeOptions: {
|
|
72
76
|
summaryOptions: defaultSummaryOptions,
|
|
@@ -75,9 +79,9 @@ async function createSummarizerWithContainer(provider, absoluteUrl, summaryVersi
|
|
|
75
79
|
loaderProps: { configProvider, logger },
|
|
76
80
|
};
|
|
77
81
|
const loader = provider.makeTestLoader(testContainerConfig);
|
|
78
|
-
return createSummarizerCore(
|
|
82
|
+
return createSummarizerCore(container, loader, summaryVersion);
|
|
79
83
|
}
|
|
80
|
-
exports.
|
|
84
|
+
exports.createSummarizer = createSummarizer;
|
|
81
85
|
/**
|
|
82
86
|
* Summarizes on demand and returns the summary tree, the version number and the reference sequence number of the
|
|
83
87
|
* submitted summary.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestSummaryUtils.js","sourceRoot":"","sources":["../src/TestSummaryUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uDAAuF;AACvF,+DAAsD;AACtD,iFAA8F;AAO9F,2EAAkE;AAMlE,iEAAmE;AAInE,+CAAmD;AACnD,qDAA8D;AAC9D,iDAA8C;AAE9C,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAE1C,KAAK,UAAU,oBAAoB,CAClC,
|
|
1
|
+
{"version":3,"file":"TestSummaryUtils.js","sourceRoot":"","sources":["../src/TestSummaryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ContainerRuntimeFactoryWithDefaultDataStore } from \"@fluidframework/aqueduct\";\nimport { assert } from \"@fluidframework/common-utils\";\nimport { IContainer, IHostLoader, LoaderHeader } from \"@fluidframework/container-definitions\";\nimport {\n\tIGCRuntimeOptions,\n\tISummarizer,\n\tISummaryRuntimeOptions,\n} from \"@fluidframework/container-runtime\";\nimport { FluidObject, IRequest } from \"@fluidframework/core-interfaces\";\nimport { DriverHeader } from \"@fluidframework/driver-definitions\";\nimport {\n\tIContainerRuntimeBase,\n\tIFluidDataStoreFactory,\n\tNamedFluidDataStoreRegistryEntries,\n} from \"@fluidframework/runtime-definitions\";\nimport { requestFluidObject } from \"@fluidframework/runtime-utils\";\nimport { IConfigProviderBase } from \"@fluidframework/telemetry-utils\";\nimport { ITelemetryBaseLogger } from \"@fluidframework/common-definitions\";\nimport { ITestContainerConfig, ITestObjectProvider } from \"./testObjectProvider\";\nimport { mockConfigProvider } from \"./TestConfigs\";\nimport { waitForContainerConnection } from \"./containerUtils\";\nimport { timeoutAwait } from \"./timeoutUtils\";\n\nconst summarizerClientType = \"summarizer\";\n\nasync function createSummarizerCore(\n\tcontainer: IContainer,\n\tloader: IHostLoader,\n\tsummaryVersion?: string,\n) {\n\tconst absoluteUrl = await container.getAbsoluteUrl(\"\");\n\tif (absoluteUrl === undefined) {\n\t\tthrow new Error(\"URL could not be resolved\");\n\t}\n\n\tconst request: IRequest = {\n\t\theaders: {\n\t\t\t[LoaderHeader.cache]: false,\n\t\t\t[LoaderHeader.clientDetails]: {\n\t\t\t\tcapabilities: { interactive: false },\n\t\t\t\ttype: summarizerClientType,\n\t\t\t},\n\t\t\t[DriverHeader.summarizingClient]: true,\n\t\t\t[LoaderHeader.version]: summaryVersion,\n\t\t},\n\t\turl: absoluteUrl,\n\t};\n\tconst summarizerContainer = await loader.resolve(request);\n\tawait waitForContainerConnection(summarizerContainer);\n\n\tconst fluidObject = await requestFluidObject<FluidObject<ISummarizer>>(summarizerContainer, {\n\t\turl: \"_summarizer\",\n\t});\n\tif (fluidObject.ISummarizer === undefined) {\n\t\tthrow new Error(\"Fluid object does not implement ISummarizer\");\n\t}\n\n\treturn {\n\t\tcontainer: summarizerContainer,\n\t\tsummarizer: fluidObject.ISummarizer,\n\t};\n}\n\nconst defaultSummaryOptions: ISummaryRuntimeOptions = {\n\tsummaryConfigOverrides: {\n\t\tstate: \"disableHeuristics\",\n\t\tmaxAckWaitTime: 10000,\n\t\tmaxOpsSinceLastSummary: 7000,\n\t\tinitialSummarizerDelayMs: 0,\n\t},\n};\n\n/**\n * Creates a summarizer client from the given container and data store factory, and returns the summarizer client's\n * IContainer and ISummarizer.\n * The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.\n */\nexport async function createSummarizerFromFactory(\n\tprovider: ITestObjectProvider,\n\tcontainer: IContainer,\n\tdataStoreFactory: IFluidDataStoreFactory,\n\tsummaryVersion?: string,\n\tcontainerRuntimeFactoryType = ContainerRuntimeFactoryWithDefaultDataStore,\n\tregistryEntries?: NamedFluidDataStoreRegistryEntries,\n): Promise<{ container: IContainer; summarizer: ISummarizer }> {\n\tconst innerRequestHandler = async (request: IRequest, runtime: IContainerRuntimeBase) =>\n\t\truntime.IFluidHandleContext.resolveHandle(request);\n\tconst runtimeFactory = new containerRuntimeFactoryType(\n\t\tdataStoreFactory,\n\t\tregistryEntries ?? [[dataStoreFactory.type, Promise.resolve(dataStoreFactory)]],\n\t\tundefined,\n\t\t[innerRequestHandler],\n\t\t{ summaryOptions: defaultSummaryOptions },\n\t);\n\n\tconst loader = provider.createLoader([[provider.defaultCodeDetails, runtimeFactory]], {\n\t\tconfigProvider: mockConfigProvider(),\n\t});\n\treturn createSummarizerCore(container, loader, summaryVersion);\n}\n\n/**\n * Creates a summarizer client from the given container and returns the summarizer client's IContainer and ISummarizer.\n * The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.\n */\nexport async function createSummarizer(\n\tprovider: ITestObjectProvider,\n\tcontainer: IContainer,\n\tsummaryVersion?: string,\n\tgcOptions?: IGCRuntimeOptions,\n\tconfigProvider: IConfigProviderBase = mockConfigProvider(),\n\tlogger?: ITelemetryBaseLogger,\n): Promise<{ container: IContainer; summarizer: ISummarizer }> {\n\tconst testContainerConfig: ITestContainerConfig = {\n\t\truntimeOptions: {\n\t\t\tsummaryOptions: defaultSummaryOptions,\n\t\t\tgcOptions,\n\t\t},\n\t\tloaderProps: { configProvider, logger },\n\t};\n\tconst loader = provider.makeTestLoader(testContainerConfig);\n\treturn createSummarizerCore(container, loader, summaryVersion);\n}\n\n/**\n * Summarizes on demand and returns the summary tree, the version number and the reference sequence number of the\n * submitted summary.\n */\nexport async function summarizeNow(summarizer: ISummarizer, reason: string = \"end-to-end test\") {\n\tconst result = summarizer.summarizeOnDemand({ reason });\n\n\tconst submitResult = await timeoutAwait(result.summarySubmitted);\n\tassert(submitResult.success, \"on-demand summary should submit\");\n\tassert(\n\t\tsubmitResult.data.stage === \"submit\",\n\t\t\"on-demand summary submitted data stage should be submit\",\n\t);\n\tassert(submitResult.data.summaryTree !== undefined, \"summary tree should exist\");\n\n\tconst broadcastResult = await timeoutAwait(result.summaryOpBroadcasted);\n\tassert(broadcastResult.success, \"summary op should be broadcast\");\n\n\tconst ackNackResult = await timeoutAwait(result.receivedSummaryAckOrNack);\n\tassert(ackNackResult.success, \"summary op should be acked\");\n\n\tawait new Promise((resolve) => process.nextTick(resolve));\n\n\treturn {\n\t\tsummaryTree: submitResult.data.summaryTree,\n\t\tsummaryVersion: ackNackResult.data.summaryAckOp.contents.handle,\n\t\tsummaryRefSeq: submitResult.data.referenceSequenceNumber,\n\t};\n}\n"]}
|
package/dist/containerUtils.d.ts
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { IContainer } from "@fluidframework/container-definitions";
|
|
6
|
-
import { Container } from "@fluidframework/container-loader";
|
|
7
6
|
import { TimeoutWithError } from "./timeoutUtils";
|
|
8
7
|
/**
|
|
9
8
|
* Waits for the specified container to emit a 'connected' event.
|
|
@@ -13,7 +12,7 @@ import { TimeoutWithError } from "./timeoutUtils";
|
|
|
13
12
|
* - failOnContainerClose = true
|
|
14
13
|
* - timeoutOptions.durationMs = 1s
|
|
15
14
|
*/
|
|
16
|
-
export declare function ensureContainerConnected(container:
|
|
15
|
+
export declare function ensureContainerConnected(container: IContainer): Promise<void>;
|
|
17
16
|
/**
|
|
18
17
|
* Utility function to wait for the specified Container to be in Connected state.
|
|
19
18
|
* If the Container is already connected, the Promise returns immediately; otherwise it resolves when the Container emits
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerUtils.d.ts","sourceRoot":"","sources":["../src/containerUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"containerUtils.d.ts","sourceRoot":"","sources":["../src/containerUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAmC,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEnF;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAInF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,0BAA0B,CAC/C,SAAS,EAAE,UAAU,EACrB,oBAAoB,GAAE,OAAe,EACrC,cAAc,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAaf"}
|
package/dist/containerUtils.js
CHANGED
|
@@ -16,7 +16,7 @@ const timeoutUtils_1 = require("./timeoutUtils");
|
|
|
16
16
|
* - timeoutOptions.durationMs = 1s
|
|
17
17
|
*/
|
|
18
18
|
async function ensureContainerConnected(container) {
|
|
19
|
-
if (
|
|
19
|
+
if (container.connectionState !== container_loader_1.ConnectionState.Connected) {
|
|
20
20
|
return (0, timeoutUtils_1.timeoutPromise)((resolve) => container.once("connected", () => resolve()));
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerUtils.js","sourceRoot":"","sources":["../src/containerUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,
|
|
1
|
+
{"version":3,"file":"containerUtils.js","sourceRoot":"","sources":["../src/containerUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,uEAAmE;AACnE,iDAAmF;AAEnF;;;;;;;GAOG;AACI,KAAK,UAAU,wBAAwB,CAAC,SAAqB;IACnE,IAAI,SAAS,CAAC,eAAe,KAAK,kCAAe,CAAC,SAAS,EAAE;QAC5D,OAAO,IAAA,6BAAc,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KACjF;AACF,CAAC;AAJD,4DAIC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,0BAA0B,CAC/C,SAAqB,EACrB,uBAAgC,KAAK,EACrC,cAAiC;IAEjC,IAAI,SAAS,CAAC,eAAe,KAAK,kCAAe,CAAC,SAAS,EAAE;QAC5D,MAAM,QAAQ,GAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrD,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,IAAI,oBAAoB,EAAE;gBACzB,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACnD;QACF,CAAC,CAAC;QAEF,OAAO,cAAc,KAAK,SAAS;YAClC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,IAAA,6BAAc,EAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;KAC5C;AACF,CAAC;AAjBD,gEAiBC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IContainer } from \"@fluidframework/container-definitions\";\nimport { ConnectionState } from \"@fluidframework/container-loader\";\nimport { PromiseExecutor, timeoutPromise, TimeoutWithError } from \"./timeoutUtils\";\n\n/**\n * Waits for the specified container to emit a 'connected' event.\n *\n * @deprecated Use waitForContainerConnection instead.\n * Note that an upcoming release will change the default parameters on that function to:\n * - failOnContainerClose = true\n * - timeoutOptions.durationMs = 1s\n */\nexport async function ensureContainerConnected(container: IContainer): Promise<void> {\n\tif (container.connectionState !== ConnectionState.Connected) {\n\t\treturn timeoutPromise((resolve) => container.once(\"connected\", () => resolve()));\n\t}\n}\n\n/**\n * Utility function to wait for the specified Container to be in Connected state.\n * If the Container is already connected, the Promise returns immediately; otherwise it resolves when the Container emits\n * its 'connected' event.\n * If failOnContainerClose === true, the returned Promise will be rejected if the container emits a 'closed' event\n * before a 'connected' event.\n * @param container - The container to wait for.\n * @param failOnContainerClose - If true, the returned Promise will be rejected if the container emits a 'closed' event\n * before a 'connected' event.\n * Defaults to false (but this will change in an upcoming version).\n * @param timeoutOptions - Options related to the behavior of the timeout.\n * If not provided, no timeout will be applied and the promise will wait indefinitely for the Container to emit its\n * 'connected' (or 'closed, if failOnContainerClose === true) event.\n * @returns A Promise that resolves when the specified container emits a 'connected' event (or immediately if the\n * Container is already connected).\n * If failOnContainerClose === true and the container emits a 'closed' event before a 'connected' event, the Promise\n * is rejected with the error from the 'closed' event, if any.\n * If timeoutOptions is provided, the Promise will reject if the container hasn't emmited a relevant event before\n * timeoutOptions.durationMs (which defaults to 250ms if left undefined).\n */\nexport async function waitForContainerConnection(\n\tcontainer: IContainer,\n\tfailOnContainerClose: boolean = false,\n\ttimeoutOptions?: TimeoutWithError,\n): Promise<void> {\n\tif (container.connectionState !== ConnectionState.Connected) {\n\t\tconst executor: PromiseExecutor = (resolve, reject) => {\n\t\t\tcontainer.once(\"connected\", () => resolve());\n\t\t\tif (failOnContainerClose) {\n\t\t\t\tcontainer.once(\"closed\", (error) => reject(error));\n\t\t\t}\n\t\t};\n\n\t\treturn timeoutOptions === undefined\n\t\t\t? new Promise(executor)\n\t\t\t: timeoutPromise(executor, timeoutOptions);\n\t}\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { mockConfigProvider } from "./TestConfigs";
|
|
|
12
12
|
export { createTestContainerRuntimeFactory, TestContainerRuntimeFactory, } from "./testContainerRuntimeFactory";
|
|
13
13
|
export { ChannelFactoryRegistry, TestFluidObject, TestFluidObjectFactory } from "./testFluidObject";
|
|
14
14
|
export { createDocumentId, DataObjectFactoryType, EventAndErrorTrackingLogger, getUnexpectedLogErrorException, IOpProcessingController, ITestContainerConfig, ITestObjectProvider, TestObjectProvider, } from "./testObjectProvider";
|
|
15
|
-
export { createSummarizer, createSummarizerFromFactory,
|
|
15
|
+
export { createSummarizer, createSummarizerFromFactory, summarizeNow } from "./TestSummaryUtils";
|
|
16
16
|
export { defaultTimeoutDurationMs, timeoutAwait, timeoutPromise, TimeoutWithError, TimeoutWithValue, } from "./timeoutUtils";
|
|
17
17
|
export { ensureContainerConnected, waitForContainerConnection } from "./containerUtils";
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACN,iCAAiC,EACjC,2BAA2B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACN,iCAAiC,EACjC,2BAA2B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EACN,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.waitForContainerConnection = exports.ensureContainerConnected = exports.timeoutPromise = exports.timeoutAwait = exports.defaultTimeoutDurationMs = exports.summarizeNow = exports.
|
|
7
|
+
exports.waitForContainerConnection = exports.ensureContainerConnected = exports.timeoutPromise = exports.timeoutAwait = exports.defaultTimeoutDurationMs = exports.summarizeNow = exports.createSummarizerFromFactory = exports.createSummarizer = exports.TestObjectProvider = exports.getUnexpectedLogErrorException = exports.EventAndErrorTrackingLogger = exports.DataObjectFactoryType = exports.createDocumentId = exports.TestFluidObjectFactory = exports.TestFluidObject = exports.TestContainerRuntimeFactory = exports.createTestContainerRuntimeFactory = exports.mockConfigProvider = exports.retryWithEventualValue = exports.createLoader = exports.createAndAttachContainer = exports.LocalCodeLoader = exports.LoaderContainerTracker = exports.wrapDocumentStorageService = exports.wrapDocumentServiceFactory = exports.wrapDocumentService = void 0;
|
|
8
8
|
var DriverWrappers_1 = require("./DriverWrappers");
|
|
9
9
|
Object.defineProperty(exports, "wrapDocumentService", { enumerable: true, get: function () { return DriverWrappers_1.wrapDocumentService; } });
|
|
10
10
|
Object.defineProperty(exports, "wrapDocumentServiceFactory", { enumerable: true, get: function () { return DriverWrappers_1.wrapDocumentServiceFactory; } });
|
|
@@ -35,7 +35,6 @@ Object.defineProperty(exports, "TestObjectProvider", { enumerable: true, get: fu
|
|
|
35
35
|
var TestSummaryUtils_1 = require("./TestSummaryUtils");
|
|
36
36
|
Object.defineProperty(exports, "createSummarizer", { enumerable: true, get: function () { return TestSummaryUtils_1.createSummarizer; } });
|
|
37
37
|
Object.defineProperty(exports, "createSummarizerFromFactory", { enumerable: true, get: function () { return TestSummaryUtils_1.createSummarizerFromFactory; } });
|
|
38
|
-
Object.defineProperty(exports, "createSummarizerWithContainer", { enumerable: true, get: function () { return TestSummaryUtils_1.createSummarizerWithContainer; } });
|
|
39
38
|
Object.defineProperty(exports, "summarizeNow", { enumerable: true, get: function () { return TestSummaryUtils_1.summarizeNow; } });
|
|
40
39
|
var timeoutUtils_1 = require("./timeoutUtils");
|
|
41
40
|
Object.defineProperty(exports, "defaultTimeoutDurationMs", { enumerable: true, get: function () { return timeoutUtils_1.defaultTimeoutDurationMs; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,mDAI0B;AAHzB,qHAAA,mBAAmB,OAAA;AACnB,4HAAA,0BAA0B,OAAA;AAC1B,4HAAA,0BAA0B,OAAA;AAG3B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,qDAAgG;AAAtE,kHAAA,eAAe,OAAA;AACzC,6CAAuE;AAA9D,uHAAA,wBAAwB,OAAA;AAAE,2GAAA,YAAY,OAAA;AAC/C,iCAAiD;AAAxC,+GAAA,sBAAsB,OAAA;AAC/B,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAC3B,6EAGuC;AAFtC,gJAAA,iCAAiC,OAAA;AACjC,0IAAA,2BAA2B,OAAA;AAE5B,qDAAoG;AAAnE,kHAAA,eAAe,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AACxE,2DAS8B;AAR7B,sHAAA,gBAAgB,OAAA;AAChB,2HAAA,qBAAqB,OAAA;AACrB,iIAAA,2BAA2B,OAAA;AAC3B,oIAAA,8BAA8B,OAAA;AAI9B,wHAAA,kBAAkB,OAAA;AAEnB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,mDAI0B;AAHzB,qHAAA,mBAAmB,OAAA;AACnB,4HAAA,0BAA0B,OAAA;AAC1B,4HAAA,0BAA0B,OAAA;AAG3B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,qDAAgG;AAAtE,kHAAA,eAAe,OAAA;AACzC,6CAAuE;AAA9D,uHAAA,wBAAwB,OAAA;AAAE,2GAAA,YAAY,OAAA;AAC/C,iCAAiD;AAAxC,+GAAA,sBAAsB,OAAA;AAC/B,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAC3B,6EAGuC;AAFtC,gJAAA,iCAAiC,OAAA;AACjC,0IAAA,2BAA2B,OAAA;AAE5B,qDAAoG;AAAnE,kHAAA,eAAe,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AACxE,2DAS8B;AAR7B,sHAAA,gBAAgB,OAAA;AAChB,2HAAA,qBAAqB,OAAA;AACrB,iIAAA,2BAA2B,OAAA;AAC3B,oIAAA,8BAA8B,OAAA;AAI9B,wHAAA,kBAAkB,OAAA;AAEnB,uDAAiG;AAAxF,oHAAA,gBAAgB,OAAA;AAAE,+HAAA,2BAA2B,OAAA;AAAE,gHAAA,YAAY,OAAA;AACpE,+CAMwB;AALvB,wHAAA,wBAAwB,OAAA;AACxB,4GAAA,YAAY,OAAA;AACZ,8GAAA,cAAc,OAAA;AAIf,mDAAwF;AAA/E,0HAAA,wBAAwB,OAAA;AAAE,4HAAA,0BAA0B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\twrapDocumentService,\n\twrapDocumentServiceFactory,\n\twrapDocumentStorageService,\n} from \"./DriverWrappers\";\nexport { IProvideTestFluidObject, ITestFluidObject } from \"./interfaces\";\nexport { LoaderContainerTracker } from \"./loaderContainerTracker\";\nexport { fluidEntryPoint, LocalCodeLoader, SupportedExportInterfaces } from \"./localCodeLoader\";\nexport { createAndAttachContainer, createLoader } from \"./localLoader\";\nexport { retryWithEventualValue } from \"./retry\";\nexport { mockConfigProvider } from \"./TestConfigs\";\nexport {\n\tcreateTestContainerRuntimeFactory,\n\tTestContainerRuntimeFactory,\n} from \"./testContainerRuntimeFactory\";\nexport { ChannelFactoryRegistry, TestFluidObject, TestFluidObjectFactory } from \"./testFluidObject\";\nexport {\n\tcreateDocumentId,\n\tDataObjectFactoryType,\n\tEventAndErrorTrackingLogger,\n\tgetUnexpectedLogErrorException,\n\tIOpProcessingController,\n\tITestContainerConfig,\n\tITestObjectProvider,\n\tTestObjectProvider,\n} from \"./testObjectProvider\";\nexport { createSummarizer, createSummarizerFromFactory, summarizeNow } from \"./TestSummaryUtils\";\nexport {\n\tdefaultTimeoutDurationMs,\n\ttimeoutAwait,\n\ttimeoutPromise,\n\tTimeoutWithError,\n\tTimeoutWithValue,\n} from \"./timeoutUtils\";\nexport { ensureContainerConnected, waitForContainerConnection } from \"./containerUtils\";\n"]}
|
package/dist/packageVersion.d.ts
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
|
|
6
6
|
*/
|
|
7
7
|
export declare const pkgName = "@fluidframework/test-utils";
|
|
8
|
-
export declare const pkgVersion = "2.0.0-internal.3.1
|
|
8
|
+
export declare const pkgVersion = "2.0.0-internal.3.2.1";
|
|
9
9
|
//# sourceMappingURL=packageVersion.d.ts.map
|
package/dist/packageVersion.js
CHANGED
|
@@ -8,5 +8,5 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.pkgVersion = exports.pkgName = void 0;
|
|
10
10
|
exports.pkgName = "@fluidframework/test-utils";
|
|
11
|
-
exports.pkgVersion = "2.0.0-internal.3.1
|
|
11
|
+
exports.pkgVersion = "2.0.0-internal.3.2.1";
|
|
12
12
|
//# sourceMappingURL=packageVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,4BAA4B,CAAC;AACvC,QAAA,UAAU,GAAG,sBAAsB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/test-utils\";\nexport const pkgVersion = \"2.0.0-internal.3.1
|
|
1
|
+
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,4BAA4B,CAAC;AACvC,QAAA,UAAU,GAAG,sBAAsB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/test-utils\";\nexport const pkgVersion = \"2.0.0-internal.3.2.1\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,123 +1,132 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
2
|
+
"name": "@fluidframework/test-utils",
|
|
3
|
+
"version": "2.0.0-internal.3.2.1",
|
|
4
|
+
"description": "Utilities for Fluid tests",
|
|
5
|
+
"homepage": "https://fluidframework.com",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/microsoft/FluidFramework.git",
|
|
9
|
+
"directory": "packages/test/test-utils"
|
|
10
|
+
},
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"author": "Microsoft and contributors",
|
|
13
|
+
"sideEffects": false,
|
|
14
|
+
"main": "dist/index.js",
|
|
15
|
+
"module": "lib/index.js",
|
|
16
|
+
"types": "dist/index.d.ts",
|
|
17
|
+
"nyc": {
|
|
18
|
+
"all": true,
|
|
19
|
+
"cache-dir": "nyc/.cache",
|
|
20
|
+
"exclude": [
|
|
21
|
+
"src/test/**/*.ts",
|
|
22
|
+
"dist/test/**/*.js"
|
|
23
|
+
],
|
|
24
|
+
"exclude-after-remap": false,
|
|
25
|
+
"include": [
|
|
26
|
+
"src/**/*.ts",
|
|
27
|
+
"dist/**/*.js"
|
|
28
|
+
],
|
|
29
|
+
"report-dir": "nyc/report",
|
|
30
|
+
"reporter": [
|
|
31
|
+
"cobertura",
|
|
32
|
+
"html",
|
|
33
|
+
"text"
|
|
34
|
+
],
|
|
35
|
+
"temp-directory": "nyc/.nyc_output"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@fluidframework/aqueduct": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
39
|
+
"@fluidframework/common-definitions": "^0.20.1",
|
|
40
|
+
"@fluidframework/common-utils": "^1.1.1",
|
|
41
|
+
"@fluidframework/container-definitions": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
42
|
+
"@fluidframework/container-loader": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
43
|
+
"@fluidframework/container-runtime": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
44
|
+
"@fluidframework/container-runtime-definitions": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
45
|
+
"@fluidframework/core-interfaces": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
46
|
+
"@fluidframework/datastore": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
47
|
+
"@fluidframework/datastore-definitions": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
48
|
+
"@fluidframework/driver-definitions": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
49
|
+
"@fluidframework/driver-utils": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
50
|
+
"@fluidframework/local-driver": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
51
|
+
"@fluidframework/map": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
52
|
+
"@fluidframework/mocha-test-setup": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
53
|
+
"@fluidframework/protocol-definitions": "^1.1.0",
|
|
54
|
+
"@fluidframework/request-handler": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
55
|
+
"@fluidframework/routerlicious-driver": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
56
|
+
"@fluidframework/runtime-definitions": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
57
|
+
"@fluidframework/runtime-utils": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
58
|
+
"@fluidframework/telemetry-utils": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
59
|
+
"@fluidframework/test-driver-definitions": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
60
|
+
"@fluidframework/test-runtime-utils": ">=2.0.0-internal.3.2.1 <2.0.0-internal.4.0.0",
|
|
61
|
+
"best-random": "^1.0.0",
|
|
62
|
+
"debug": "^4.1.1",
|
|
63
|
+
"uuid": "^8.3.1"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@fluid-tools/build-cli": "^0.10.0",
|
|
67
|
+
"@fluidframework/build-common": "^1.1.0",
|
|
68
|
+
"@fluidframework/build-tools": "^0.10.0",
|
|
69
|
+
"@fluidframework/eslint-config-fluid": "^2.0.0",
|
|
70
|
+
"@fluidframework/test-utils-previous": "npm:@fluidframework/test-utils@2.0.0-internal.3.1.0",
|
|
71
|
+
"@microsoft/api-extractor": "^7.22.2",
|
|
72
|
+
"@rushstack/eslint-config": "^2.5.1",
|
|
73
|
+
"@types/debug": "^4.1.5",
|
|
74
|
+
"@types/diff": "^3.5.1",
|
|
75
|
+
"@types/mocha": "^9.1.1",
|
|
76
|
+
"@types/node": "^14.18.36",
|
|
77
|
+
"@types/random-js": "^1.0.31",
|
|
78
|
+
"@types/uuid": "^8.3.0",
|
|
79
|
+
"concurrently": "^6.2.0",
|
|
80
|
+
"copyfiles": "^2.4.1",
|
|
81
|
+
"cross-env": "^7.0.2",
|
|
82
|
+
"diff": "^3.5.0",
|
|
83
|
+
"eslint": "~8.6.0",
|
|
84
|
+
"mocha": "^10.0.0",
|
|
85
|
+
"nyc": "^15.0.0",
|
|
86
|
+
"prettier": "~2.6.2",
|
|
87
|
+
"random-js": "^1.0.8",
|
|
88
|
+
"rimraf": "^2.6.2",
|
|
89
|
+
"typescript": "~4.5.5"
|
|
90
|
+
},
|
|
91
|
+
"typeValidation": {
|
|
92
|
+
"version": "2.0.0-internal.3.2.0",
|
|
93
|
+
"previousVersionStyle": "~previousMinor",
|
|
94
|
+
"baselineRange": ">=2.0.0-internal.3.1.0 <2.0.0-internal.3.2.0",
|
|
95
|
+
"baselineVersion": "2.0.0-internal.3.1.0",
|
|
96
|
+
"broken": {
|
|
97
|
+
"FunctionDeclaration_createSummarizerWithContainer": {
|
|
98
|
+
"forwardCompat": false,
|
|
99
|
+
"backCompat": false
|
|
100
|
+
},
|
|
101
|
+
"RemovedFunctionDeclaration_createSummarizerWithContainer": {
|
|
102
|
+
"forwardCompat": false,
|
|
103
|
+
"backCompat": false
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"scripts": {
|
|
108
|
+
"build": "npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs",
|
|
109
|
+
"build:compile": "npm run tsc && npm run typetests:gen && npm run build:test",
|
|
110
|
+
"build:compile:min": "npm run build:compile",
|
|
111
|
+
"build:docs": "api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/",
|
|
112
|
+
"build:full": "npm run build",
|
|
113
|
+
"build:full:compile": "npm run build:compile",
|
|
114
|
+
"build:genver": "gen-version",
|
|
115
|
+
"build:test": "tsc --project ./src/test/tsconfig.json",
|
|
116
|
+
"ci:build:docs": "api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/",
|
|
117
|
+
"clean": "rimraf dist lib *.tsbuildinfo *.build.log",
|
|
118
|
+
"eslint": "eslint --format stylish src",
|
|
119
|
+
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
120
|
+
"format": "npm run prettier:fix",
|
|
121
|
+
"lint": "npm run prettier && npm run eslint",
|
|
122
|
+
"lint:fix": "npm run prettier:fix && npm run eslint:fix",
|
|
123
|
+
"prettier": "prettier --check . --ignore-path ../../../.prettierignore",
|
|
124
|
+
"prettier:fix": "prettier --write . --ignore-path ../../../.prettierignore",
|
|
125
|
+
"test": "npm run test:mocha",
|
|
126
|
+
"test:mocha": "mocha --unhandled-rejections=strict --recursive dist/test/*.spec.js --exit --project src/test/tsconfig.json -r node_modules/@fluidframework/mocha-test-setup",
|
|
127
|
+
"test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
|
|
128
|
+
"tsc": "tsc",
|
|
129
|
+
"typetests:gen": "flub generate typetests --generate --dir .",
|
|
130
|
+
"typetests:prepare": "flub generate typetests --prepare --dir . --pin"
|
|
131
|
+
}
|
|
132
|
+
}
|
package/src/TestSummaryUtils.ts
CHANGED
|
@@ -29,10 +29,11 @@ import { timeoutAwait } from "./timeoutUtils";
|
|
|
29
29
|
const summarizerClientType = "summarizer";
|
|
30
30
|
|
|
31
31
|
async function createSummarizerCore(
|
|
32
|
-
|
|
32
|
+
container: IContainer,
|
|
33
33
|
loader: IHostLoader,
|
|
34
34
|
summaryVersion?: string,
|
|
35
35
|
) {
|
|
36
|
+
const absoluteUrl = await container.getAbsoluteUrl("");
|
|
36
37
|
if (absoluteUrl === undefined) {
|
|
37
38
|
throw new Error("URL could not be resolved");
|
|
38
39
|
}
|
|
@@ -74,6 +75,11 @@ const defaultSummaryOptions: ISummaryRuntimeOptions = {
|
|
|
74
75
|
},
|
|
75
76
|
};
|
|
76
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Creates a summarizer client from the given container and data store factory, and returns the summarizer client's
|
|
80
|
+
* IContainer and ISummarizer.
|
|
81
|
+
* The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.
|
|
82
|
+
*/
|
|
77
83
|
export async function createSummarizerFromFactory(
|
|
78
84
|
provider: ITestObjectProvider,
|
|
79
85
|
container: IContainer,
|
|
@@ -81,7 +87,7 @@ export async function createSummarizerFromFactory(
|
|
|
81
87
|
summaryVersion?: string,
|
|
82
88
|
containerRuntimeFactoryType = ContainerRuntimeFactoryWithDefaultDataStore,
|
|
83
89
|
registryEntries?: NamedFluidDataStoreRegistryEntries,
|
|
84
|
-
): Promise<ISummarizer> {
|
|
90
|
+
): Promise<{ container: IContainer; summarizer: ISummarizer }> {
|
|
85
91
|
const innerRequestHandler = async (request: IRequest, runtime: IContainerRuntimeBase) =>
|
|
86
92
|
runtime.IFluidHandleContext.resolveHandle(request);
|
|
87
93
|
const runtimeFactory = new containerRuntimeFactoryType(
|
|
@@ -95,10 +101,13 @@ export async function createSummarizerFromFactory(
|
|
|
95
101
|
const loader = provider.createLoader([[provider.defaultCodeDetails, runtimeFactory]], {
|
|
96
102
|
configProvider: mockConfigProvider(),
|
|
97
103
|
});
|
|
98
|
-
|
|
99
|
-
return (await createSummarizerCore(absoluteUrl, loader, summaryVersion)).summarizer;
|
|
104
|
+
return createSummarizerCore(container, loader, summaryVersion);
|
|
100
105
|
}
|
|
101
106
|
|
|
107
|
+
/**
|
|
108
|
+
* Creates a summarizer client from the given container and returns the summarizer client's IContainer and ISummarizer.
|
|
109
|
+
* The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.
|
|
110
|
+
*/
|
|
102
111
|
export async function createSummarizer(
|
|
103
112
|
provider: ITestObjectProvider,
|
|
104
113
|
container: IContainer,
|
|
@@ -106,27 +115,6 @@ export async function createSummarizer(
|
|
|
106
115
|
gcOptions?: IGCRuntimeOptions,
|
|
107
116
|
configProvider: IConfigProviderBase = mockConfigProvider(),
|
|
108
117
|
logger?: ITelemetryBaseLogger,
|
|
109
|
-
): Promise<ISummarizer> {
|
|
110
|
-
const absoluteUrl = await container.getAbsoluteUrl("");
|
|
111
|
-
return (
|
|
112
|
-
await createSummarizerWithContainer(
|
|
113
|
-
provider,
|
|
114
|
-
absoluteUrl,
|
|
115
|
-
summaryVersion,
|
|
116
|
-
gcOptions,
|
|
117
|
-
configProvider,
|
|
118
|
-
logger,
|
|
119
|
-
)
|
|
120
|
-
).summarizer;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export async function createSummarizerWithContainer(
|
|
124
|
-
provider: ITestObjectProvider,
|
|
125
|
-
absoluteUrl: string | undefined,
|
|
126
|
-
summaryVersion?: string,
|
|
127
|
-
gcOptions?: IGCRuntimeOptions,
|
|
128
|
-
configProvider: IConfigProviderBase = mockConfigProvider(),
|
|
129
|
-
logger?: ITelemetryBaseLogger,
|
|
130
118
|
): Promise<{ container: IContainer; summarizer: ISummarizer }> {
|
|
131
119
|
const testContainerConfig: ITestContainerConfig = {
|
|
132
120
|
runtimeOptions: {
|
|
@@ -136,8 +124,9 @@ export async function createSummarizerWithContainer(
|
|
|
136
124
|
loaderProps: { configProvider, logger },
|
|
137
125
|
};
|
|
138
126
|
const loader = provider.makeTestLoader(testContainerConfig);
|
|
139
|
-
return createSummarizerCore(
|
|
127
|
+
return createSummarizerCore(container, loader, summaryVersion);
|
|
140
128
|
}
|
|
129
|
+
|
|
141
130
|
/**
|
|
142
131
|
* Summarizes on demand and returns the summary tree, the version number and the reference sequence number of the
|
|
143
132
|
* submitted summary.
|
package/src/containerUtils.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { IContainer } from "@fluidframework/container-definitions";
|
|
7
|
-
import { ConnectionState
|
|
7
|
+
import { ConnectionState } from "@fluidframework/container-loader";
|
|
8
8
|
import { PromiseExecutor, timeoutPromise, TimeoutWithError } from "./timeoutUtils";
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -15,8 +15,8 @@ import { PromiseExecutor, timeoutPromise, TimeoutWithError } from "./timeoutUtil
|
|
|
15
15
|
* - failOnContainerClose = true
|
|
16
16
|
* - timeoutOptions.durationMs = 1s
|
|
17
17
|
*/
|
|
18
|
-
export async function ensureContainerConnected(container:
|
|
19
|
-
if (
|
|
18
|
+
export async function ensureContainerConnected(container: IContainer): Promise<void> {
|
|
19
|
+
if (container.connectionState !== ConnectionState.Connected) {
|
|
20
20
|
return timeoutPromise((resolve) => container.once("connected", () => resolve()));
|
|
21
21
|
}
|
|
22
22
|
}
|
package/src/index.ts
CHANGED
|
@@ -29,12 +29,7 @@ export {
|
|
|
29
29
|
ITestObjectProvider,
|
|
30
30
|
TestObjectProvider,
|
|
31
31
|
} from "./testObjectProvider";
|
|
32
|
-
export {
|
|
33
|
-
createSummarizer,
|
|
34
|
-
createSummarizerFromFactory,
|
|
35
|
-
createSummarizerWithContainer,
|
|
36
|
-
summarizeNow,
|
|
37
|
-
} from "./TestSummaryUtils";
|
|
32
|
+
export { createSummarizer, createSummarizerFromFactory, summarizeNow } from "./TestSummaryUtils";
|
|
38
33
|
export {
|
|
39
34
|
defaultTimeoutDurationMs,
|
|
40
35
|
timeoutAwait,
|
package/src/packageVersion.ts
CHANGED