@fluidframework/azure-end-to-end-tests 2.0.0-dev.4.4.0.162574 → 2.0.0-dev.5.3.2.178189
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/CHANGELOG.md +20 -0
- package/dist/test/AzureClientFactory.js +2 -2
- package/dist/test/AzureClientFactory.js.map +1 -1
- package/dist/test/AzureTokenFactory.js +2 -2
- package/dist/test/AzureTokenFactory.js.map +1 -1
- package/dist/test/containerCopy.spec.js +2 -2
- package/dist/test/containerCopy.spec.js.map +1 -1
- package/package.json +18 -20
- package/src/test/AzureClientFactory.ts +1 -1
- package/src/test/AzureTokenFactory.ts +1 -1
- package/src/test/containerCopy.spec.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @fluidframework/azure-end-to-end-tests
|
|
2
2
|
|
|
3
|
+
## 2.0.0-internal.5.3.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
7
|
+
## 2.0.0-internal.5.2.0
|
|
8
|
+
|
|
9
|
+
Dependency updates only.
|
|
10
|
+
|
|
11
|
+
## 2.0.0-internal.5.1.0
|
|
12
|
+
|
|
13
|
+
Dependency updates only.
|
|
14
|
+
|
|
15
|
+
## 2.0.0-internal.5.0.0
|
|
16
|
+
|
|
17
|
+
Dependency updates only.
|
|
18
|
+
|
|
19
|
+
## 2.0.0-internal.4.4.0
|
|
20
|
+
|
|
21
|
+
Dependency updates only.
|
|
22
|
+
|
|
3
23
|
## 2.0.0-internal.4.1.0
|
|
4
24
|
|
|
5
25
|
Dependency updates only.
|
|
@@ -7,7 +7,7 @@ exports.createAzureClient = void 0;
|
|
|
7
7
|
*/
|
|
8
8
|
const uuid_1 = require("uuid");
|
|
9
9
|
const azure_client_1 = require("@fluidframework/azure-client");
|
|
10
|
-
const
|
|
10
|
+
const test_runtime_utils_1 = require("@fluidframework/test-runtime-utils");
|
|
11
11
|
const AzureTokenFactory_1 = require("./AzureTokenFactory");
|
|
12
12
|
/**
|
|
13
13
|
* This function will determine if local or remote mode is required (based on FLUID_CLIENT), and return a new
|
|
@@ -37,7 +37,7 @@ function createAzureClient(userID, userName, logger, configProvider) {
|
|
|
37
37
|
type: "remote",
|
|
38
38
|
}
|
|
39
39
|
: {
|
|
40
|
-
tokenProvider: new
|
|
40
|
+
tokenProvider: new test_runtime_utils_1.InsecureTokenProvider("fooBar", user),
|
|
41
41
|
endpoint: "http://localhost:7071",
|
|
42
42
|
type: "local",
|
|
43
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AzureClientFactory.js","sourceRoot":"","sources":["../../src/test/AzureClientFactory.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,+BAAkC;AAElC,+DAIsC;AACtC,
|
|
1
|
+
{"version":3,"file":"AzureClientFactory.js","sourceRoot":"","sources":["../../src/test/AzureClientFactory.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,+BAAkC;AAElC,+DAIsC;AACtC,2EAA2E;AAG3E,2DAA+D;AAE/D;;;GAGG;AACH,SAAgB,iBAAiB,CAChC,MAAe,EACf,QAAiB,EACjB,MAAmB,EACnB,cAAoC;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,OAAO,CAAC;IACtD,MAAM,QAAQ,GAAG,QAAQ;QACxB,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,sCAAiD;QAChE,CAAC,CAAC,mBAAmB,CAAC;IACvB,MAAM,IAAI,GAAG;QACZ,EAAE,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAA,SAAI,GAAE;QACpB,IAAI,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAA,SAAI,GAAE;KACxB,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sCAAgD,CAAC;IAC9E,IAAI,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KACjD;IAED,uEAAuE;IACvE,mDAAmD;IACnD,iEAAiE;IACjE,MAAM,eAAe,GAA6D,QAAQ;QACzF,CAAC,CAAC;YACA,QAAQ;YACR,aAAa,EAAE,IAAA,4CAAwB,EAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,KAAK,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,KAAK,CAAC;YAC3E,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,QAAQ;SACb;QACH,CAAC,CAAC;YACA,aAAa,EAAE,IAAI,0CAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC;YACxD,QAAQ,EAAE,uBAAuB;YACjC,IAAI,EAAE,OAAO;SACZ,CAAC;IACL,OAAO,IAAI,0BAAW,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;AACjF,CAAC;AAnCD,8CAmCC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { v4 as uuid } from \"uuid\";\n\nimport {\n\tAzureClient,\n\tAzureLocalConnectionConfig,\n\tAzureRemoteConnectionConfig,\n} from \"@fluidframework/azure-client\";\nimport { InsecureTokenProvider } from \"@fluidframework/test-runtime-utils\";\n\nimport { IConfigProviderBase, MockLogger } from \"@fluidframework/telemetry-utils\";\nimport { createAzureTokenProvider } from \"./AzureTokenFactory\";\n\n/**\n * This function will determine if local or remote mode is required (based on FLUID_CLIENT), and return a new\n * {@link AzureClient} instance based on the mode by setting the Connection config accordingly.\n */\nexport function createAzureClient(\n\tuserID?: string,\n\tuserName?: string,\n\tlogger?: MockLogger,\n\tconfigProvider?: IConfigProviderBase,\n): AzureClient {\n\tconst useAzure = process.env.FLUID_CLIENT === \"azure\";\n\tconst tenantId = useAzure\n\t\t? (process.env.azure__fluid__relay__service__tenantId as string)\n\t\t: \"frs-client-tenant\";\n\tconst user = {\n\t\tid: userID ?? uuid(),\n\t\tname: userName ?? uuid(),\n\t};\n\tconst endPoint = process.env.azure__fluid__relay__service__endpoint as string;\n\tif (useAzure && endPoint === undefined) {\n\t\tthrow new Error(\"Azure FRS endpoint is missing\");\n\t}\n\n\t// use AzureClient remote mode will run against live Azure Fluid Relay.\n\t// Default to running Tinylicious for PR validation\n\t// and local testing so it's not hindered by service availability\n\tconst connectionProps: AzureRemoteConnectionConfig | AzureLocalConnectionConfig = useAzure\n\t\t? {\n\t\t\t\ttenantId,\n\t\t\t\ttokenProvider: createAzureTokenProvider(userID ?? \"foo\", userName ?? \"bar\"),\n\t\t\t\tendpoint: endPoint,\n\t\t\t\ttype: \"remote\",\n\t\t }\n\t\t: {\n\t\t\t\ttokenProvider: new InsecureTokenProvider(\"fooBar\", user),\n\t\t\t\tendpoint: \"http://localhost:7071\",\n\t\t\t\ttype: \"local\",\n\t\t };\n\treturn new AzureClient({ connection: connectionProps, logger, configProvider });\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createAzureTokenProvider = void 0;
|
|
4
|
-
const
|
|
4
|
+
const test_runtime_utils_1 = require("@fluidframework/test-runtime-utils");
|
|
5
5
|
function createAzureTokenProvider(userId, userName) {
|
|
6
6
|
const key = process.env.azure__fluid__relay__service__key;
|
|
7
7
|
if (key) {
|
|
@@ -9,7 +9,7 @@ function createAzureTokenProvider(userId, userName) {
|
|
|
9
9
|
id: userId,
|
|
10
10
|
name: userName,
|
|
11
11
|
};
|
|
12
|
-
return new
|
|
12
|
+
return new test_runtime_utils_1.InsecureTokenProvider(key, userConfig);
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
15
15
|
throw new Error("Cannot create token provider.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AzureTokenFactory.js","sourceRoot":"","sources":["../../src/test/AzureTokenFactory.ts"],"names":[],"mappings":";;;AAKA,
|
|
1
|
+
{"version":3,"file":"AzureTokenFactory.js","sourceRoot":"","sources":["../../src/test/AzureTokenFactory.ts"],"names":[],"mappings":";;;AAKA,2EAA2E;AAE3E,SAAgB,wBAAwB,CAAC,MAAc,EAAE,QAAgB;IACxE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iCAA2C,CAAC;IACpE,IAAI,GAAG,EAAE;QACR,MAAM,UAAU,GAAG;YAClB,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,QAAQ;SACd,CAAC;QACF,OAAO,IAAI,0CAAqB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;KAClD;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KACjD;AACF,CAAC;AAXD,4DAWC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { ITokenProvider } from \"@fluidframework/azure-client\";\nimport { InsecureTokenProvider } from \"@fluidframework/test-runtime-utils\";\n\nexport function createAzureTokenProvider(userId: string, userName: string): ITokenProvider {\n\tconst key = process.env.azure__fluid__relay__service__key as string;\n\tif (key) {\n\t\tconst userConfig = {\n\t\t\tid: userId,\n\t\t\tname: userName,\n\t\t};\n\t\treturn new InsecureTokenProvider(key, userConfig);\n\t} else {\n\t\tthrow new Error(\"Cannot create token provider.\");\n\t}\n}\n"]}
|
|
@@ -84,12 +84,12 @@ describe("Container copy scenarios", () => {
|
|
|
84
84
|
node_assert_1.strict.strictEqual(containerCopy.attachState, container_definitions_1.AttachState.Attached, "Container is not attached after attach is called");
|
|
85
85
|
});
|
|
86
86
|
/**
|
|
87
|
-
* Scenario: test if Azure Client can copy existing container at specific version.
|
|
87
|
+
* Scenario: test if Azure Client can copy existing container at a specific version.
|
|
88
88
|
*
|
|
89
89
|
* Expected behavior: an error should not be thrown nor should a rejected promise
|
|
90
90
|
* be returned.
|
|
91
91
|
*/
|
|
92
|
-
it
|
|
92
|
+
it("can successfully copy an existing container at a specific version", async () => {
|
|
93
93
|
const { container } = await client.createContainer(schema);
|
|
94
94
|
const containerId = await container.attach();
|
|
95
95
|
await (0, test_utils_1.timeoutPromise)((resolve) => container.once("connected", () => resolve()), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerCopy.spec.js","sourceRoot":"","sources":["../../src/test/containerCopy.spec.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 */\nimport { strict as assert } from \"node:assert\";\n\nimport { AzureClient } from \"@fluidframework/azure-client\";\nimport { AttachState } from \"@fluidframework/container-definitions\";\nimport { ContainerSchema } from \"@fluidframework/fluid-static\";\nimport { SharedMap } from \"@fluidframework/map\";\nimport { timeoutPromise } from \"@fluidframework/test-utils\";\n\nimport { createAzureClient } from \"./AzureClientFactory\";\nimport { mapWait } from \"./utils\";\n\ndescribe(\"Container copy scenarios\", () => {\n\tconst connectTimeoutMs = 10_000;\n\tlet client: AzureClient;\n\tlet schema: ContainerSchema;\n\n\tbeforeEach(() => {\n\t\tclient = createAzureClient();\n\t\tschema = {\n\t\t\tinitialObjects: {\n\t\t\t\tmap1: SharedMap,\n\t\t\t},\n\t\t};\n\t});\n\n\tbeforeEach(async function () {\n\t\tif (process.env.FLUID_CLIENT !== \"azure\") {\n\t\t\tthis.skip();\n\t\t}\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can provide versions of the container.\n\t *\n\t * Expected behavior: an error should not be thrown nor should a rejected promise\n\t * be returned. Upon creation, we should recieve back 1 version of the container.\n\t */\n\tit(\"can get versions of current document\", async () => {\n\t\tconst { container } = await client.createContainer(schema);\n\t\tconst containerId = await container.attach();\n\n\t\tawait timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\t\tconst resources = client.getContainerVersions(containerId);\n\t\tawait assert.doesNotReject(\n\t\t\tresources,\n\t\t\t() => true,\n\t\t\t\"could not get versions of the container\",\n\t\t);\n\n\t\tconst versions = await resources;\n\t\tassert.strictEqual(versions.length, 1, \"Container should have exactly one version.\");\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can handle bad document ID when versions are requested.\n\t *\n\t * Expected behavior: Client should throw an error.\n\t */\n\tit(\"can handle bad document id when requesting versions\", async () => {\n\t\tconst resources = client.getContainerVersions(\"badid\");\n\t\tconst errorFn = (error: Error): boolean => {\n\t\t\tassert.notStrictEqual(error.message, undefined, \"Azure Client error is undefined\");\n\t\t\tassert.strictEqual(\n\t\t\t\terror.message,\n\t\t\t\t\"R11s fetch error: Document is deleted and cannot be accessed.\",\n\t\t\t\t`Unexpected error: ${error.message}`,\n\t\t\t);\n\t\t\treturn true;\n\t\t};\n\t\tawait assert.rejects(\n\t\t\tresources,\n\t\t\terrorFn,\n\t\t\t\"We should not be able to get container versions.\",\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can copy existing container.\n\t *\n\t * Expected behavior: an error should not be thrown nor should a rejected promise\n\t * be returned.\n\t */\n\tit(\"can copy document successfully\", async () => {\n\t\tconst { container } = await client.createContainer(schema);\n\t\tconst containerId = await container.attach();\n\n\t\tawait timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\t\tconst resources = client.copyContainer(containerId, schema);\n\t\tawait assert.doesNotReject(resources, () => true, \"container could not be copied\");\n\n\t\tconst { container: containerCopy } = await resources;\n\n\t\tconst newContainerId = await containerCopy.attach();\n\t\tawait timeoutPromise((resolve) => containerCopy.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tassert.strictEqual(typeof newContainerId, \"string\", \"Attach did not return a string ID\");\n\t\tassert.strictEqual(\n\t\t\tcontainerCopy.attachState,\n\t\t\tAttachState.Attached,\n\t\t\t\"Container is not attached after attach is called\",\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can copy existing container at specific version.\n\t *\n\t * Expected behavior: an error should not be thrown nor should a rejected promise\n\t * be returned.\n\t */\n\tit.skip(\"TEST FAILING SO SKIPPED - can sucesfully copy document from a specific version\", async () => {\n\t\tconst { container } = await client.createContainer(schema);\n\t\tconst containerId = await container.attach();\n\n\t\tawait timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tconst versions = await client.getContainerVersions(containerId);\n\t\tassert.strictEqual(versions.length, 1, \"Container should have exactly one version.\");\n\n\t\tconst resources = client.copyContainer(containerId, schema, versions[0]);\n\t\tawait assert.doesNotReject(resources, () => true, \"container could not be copied\");\n\n\t\tconst { container: containerCopy } = await resources;\n\n\t\tconst newContainerId = await containerCopy.attach();\n\t\tawait timeoutPromise((resolve) => containerCopy.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tassert.strictEqual(typeof newContainerId, \"string\", \"Attach did not return a string ID\");\n\t\tassert.strictEqual(\n\t\t\tcontainerCopy.attachState,\n\t\t\tAttachState.Attached,\n\t\t\t\"Container is not attached after attach is called\",\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client properly handles DDS objects when\n\t * copying existing container.\n\t *\n\t * Expected behavior: DDS values should match across original and copied\n\t * container.\n\t */\n\tit(\"correctly copies DDS values when copying container\", async () => {\n\t\tconst { container } = await client.createContainer(schema);\n\n\t\tconst initialObjectsCreate = container.initialObjects;\n\t\tconst map1Create = initialObjectsCreate.map1 as SharedMap;\n\t\tmap1Create.set(\"new-key\", \"new-value\");\n\t\tconst valueCreate: string | undefined = map1Create.get(\"new-key\");\n\n\t\tconst containerId = await container.attach();\n\n\t\tawait timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tconst resources = client.copyContainer(containerId, schema);\n\t\tawait assert.doesNotReject(resources, () => true, \"container could not be copied\");\n\n\t\tconst { container: containerCopy } = await resources;\n\n\t\tconst map1Get = containerCopy.initialObjects.map1 as SharedMap;\n\t\tconst valueGet: string | undefined = await mapWait(map1Get, \"new-key\");\n\t\tassert.strictEqual(valueGet, valueCreate, \"DDS value was not correctly copied.\");\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can handle non-existing container when trying to copy\n\t *\n\t * Expected behavior: client should throw an error.\n\t */\n\tit(\"can handle non-existing container\", async () => {\n\t\tconst resources = client.copyContainer(\"badidoncopy\", schema);\n\t\tconst errorFn = (error: Error): boolean => {\n\t\t\tassert.notStrictEqual(error.message, undefined, \"Azure Client error is undefined\");\n\t\t\tassert.strictEqual(\n\t\t\t\terror.message,\n\t\t\t\t\"R11s fetch error: Document is deleted and cannot be accessed.\",\n\t\t\t\t`Unexpected error: ${error.message}`,\n\t\t\t);\n\t\t\treturn true;\n\t\t};\n\n\t\tawait assert.rejects(resources, errorFn, \"We should not be able to copy container.\");\n\t});\n});\n"]}
|
|
1
|
+
{"version":3,"file":"containerCopy.spec.js","sourceRoot":"","sources":["../../src/test/containerCopy.spec.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 */\nimport { strict as assert } from \"node:assert\";\n\nimport { AzureClient } from \"@fluidframework/azure-client\";\nimport { AttachState } from \"@fluidframework/container-definitions\";\nimport { ContainerSchema } from \"@fluidframework/fluid-static\";\nimport { SharedMap } from \"@fluidframework/map\";\nimport { timeoutPromise } from \"@fluidframework/test-utils\";\n\nimport { createAzureClient } from \"./AzureClientFactory\";\nimport { mapWait } from \"./utils\";\n\ndescribe(\"Container copy scenarios\", () => {\n\tconst connectTimeoutMs = 10_000;\n\tlet client: AzureClient;\n\tlet schema: ContainerSchema;\n\n\tbeforeEach(() => {\n\t\tclient = createAzureClient();\n\t\tschema = {\n\t\t\tinitialObjects: {\n\t\t\t\tmap1: SharedMap,\n\t\t\t},\n\t\t};\n\t});\n\n\tbeforeEach(async function () {\n\t\tif (process.env.FLUID_CLIENT !== \"azure\") {\n\t\t\tthis.skip();\n\t\t}\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can provide versions of the container.\n\t *\n\t * Expected behavior: an error should not be thrown nor should a rejected promise\n\t * be returned. Upon creation, we should recieve back 1 version of the container.\n\t */\n\tit(\"can get versions of current document\", async () => {\n\t\tconst { container } = await client.createContainer(schema);\n\t\tconst containerId = await container.attach();\n\n\t\tawait timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\t\tconst resources = client.getContainerVersions(containerId);\n\t\tawait assert.doesNotReject(\n\t\t\tresources,\n\t\t\t() => true,\n\t\t\t\"could not get versions of the container\",\n\t\t);\n\n\t\tconst versions = await resources;\n\t\tassert.strictEqual(versions.length, 1, \"Container should have exactly one version.\");\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can handle bad document ID when versions are requested.\n\t *\n\t * Expected behavior: Client should throw an error.\n\t */\n\tit(\"can handle bad document id when requesting versions\", async () => {\n\t\tconst resources = client.getContainerVersions(\"badid\");\n\t\tconst errorFn = (error: Error): boolean => {\n\t\t\tassert.notStrictEqual(error.message, undefined, \"Azure Client error is undefined\");\n\t\t\tassert.strictEqual(\n\t\t\t\terror.message,\n\t\t\t\t\"R11s fetch error: Document is deleted and cannot be accessed.\",\n\t\t\t\t`Unexpected error: ${error.message}`,\n\t\t\t);\n\t\t\treturn true;\n\t\t};\n\t\tawait assert.rejects(\n\t\t\tresources,\n\t\t\terrorFn,\n\t\t\t\"We should not be able to get container versions.\",\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can copy existing container.\n\t *\n\t * Expected behavior: an error should not be thrown nor should a rejected promise\n\t * be returned.\n\t */\n\tit(\"can copy document successfully\", async () => {\n\t\tconst { container } = await client.createContainer(schema);\n\t\tconst containerId = await container.attach();\n\n\t\tawait timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\t\tconst resources = client.copyContainer(containerId, schema);\n\t\tawait assert.doesNotReject(resources, () => true, \"container could not be copied\");\n\n\t\tconst { container: containerCopy } = await resources;\n\n\t\tconst newContainerId = await containerCopy.attach();\n\t\tawait timeoutPromise((resolve) => containerCopy.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tassert.strictEqual(typeof newContainerId, \"string\", \"Attach did not return a string ID\");\n\t\tassert.strictEqual(\n\t\t\tcontainerCopy.attachState,\n\t\t\tAttachState.Attached,\n\t\t\t\"Container is not attached after attach is called\",\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can copy existing container at a specific version.\n\t *\n\t * Expected behavior: an error should not be thrown nor should a rejected promise\n\t * be returned.\n\t */\n\tit(\"can successfully copy an existing container at a specific version\", async () => {\n\t\tconst { container } = await client.createContainer(schema);\n\t\tconst containerId = await container.attach();\n\n\t\tawait timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tconst versions = await client.getContainerVersions(containerId);\n\t\tassert.strictEqual(versions.length, 1, \"Container should have exactly one version.\");\n\n\t\tconst resources = client.copyContainer(containerId, schema, versions[0]);\n\t\tawait assert.doesNotReject(resources, () => true, \"container could not be copied\");\n\n\t\tconst { container: containerCopy } = await resources;\n\n\t\tconst newContainerId = await containerCopy.attach();\n\t\tawait timeoutPromise((resolve) => containerCopy.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tassert.strictEqual(typeof newContainerId, \"string\", \"Attach did not return a string ID\");\n\t\tassert.strictEqual(\n\t\t\tcontainerCopy.attachState,\n\t\t\tAttachState.Attached,\n\t\t\t\"Container is not attached after attach is called\",\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client properly handles DDS objects when\n\t * copying existing container.\n\t *\n\t * Expected behavior: DDS values should match across original and copied\n\t * container.\n\t */\n\tit(\"correctly copies DDS values when copying container\", async () => {\n\t\tconst { container } = await client.createContainer(schema);\n\n\t\tconst initialObjectsCreate = container.initialObjects;\n\t\tconst map1Create = initialObjectsCreate.map1 as SharedMap;\n\t\tmap1Create.set(\"new-key\", \"new-value\");\n\t\tconst valueCreate: string | undefined = map1Create.get(\"new-key\");\n\n\t\tconst containerId = await container.attach();\n\n\t\tawait timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tconst resources = client.copyContainer(containerId, schema);\n\t\tawait assert.doesNotReject(resources, () => true, \"container could not be copied\");\n\n\t\tconst { container: containerCopy } = await resources;\n\n\t\tconst map1Get = containerCopy.initialObjects.map1 as SharedMap;\n\t\tconst valueGet: string | undefined = await mapWait(map1Get, \"new-key\");\n\t\tassert.strictEqual(valueGet, valueCreate, \"DDS value was not correctly copied.\");\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can handle non-existing container when trying to copy\n\t *\n\t * Expected behavior: client should throw an error.\n\t */\n\tit(\"can handle non-existing container\", async () => {\n\t\tconst resources = client.copyContainer(\"badidoncopy\", schema);\n\t\tconst errorFn = (error: Error): boolean => {\n\t\t\tassert.notStrictEqual(error.message, undefined, \"Azure Client error is undefined\");\n\t\t\tassert.strictEqual(\n\t\t\t\terror.message,\n\t\t\t\t\"R11s fetch error: Document is deleted and cannot be accessed.\",\n\t\t\t\t`Unexpected error: ${error.message}`,\n\t\t\t);\n\t\t\treturn true;\n\t\t};\n\n\t\tawait assert.rejects(resources, errorFn, \"We should not be able to copy container.\");\n\t});\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/azure-end-to-end-tests",
|
|
3
|
-
"version": "2.0.0-dev.
|
|
3
|
+
"version": "2.0.0-dev.5.3.2.178189",
|
|
4
4
|
"description": "Azure client end to end tests",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -32,19 +32,18 @@
|
|
|
32
32
|
"temp-directory": "nyc/.nyc_output"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@fluidframework/aqueduct": "2.0.0-dev.
|
|
36
|
-
"@fluidframework/azure-client": "2.0.0-dev.
|
|
37
|
-
"@fluidframework/container-definitions": "2.0.0-dev.
|
|
38
|
-
"@fluidframework/core-interfaces": "2.0.0-dev.
|
|
39
|
-
"@fluidframework/counter": "2.0.0-dev.
|
|
40
|
-
"@fluidframework/fluid-static": "2.0.0-dev.
|
|
41
|
-
"@fluidframework/map": "2.0.0-dev.
|
|
42
|
-
"@fluidframework/matrix": "2.0.0-dev.
|
|
43
|
-
"@fluidframework/sequence": "2.0.0-dev.
|
|
44
|
-
"@fluidframework/telemetry-utils": "2.0.0-dev.
|
|
45
|
-
"@fluidframework/test-
|
|
46
|
-
"@fluidframework/test-
|
|
47
|
-
"@fluidframework/test-utils": "2.0.0-dev.4.4.0.162574",
|
|
35
|
+
"@fluidframework/aqueduct": "2.0.0-dev.5.3.2.178189",
|
|
36
|
+
"@fluidframework/azure-client": "2.0.0-dev.5.3.2.178189",
|
|
37
|
+
"@fluidframework/container-definitions": "2.0.0-dev.5.3.2.178189",
|
|
38
|
+
"@fluidframework/core-interfaces": "2.0.0-dev.5.3.2.178189",
|
|
39
|
+
"@fluidframework/counter": "2.0.0-dev.5.3.2.178189",
|
|
40
|
+
"@fluidframework/fluid-static": "2.0.0-dev.5.3.2.178189",
|
|
41
|
+
"@fluidframework/map": "2.0.0-dev.5.3.2.178189",
|
|
42
|
+
"@fluidframework/matrix": "2.0.0-dev.5.3.2.178189",
|
|
43
|
+
"@fluidframework/sequence": "2.0.0-dev.5.3.2.178189",
|
|
44
|
+
"@fluidframework/telemetry-utils": "2.0.0-dev.5.3.2.178189",
|
|
45
|
+
"@fluidframework/test-runtime-utils": "2.0.0-dev.5.3.2.178189",
|
|
46
|
+
"@fluidframework/test-utils": "2.0.0-dev.5.3.2.178189",
|
|
48
47
|
"cross-env": "^7.0.3",
|
|
49
48
|
"mocha": "^10.2.0",
|
|
50
49
|
"prettier": "~2.6.2",
|
|
@@ -54,8 +53,9 @@
|
|
|
54
53
|
"uuid": "^8.3.1"
|
|
55
54
|
},
|
|
56
55
|
"devDependencies": {
|
|
57
|
-
"@fluidframework/azure-local-service": "2.0.0-dev.
|
|
58
|
-
"@fluidframework/build-common": "^1.
|
|
56
|
+
"@fluidframework/azure-local-service": "2.0.0-dev.5.3.2.178189",
|
|
57
|
+
"@fluidframework/build-common": "^1.2.0",
|
|
58
|
+
"@fluidframework/build-tools": "^0.21.0",
|
|
59
59
|
"@fluidframework/eslint-config-fluid": "^2.0.0",
|
|
60
60
|
"@types/mocha": "^9.1.1",
|
|
61
61
|
"@types/nock": "^9.3.0",
|
|
@@ -73,10 +73,8 @@
|
|
|
73
73
|
"broken": {}
|
|
74
74
|
},
|
|
75
75
|
"scripts": {
|
|
76
|
-
"build": "
|
|
77
|
-
"build:compile": "
|
|
78
|
-
"build:full": "npm run build",
|
|
79
|
-
"build:full:compile": "npm run build:compile",
|
|
76
|
+
"build": "fluid-build . --task build",
|
|
77
|
+
"build:compile": "fluid-build . --task compile",
|
|
80
78
|
"build:test": "tsc --project ./src/test/tsconfig.json",
|
|
81
79
|
"clean": "rimraf dist lib *.tsbuildinfo *.build.log",
|
|
82
80
|
"eslint": "eslint --format stylish src",
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
AzureLocalConnectionConfig,
|
|
10
10
|
AzureRemoteConnectionConfig,
|
|
11
11
|
} from "@fluidframework/azure-client";
|
|
12
|
-
import { InsecureTokenProvider } from "@fluidframework/test-
|
|
12
|
+
import { InsecureTokenProvider } from "@fluidframework/test-runtime-utils";
|
|
13
13
|
|
|
14
14
|
import { IConfigProviderBase, MockLogger } from "@fluidframework/telemetry-utils";
|
|
15
15
|
import { createAzureTokenProvider } from "./AzureTokenFactory";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { ITokenProvider } from "@fluidframework/azure-client";
|
|
6
|
-
import { InsecureTokenProvider } from "@fluidframework/test-
|
|
6
|
+
import { InsecureTokenProvider } from "@fluidframework/test-runtime-utils";
|
|
7
7
|
|
|
8
8
|
export function createAzureTokenProvider(userId: string, userName: string): ITokenProvider {
|
|
9
9
|
const key = process.env.azure__fluid__relay__service__key as string;
|
|
@@ -115,12 +115,12 @@ describe("Container copy scenarios", () => {
|
|
|
115
115
|
});
|
|
116
116
|
|
|
117
117
|
/**
|
|
118
|
-
* Scenario: test if Azure Client can copy existing container at specific version.
|
|
118
|
+
* Scenario: test if Azure Client can copy existing container at a specific version.
|
|
119
119
|
*
|
|
120
120
|
* Expected behavior: an error should not be thrown nor should a rejected promise
|
|
121
121
|
* be returned.
|
|
122
122
|
*/
|
|
123
|
-
it
|
|
123
|
+
it("can successfully copy an existing container at a specific version", async () => {
|
|
124
124
|
const { container } = await client.createContainer(schema);
|
|
125
125
|
const containerId = await container.attach();
|
|
126
126
|
|