@fluidframework/test-utils 2.0.0-internal.2.2.1 → 2.0.0-internal.2.3.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/.eslintrc.js +1 -1
- package/dist/TestSummaryUtils.d.ts +8 -2
- package/dist/TestSummaryUtils.d.ts.map +1 -1
- package/dist/TestSummaryUtils.js +9 -5
- package/dist/TestSummaryUtils.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 +24 -24
- package/src/TestSummaryUtils.ts +10 -3
- package/src/packageVersion.ts +1 -1
- package/tsconfig.json +1 -0
package/.eslintrc.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
module.exports = {
|
|
7
7
|
"extends": [
|
|
8
|
-
require.resolve("@fluidframework/eslint-config-fluid"), "prettier"
|
|
8
|
+
require.resolve("@fluidframework/eslint-config-fluid/minimal"), "prettier"
|
|
9
9
|
],
|
|
10
10
|
"parserOptions": {
|
|
11
11
|
"project": ["./tsconfig.json", "./src/test/tsconfig.json"]
|
|
@@ -7,16 +7,22 @@ import { IContainer } from "@fluidframework/container-definitions";
|
|
|
7
7
|
import { IGCRuntimeOptions, ISummarizer } from "@fluidframework/container-runtime";
|
|
8
8
|
import { IFluidDataStoreFactory, NamedFluidDataStoreRegistryEntries } from "@fluidframework/runtime-definitions";
|
|
9
9
|
import { IConfigProviderBase } from "@fluidframework/telemetry-utils";
|
|
10
|
+
import { ITelemetryBaseLogger } from "@fluidframework/common-definitions";
|
|
10
11
|
import { ITestObjectProvider } from "./testObjectProvider";
|
|
11
12
|
export declare function createSummarizerFromFactory(provider: ITestObjectProvider, container: IContainer, dataStoreFactory: IFluidDataStoreFactory, summaryVersion?: string, containerRuntimeFactoryType?: typeof ContainerRuntimeFactoryWithDefaultDataStore, registryEntries?: NamedFluidDataStoreRegistryEntries): Promise<ISummarizer>;
|
|
12
|
-
export declare function createSummarizer(provider: ITestObjectProvider, container: IContainer, summaryVersion?: string, gcOptions?: IGCRuntimeOptions, configProvider?: IConfigProviderBase): Promise<ISummarizer>;
|
|
13
|
-
export declare function createSummarizerWithContainer(provider: ITestObjectProvider, absoluteUrl: string | undefined, summaryVersion?: string, gcOptions?: IGCRuntimeOptions, configProvider?: IConfigProviderBase): Promise<{
|
|
13
|
+
export declare function createSummarizer(provider: ITestObjectProvider, container: IContainer, summaryVersion?: string, gcOptions?: IGCRuntimeOptions, configProvider?: IConfigProviderBase, logger?: ITelemetryBaseLogger): Promise<ISummarizer>;
|
|
14
|
+
export declare function createSummarizerWithContainer(provider: ITestObjectProvider, absoluteUrl: string | undefined, summaryVersion?: string, gcOptions?: IGCRuntimeOptions, configProvider?: IConfigProviderBase, logger?: ITelemetryBaseLogger): Promise<{
|
|
14
15
|
container: IContainer;
|
|
15
16
|
summarizer: ISummarizer;
|
|
16
17
|
}>;
|
|
18
|
+
/**
|
|
19
|
+
* Summarizes on demand and returns the summary tree, the version number and the reference sequence number of the
|
|
20
|
+
* submitted summary.
|
|
21
|
+
*/
|
|
17
22
|
export declare function summarizeNow(summarizer: ISummarizer, reason?: string): Promise<{
|
|
18
23
|
summaryTree: import("@fluidframework/protocol-definitions").ISummaryTree;
|
|
19
24
|
summaryVersion: string;
|
|
25
|
+
summaryRefSeq: number;
|
|
20
26
|
}>;
|
|
21
27
|
export declare function waitForContainerConnection(container: IContainer): Promise<void>;
|
|
22
28
|
//# sourceMappingURL=TestSummaryUtils.d.ts.map
|
|
@@ -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;AAE9F,OAAO,EACH,iBAAiB,EACjB,WAAW,EAEd,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAEH,sBAAsB,EACtB,kCAAkC,EACrC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,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;AAE9F,OAAO,EACH,iBAAiB,EACjB,WAAW,EAEd,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAEH,sBAAsB,EACtB,kCAAkC,EACrC,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;AA+CjF,wBAAsB,2BAA2B,CAC7C,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,UAAU,EACrB,gBAAgB,EAAE,sBAAsB,EACxC,cAAc,CAAC,EAAE,MAAM,EACvB,2BAA2B,qDAA8C,EACzE,eAAe,CAAC,EAAE,kCAAkC,GACrD,OAAO,CAAC,WAAW,CAAC,CAoBtB;AAED,wBAAsB,gBAAgB,CAClC,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,GAC9B,OAAO,CAAC,WAAW,CAAC,CAUtB;AAED,wBAAsB,6BAA6B,CAC/C,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,cAAc,CAAC,EAAE,MAAM,EACvB,SAAS,CAAC,EAAE,iBAAiB,EAC7B,cAAc,GAAE,mBAA0C,EAC1D,MAAM,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,WAAW,CAAC;CAAE,CAAC,CAU9D;AACD;;;EAGE;AACF,wBAAsB,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,GAAE,MAA0B;;;;GAsB7F;AAED,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAIrF"}
|
package/dist/TestSummaryUtils.js
CHANGED
|
@@ -25,7 +25,6 @@ async function createSummarizerCore(absoluteUrl, loader, summaryVersion) {
|
|
|
25
25
|
type: summarizerClientType,
|
|
26
26
|
},
|
|
27
27
|
[driver_definitions_1.DriverHeader.summarizingClient]: true,
|
|
28
|
-
[container_definitions_1.LoaderHeader.reconnect]: false,
|
|
29
28
|
[container_definitions_1.LoaderHeader.version]: summaryVersion,
|
|
30
29
|
},
|
|
31
30
|
url: absoluteUrl,
|
|
@@ -60,23 +59,27 @@ async function createSummarizerFromFactory(provider, container, dataStoreFactory
|
|
|
60
59
|
return (await createSummarizerCore(absoluteUrl, loader, summaryVersion)).summarizer;
|
|
61
60
|
}
|
|
62
61
|
exports.createSummarizerFromFactory = createSummarizerFromFactory;
|
|
63
|
-
async function createSummarizer(provider, container, summaryVersion, gcOptions, configProvider = (0, TestConfigs_1.mockConfigProvider)()) {
|
|
62
|
+
async function createSummarizer(provider, container, summaryVersion, gcOptions, configProvider = (0, TestConfigs_1.mockConfigProvider)(), logger) {
|
|
64
63
|
const absoluteUrl = await container.getAbsoluteUrl("");
|
|
65
|
-
return (await createSummarizerWithContainer(provider, absoluteUrl, summaryVersion, gcOptions, configProvider)).summarizer;
|
|
64
|
+
return (await createSummarizerWithContainer(provider, absoluteUrl, summaryVersion, gcOptions, configProvider, logger)).summarizer;
|
|
66
65
|
}
|
|
67
66
|
exports.createSummarizer = createSummarizer;
|
|
68
|
-
async function createSummarizerWithContainer(provider, absoluteUrl, summaryVersion, gcOptions, configProvider = (0, TestConfigs_1.mockConfigProvider)()) {
|
|
67
|
+
async function createSummarizerWithContainer(provider, absoluteUrl, summaryVersion, gcOptions, configProvider = (0, TestConfigs_1.mockConfigProvider)(), logger) {
|
|
69
68
|
const testContainerConfig = {
|
|
70
69
|
runtimeOptions: {
|
|
71
70
|
summaryOptions: defaultSummaryOptions,
|
|
72
71
|
gcOptions,
|
|
73
72
|
},
|
|
74
|
-
loaderProps: { configProvider },
|
|
73
|
+
loaderProps: { configProvider, logger },
|
|
75
74
|
};
|
|
76
75
|
const loader = provider.makeTestLoader(testContainerConfig);
|
|
77
76
|
return createSummarizerCore(absoluteUrl, loader, summaryVersion);
|
|
78
77
|
}
|
|
79
78
|
exports.createSummarizerWithContainer = createSummarizerWithContainer;
|
|
79
|
+
/**
|
|
80
|
+
* Summarizes on demand and returns the summary tree, the version number and the reference sequence number of the
|
|
81
|
+
* submitted summary.
|
|
82
|
+
*/
|
|
80
83
|
async function summarizeNow(summarizer, reason = "end-to-end test") {
|
|
81
84
|
const result = summarizer.summarizeOnDemand({ reason });
|
|
82
85
|
const submitResult = await result.summarySubmitted;
|
|
@@ -91,6 +94,7 @@ async function summarizeNow(summarizer, reason = "end-to-end test") {
|
|
|
91
94
|
return {
|
|
92
95
|
summaryTree: submitResult.data.summaryTree,
|
|
93
96
|
summaryVersion: ackNackResult.data.summaryAckOp.contents.handle,
|
|
97
|
+
summaryRefSeq: submitResult.data.referenceSequenceNumber,
|
|
94
98
|
};
|
|
95
99
|
}
|
|
96
100
|
exports.summarizeNow = summarizeNow;
|
|
@@ -1 +1 @@
|
|
|
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 { ConnectionState } from \"@fluidframework/container-loader\";\nimport {\n IGCRuntimeOptions,\n ISummarizer,\n ISummaryRuntimeOptions,\n} from \"@fluidframework/container-runtime\";\nimport { FluidObject, IRequest } from \"@fluidframework/core-interfaces\";\nimport { DriverHeader } from \"@fluidframework/driver-definitions\";\nimport {\n IContainerRuntimeBase,\n IFluidDataStoreFactory,\n NamedFluidDataStoreRegistryEntries,\n} from \"@fluidframework/runtime-definitions\";\nimport { requestFluidObject } from \"@fluidframework/runtime-utils\";\nimport { IConfigProviderBase } from \"@fluidframework/telemetry-utils\";\nimport { ITestContainerConfig, ITestObjectProvider } from \"./testObjectProvider\";\nimport { mockConfigProvider } from \"./TestConfigs\";\n\nconst summarizerClientType = \"summarizer\";\n\nasync function createSummarizerCore(absoluteUrl: string | undefined, loader: IHostLoader, summaryVersion?: string) {\n if (absoluteUrl === undefined) {\n throw new Error(\"URL could not be resolved\");\n }\n\n const request: IRequest = {\n headers: {\n [LoaderHeader.cache]: false,\n [LoaderHeader.clientDetails]: {\n capabilities: { interactive: false },\n type: summarizerClientType,\n },\n [DriverHeader.summarizingClient]: true,\n [LoaderHeader.reconnect]: false,\n [LoaderHeader.version]: summaryVersion,\n },\n url: absoluteUrl,\n };\n const summarizerContainer = await loader.resolve(request);\n await waitForContainerConnection(summarizerContainer);\n\n const fluidObject =\n await requestFluidObject<FluidObject<ISummarizer>>(summarizerContainer, { url: \"_summarizer\" });\n if (fluidObject.ISummarizer === undefined) {\n throw new Error(\"Fluid object does not implement ISummarizer\");\n }\n\n return {\n container: summarizerContainer,\n summarizer: fluidObject.ISummarizer,\n };\n}\n\nconst defaultSummaryOptions: ISummaryRuntimeOptions = {\n summaryConfigOverrides: {\n state: \"disableHeuristics\",\n maxAckWaitTime: 10000,\n maxOpsSinceLastSummary: 7000,\n initialSummarizerDelayMs: 0,\n summarizerClientElection: false,\n },\n};\n\nexport async function createSummarizerFromFactory(\n provider: ITestObjectProvider,\n container: IContainer,\n dataStoreFactory: IFluidDataStoreFactory,\n summaryVersion?: string,\n containerRuntimeFactoryType = ContainerRuntimeFactoryWithDefaultDataStore,\n registryEntries?: NamedFluidDataStoreRegistryEntries,\n): Promise<ISummarizer> {\n const innerRequestHandler = async (request: IRequest, runtime: IContainerRuntimeBase) =>\n runtime.IFluidHandleContext.resolveHandle(request);\n const runtimeFactory = new containerRuntimeFactoryType(\n dataStoreFactory,\n registryEntries ??\n [\n [dataStoreFactory.type, Promise.resolve(dataStoreFactory)],\n ],\n undefined,\n [innerRequestHandler],\n { summaryOptions: defaultSummaryOptions },\n );\n\n const loader = provider.createLoader(\n [[provider.defaultCodeDetails, runtimeFactory]],\n { configProvider: mockConfigProvider() },\n );\n const absoluteUrl = await container.getAbsoluteUrl(\"\");\n return (await createSummarizerCore(absoluteUrl, loader, summaryVersion)).summarizer;\n}\n\nexport async function createSummarizer(\n provider: ITestObjectProvider,\n container: IContainer,\n summaryVersion?: string,\n gcOptions?: IGCRuntimeOptions,\n configProvider: IConfigProviderBase = mockConfigProvider(),\n): Promise<ISummarizer> {\n const absoluteUrl = await container.getAbsoluteUrl(\"\");\n return (await createSummarizerWithContainer(\n provider,\n absoluteUrl,\n summaryVersion,\n gcOptions,\n configProvider,\n )).summarizer;\n}\n\nexport async function createSummarizerWithContainer(\n provider: ITestObjectProvider,\n absoluteUrl: string | undefined,\n summaryVersion?: string,\n gcOptions?: IGCRuntimeOptions,\n configProvider: IConfigProviderBase = mockConfigProvider(),\n): Promise<{ container: IContainer; summarizer: ISummarizer; }> {\n const testContainerConfig: ITestContainerConfig = {\n runtimeOptions: {\n summaryOptions: defaultSummaryOptions,\n gcOptions,\n },\n loaderProps: { configProvider },\n };\n const loader = provider.makeTestLoader(testContainerConfig);\n return createSummarizerCore(absoluteUrl, loader, summaryVersion);\n}\n\nexport async function summarizeNow(summarizer: ISummarizer, reason: string = \"end-to-end test\") {\n const result = summarizer.summarizeOnDemand({ reason });\n\n const submitResult = await result.summarySubmitted;\n assert(submitResult.success, \"on-demand summary should submit\");\n assert(submitResult.data.stage === \"submit\",\n \"on-demand summary submitted data stage should be submit\");\n assert(submitResult.data.summaryTree !== undefined, \"summary tree should exist\");\n\n const broadcastResult = await result.summaryOpBroadcasted;\n assert(broadcastResult.success, \"summary op should be broadcast\");\n\n const ackNackResult = await result.receivedSummaryAckOrNack;\n assert(ackNackResult.success, \"summary op should be acked\");\n\n await new Promise((resolve) => process.nextTick(resolve));\n\n return {\n summaryTree: submitResult.data.summaryTree,\n summaryVersion: ackNackResult.data.summaryAckOp.contents.handle,\n };\n}\n\nexport async function waitForContainerConnection(container: IContainer): Promise<void> {\n if (container.connectionState !== ConnectionState.Connected) {\n return new Promise((resolve) => container.once(\"connected\", () => resolve()));\n }\n}\n"]}
|
|
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 { ConnectionState } from \"@fluidframework/container-loader\";\nimport {\n IGCRuntimeOptions,\n ISummarizer,\n ISummaryRuntimeOptions,\n} from \"@fluidframework/container-runtime\";\nimport { FluidObject, IRequest } from \"@fluidframework/core-interfaces\";\nimport { DriverHeader } from \"@fluidframework/driver-definitions\";\nimport {\n IContainerRuntimeBase,\n IFluidDataStoreFactory,\n NamedFluidDataStoreRegistryEntries,\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\";\n\nconst summarizerClientType = \"summarizer\";\n\nasync function createSummarizerCore(absoluteUrl: string | undefined, loader: IHostLoader, summaryVersion?: string) {\n if (absoluteUrl === undefined) {\n throw new Error(\"URL could not be resolved\");\n }\n\n const request: IRequest = {\n headers: {\n [LoaderHeader.cache]: false,\n [LoaderHeader.clientDetails]: {\n capabilities: { interactive: false },\n type: summarizerClientType,\n },\n [DriverHeader.summarizingClient]: true,\n [LoaderHeader.version]: summaryVersion,\n },\n url: absoluteUrl,\n };\n const summarizerContainer = await loader.resolve(request);\n await waitForContainerConnection(summarizerContainer);\n\n const fluidObject =\n await requestFluidObject<FluidObject<ISummarizer>>(summarizerContainer, { url: \"_summarizer\" });\n if (fluidObject.ISummarizer === undefined) {\n throw new Error(\"Fluid object does not implement ISummarizer\");\n }\n\n return {\n container: summarizerContainer,\n summarizer: fluidObject.ISummarizer,\n };\n}\n\nconst defaultSummaryOptions: ISummaryRuntimeOptions = {\n summaryConfigOverrides: {\n state: \"disableHeuristics\",\n maxAckWaitTime: 10000,\n maxOpsSinceLastSummary: 7000,\n initialSummarizerDelayMs: 0,\n summarizerClientElection: false,\n },\n};\n\nexport async function createSummarizerFromFactory(\n provider: ITestObjectProvider,\n container: IContainer,\n dataStoreFactory: IFluidDataStoreFactory,\n summaryVersion?: string,\n containerRuntimeFactoryType = ContainerRuntimeFactoryWithDefaultDataStore,\n registryEntries?: NamedFluidDataStoreRegistryEntries,\n): Promise<ISummarizer> {\n const innerRequestHandler = async (request: IRequest, runtime: IContainerRuntimeBase) =>\n runtime.IFluidHandleContext.resolveHandle(request);\n const runtimeFactory = new containerRuntimeFactoryType(\n dataStoreFactory,\n registryEntries ??\n [\n [dataStoreFactory.type, Promise.resolve(dataStoreFactory)],\n ],\n undefined,\n [innerRequestHandler],\n { summaryOptions: defaultSummaryOptions },\n );\n\n const loader = provider.createLoader(\n [[provider.defaultCodeDetails, runtimeFactory]],\n { configProvider: mockConfigProvider() },\n );\n const absoluteUrl = await container.getAbsoluteUrl(\"\");\n return (await createSummarizerCore(absoluteUrl, loader, summaryVersion)).summarizer;\n}\n\nexport async function createSummarizer(\n provider: ITestObjectProvider,\n container: IContainer,\n summaryVersion?: string,\n gcOptions?: IGCRuntimeOptions,\n configProvider: IConfigProviderBase = mockConfigProvider(),\n logger?: ITelemetryBaseLogger,\n): Promise<ISummarizer> {\n const absoluteUrl = await container.getAbsoluteUrl(\"\");\n return (await createSummarizerWithContainer(\n provider,\n absoluteUrl,\n summaryVersion,\n gcOptions,\n configProvider,\n logger,\n )).summarizer;\n}\n\nexport async function createSummarizerWithContainer(\n provider: ITestObjectProvider,\n absoluteUrl: string | undefined,\n summaryVersion?: string,\n gcOptions?: IGCRuntimeOptions,\n configProvider: IConfigProviderBase = mockConfigProvider(),\n logger?: ITelemetryBaseLogger,\n): Promise<{ container: IContainer; summarizer: ISummarizer; }> {\n const testContainerConfig: ITestContainerConfig = {\n runtimeOptions: {\n summaryOptions: defaultSummaryOptions,\n gcOptions,\n },\n loaderProps: { configProvider, logger },\n };\n const loader = provider.makeTestLoader(testContainerConfig);\n return createSummarizerCore(absoluteUrl, loader, summaryVersion);\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 const result = summarizer.summarizeOnDemand({ reason });\n\n const submitResult = await result.summarySubmitted;\n assert(submitResult.success, \"on-demand summary should submit\");\n assert(submitResult.data.stage === \"submit\",\n \"on-demand summary submitted data stage should be submit\");\n assert(submitResult.data.summaryTree !== undefined, \"summary tree should exist\");\n\n const broadcastResult = await result.summaryOpBroadcasted;\n assert(broadcastResult.success, \"summary op should be broadcast\");\n\n const ackNackResult = await result.receivedSummaryAckOrNack;\n assert(ackNackResult.success, \"summary op should be acked\");\n\n await new Promise((resolve) => process.nextTick(resolve));\n\n return {\n summaryTree: submitResult.data.summaryTree,\n summaryVersion: ackNackResult.data.summaryAckOp.contents.handle,\n summaryRefSeq: submitResult.data.referenceSequenceNumber,\n };\n}\n\nexport async function waitForContainerConnection(container: IContainer): Promise<void> {\n if (container.connectionState !== ConnectionState.Connected) {\n return new Promise((resolve) => container.once(\"connected\", () => resolve()));\n }\n}\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.2.
|
|
8
|
+
export declare const pkgVersion = "2.0.0-internal.2.3.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.2.
|
|
11
|
+
exports.pkgVersion = "2.0.0-internal.2.3.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.2.
|
|
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.2.3.1\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/test-utils",
|
|
3
|
-
"version": "2.0.0-internal.2.
|
|
3
|
+
"version": "2.0.0-internal.2.3.1",
|
|
4
4
|
"description": "Utilities for Fluid tests",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -57,28 +57,28 @@
|
|
|
57
57
|
"temp-directory": "nyc/.nyc_output"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@fluidframework/aqueduct": ">=2.0.0-internal.2.
|
|
60
|
+
"@fluidframework/aqueduct": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
61
61
|
"@fluidframework/common-definitions": "^0.20.1",
|
|
62
62
|
"@fluidframework/common-utils": "^1.0.0",
|
|
63
|
-
"@fluidframework/container-definitions": ">=2.0.0-internal.2.
|
|
64
|
-
"@fluidframework/container-loader": ">=2.0.0-internal.2.
|
|
65
|
-
"@fluidframework/container-runtime": ">=2.0.0-internal.2.
|
|
66
|
-
"@fluidframework/container-runtime-definitions": ">=2.0.0-internal.2.
|
|
67
|
-
"@fluidframework/core-interfaces": ">=2.0.0-internal.2.
|
|
68
|
-
"@fluidframework/datastore": ">=2.0.0-internal.2.
|
|
69
|
-
"@fluidframework/datastore-definitions": ">=2.0.0-internal.2.
|
|
70
|
-
"@fluidframework/driver-definitions": ">=2.0.0-internal.2.
|
|
71
|
-
"@fluidframework/driver-utils": ">=2.0.0-internal.2.
|
|
72
|
-
"@fluidframework/local-driver": ">=2.0.0-internal.2.
|
|
73
|
-
"@fluidframework/map": ">=2.0.0-internal.2.
|
|
63
|
+
"@fluidframework/container-definitions": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
64
|
+
"@fluidframework/container-loader": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
65
|
+
"@fluidframework/container-runtime": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
66
|
+
"@fluidframework/container-runtime-definitions": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
67
|
+
"@fluidframework/core-interfaces": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
68
|
+
"@fluidframework/datastore": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
69
|
+
"@fluidframework/datastore-definitions": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
70
|
+
"@fluidframework/driver-definitions": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
71
|
+
"@fluidframework/driver-utils": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
72
|
+
"@fluidframework/local-driver": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
73
|
+
"@fluidframework/map": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
74
74
|
"@fluidframework/protocol-definitions": "^1.1.0",
|
|
75
|
-
"@fluidframework/request-handler": ">=2.0.0-internal.2.
|
|
76
|
-
"@fluidframework/routerlicious-driver": ">=2.0.0-internal.2.
|
|
77
|
-
"@fluidframework/runtime-definitions": ">=2.0.0-internal.2.
|
|
78
|
-
"@fluidframework/runtime-utils": ">=2.0.0-internal.2.
|
|
79
|
-
"@fluidframework/telemetry-utils": ">=2.0.0-internal.2.
|
|
80
|
-
"@fluidframework/test-driver-definitions": ">=2.0.0-internal.2.
|
|
81
|
-
"@fluidframework/test-runtime-utils": ">=2.0.0-internal.2.
|
|
75
|
+
"@fluidframework/request-handler": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
76
|
+
"@fluidframework/routerlicious-driver": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
77
|
+
"@fluidframework/runtime-definitions": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
78
|
+
"@fluidframework/runtime-utils": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
79
|
+
"@fluidframework/telemetry-utils": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
80
|
+
"@fluidframework/test-driver-definitions": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
81
|
+
"@fluidframework/test-runtime-utils": ">=2.0.0-internal.2.3.1 <2.0.0-internal.3.0.0",
|
|
82
82
|
"best-random": "^1.0.0",
|
|
83
83
|
"debug": "^4.1.1",
|
|
84
84
|
"uuid": "^8.3.1"
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
"@fluid-tools/build-cli": "^0.7.0",
|
|
88
88
|
"@fluidframework/build-common": "^1.1.0",
|
|
89
89
|
"@fluidframework/build-tools": "^0.7.0",
|
|
90
|
-
"@fluidframework/eslint-config-fluid": "^
|
|
91
|
-
"@fluidframework/test-utils-previous": "npm:@fluidframework/test-utils@2.0.0-internal.2.
|
|
90
|
+
"@fluidframework/eslint-config-fluid": "^2.0.0",
|
|
91
|
+
"@fluidframework/test-utils-previous": "npm:@fluidframework/test-utils@2.0.0-internal.2.3.0",
|
|
92
92
|
"@microsoft/api-extractor": "^7.22.2",
|
|
93
93
|
"@rushstack/eslint-config": "^2.5.1",
|
|
94
94
|
"@types/diff": "^3.5.1",
|
|
@@ -107,8 +107,8 @@
|
|
|
107
107
|
"typescript": "~4.5.5"
|
|
108
108
|
},
|
|
109
109
|
"typeValidation": {
|
|
110
|
-
"version": "2.0.0-internal.2.
|
|
111
|
-
"baselineRange": "2.0.0-internal.2.
|
|
110
|
+
"version": "2.0.0-internal.2.3.1",
|
|
111
|
+
"baselineRange": "2.0.0-internal.2.3.0",
|
|
112
112
|
"broken": {}
|
|
113
113
|
}
|
|
114
114
|
}
|
package/src/TestSummaryUtils.ts
CHANGED
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
} from "@fluidframework/runtime-definitions";
|
|
22
22
|
import { requestFluidObject } from "@fluidframework/runtime-utils";
|
|
23
23
|
import { IConfigProviderBase } from "@fluidframework/telemetry-utils";
|
|
24
|
+
import { ITelemetryBaseLogger } from "@fluidframework/common-definitions";
|
|
24
25
|
import { ITestContainerConfig, ITestObjectProvider } from "./testObjectProvider";
|
|
25
26
|
import { mockConfigProvider } from "./TestConfigs";
|
|
26
27
|
|
|
@@ -39,7 +40,6 @@ async function createSummarizerCore(absoluteUrl: string | undefined, loader: IHo
|
|
|
39
40
|
type: summarizerClientType,
|
|
40
41
|
},
|
|
41
42
|
[DriverHeader.summarizingClient]: true,
|
|
42
|
-
[LoaderHeader.reconnect]: false,
|
|
43
43
|
[LoaderHeader.version]: summaryVersion,
|
|
44
44
|
},
|
|
45
45
|
url: absoluteUrl,
|
|
@@ -104,6 +104,7 @@ export async function createSummarizer(
|
|
|
104
104
|
summaryVersion?: string,
|
|
105
105
|
gcOptions?: IGCRuntimeOptions,
|
|
106
106
|
configProvider: IConfigProviderBase = mockConfigProvider(),
|
|
107
|
+
logger?: ITelemetryBaseLogger,
|
|
107
108
|
): Promise<ISummarizer> {
|
|
108
109
|
const absoluteUrl = await container.getAbsoluteUrl("");
|
|
109
110
|
return (await createSummarizerWithContainer(
|
|
@@ -112,6 +113,7 @@ export async function createSummarizer(
|
|
|
112
113
|
summaryVersion,
|
|
113
114
|
gcOptions,
|
|
114
115
|
configProvider,
|
|
116
|
+
logger,
|
|
115
117
|
)).summarizer;
|
|
116
118
|
}
|
|
117
119
|
|
|
@@ -121,18 +123,22 @@ export async function createSummarizerWithContainer(
|
|
|
121
123
|
summaryVersion?: string,
|
|
122
124
|
gcOptions?: IGCRuntimeOptions,
|
|
123
125
|
configProvider: IConfigProviderBase = mockConfigProvider(),
|
|
126
|
+
logger?: ITelemetryBaseLogger,
|
|
124
127
|
): Promise<{ container: IContainer; summarizer: ISummarizer; }> {
|
|
125
128
|
const testContainerConfig: ITestContainerConfig = {
|
|
126
129
|
runtimeOptions: {
|
|
127
130
|
summaryOptions: defaultSummaryOptions,
|
|
128
131
|
gcOptions,
|
|
129
132
|
},
|
|
130
|
-
loaderProps: { configProvider },
|
|
133
|
+
loaderProps: { configProvider, logger },
|
|
131
134
|
};
|
|
132
135
|
const loader = provider.makeTestLoader(testContainerConfig);
|
|
133
136
|
return createSummarizerCore(absoluteUrl, loader, summaryVersion);
|
|
134
137
|
}
|
|
135
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Summarizes on demand and returns the summary tree, the version number and the reference sequence number of the
|
|
140
|
+
* submitted summary.
|
|
141
|
+
*/
|
|
136
142
|
export async function summarizeNow(summarizer: ISummarizer, reason: string = "end-to-end test") {
|
|
137
143
|
const result = summarizer.summarizeOnDemand({ reason });
|
|
138
144
|
|
|
@@ -153,6 +159,7 @@ export async function summarizeNow(summarizer: ISummarizer, reason: string = "en
|
|
|
153
159
|
return {
|
|
154
160
|
summaryTree: submitResult.data.summaryTree,
|
|
155
161
|
summaryVersion: ackNackResult.data.summaryAckOp.contents.handle,
|
|
162
|
+
summaryRefSeq: submitResult.data.referenceSequenceNumber,
|
|
156
163
|
};
|
|
157
164
|
}
|
|
158
165
|
|
package/src/packageVersion.ts
CHANGED