@fluidframework/azure-end-to-end-tests 1.2.0-111554 → 1.2.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"containerCreate.spec.js","sourceRoot":"","sources":["../../src/test/containerCreate.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 \"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\";\n\ndescribe(\"Container create scenarios\", () => {\n const connectTimeoutMs = 1000;\n let client: AzureClient;\n let schema: ContainerSchema;\n\n beforeEach(() => {\n client = createAzureClient();\n schema = {\n initialObjects: {\n map1: SharedMap,\n },\n };\n });\n\n /**\n * Scenario: test when an Azure Client container is created,\n * it is initially detached.\n *\n * Expected behavior: an error should not be thrown nor should a rejected promise\n * be returned.\n */\n it(\"Created container is detached\", async () => {\n const { container } = await client.createContainer(schema);\n assert.strictEqual(\n container.attachState,\n AttachState.Detached,\n \"Container should be detached\",\n );\n\n // Make sure we can attach.\n const containerId = await container.attach();\n assert.strictEqual(typeof containerId, \"string\", \"Attach did not return a string ID\");\n });\n\n /**\n * Scenario: Test attaching a container.\n *\n * Expected behavior: an error should not be thrown nor should a rejected promise\n * be returned.\n */\n it(\"can attach a container\", async () => {\n const { container } = await client.createContainer(schema);\n const containerId = await container.attach();\n\n await timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n durationMs: connectTimeoutMs,\n errorMsg: \"container connect() timeout\",\n });\n\n assert.strictEqual(typeof containerId, \"string\", \"Attach did not return a string ID\");\n assert.strictEqual(\n container.attachState,\n AttachState.Attached,\n \"Container is not attached after attach is called\",\n );\n });\n\n /**\n * Scenario: Test if attaching a container twice fails.\n *\n * Expected behavior: an error should not be thrown nor should a rejected promise\n * be returned.\n */\n it(\"cannot attach a container twice\", async () => {\n const { container } = await client.createContainer(schema);\n const containerId = await container.attach();\n\n await timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n durationMs: connectTimeoutMs,\n errorMsg: \"container connect() timeout\",\n });\n\n assert.strictEqual(typeof containerId, \"string\", \"Attach did not return a string ID\");\n assert.strictEqual(\n container.attachState,\n AttachState.Attached,\n \"Container is attached after attach is called\",\n );\n await assert.rejects(container.attach(), () => true, \"Container should not attach twice\");\n });\n\n /**\n * Scenario: test if Azure Client can get an existing container.\n *\n * Expected behavior: an error should not be thrown nor should a rejected promise\n * be returned.\n */\n it(\"can retrieve existing Azure Fluid Relay container successfully\", async () => {\n const { container: newContainer } = await client.createContainer(schema);\n const containerId = await newContainer.attach();\n\n await timeoutPromise((resolve) => newContainer.once(\"connected\", () => resolve()), {\n durationMs: connectTimeoutMs,\n errorMsg: \"container connect() timeout\",\n });\n\n const resources = client.getContainer(containerId, schema);\n await assert.doesNotReject(\n resources,\n () => true,\n \"container cannot be retrieved from Azure Fluid Relay\",\n );\n });\n\n /**\n * Scenario: test if Azure Client can get a non-exiting container.\n *\n * Expected behavior: an error should be thrown when trying to get a non-existent container.\n */\n it(\"cannot load improperly created container (cannot load a non-existent container)\", async () => {\n const consoleErrorFn = console.error;\n console.error = (): void => {};\n const containerAndServicesP = client.getContainer(\"containerConfig\", schema);\n\n const errorFn = (error: Error): boolean => {\n assert.notStrictEqual(error.message, undefined, \"Azure Client error is undefined\");\n assert.strictEqual(\n error.message,\n \"R11s fetch error: Document is deleted and cannot be accessed.\",\n `Unexpected error: ${error.message}`,\n );\n return true;\n };\n\n await assert.rejects(\n containerAndServicesP,\n errorFn,\n \"Azure Client can load a non-existent container\",\n );\n console.error = consoleErrorFn;\n });\n});\n"]}
1
+ {"version":3,"file":"containerCreate.spec.js","sourceRoot":"","sources":["../../src/test/containerCreate.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\";\n\ndescribe(\"Container create scenarios\", () => {\n\tconst connectTimeoutMs = 1000;\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\t/**\n\t * Scenario: test when an Azure Client container is created,\n\t * it is initially detached.\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(\"Created container is detached\", async () => {\n\t\tconst { container } = await client.createContainer(schema);\n\t\tassert.strictEqual(\n\t\t\tcontainer.attachState,\n\t\t\tAttachState.Detached,\n\t\t\t\"Container should be detached\",\n\t\t);\n\n\t\t// Make sure we can attach.\n\t\tconst containerId = await container.attach();\n\t\tassert.strictEqual(typeof containerId, \"string\", \"Attach did not return a string ID\");\n\t});\n\n\t/**\n\t * Scenario: Test attaching a 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 attach a container\", 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\tassert.strictEqual(typeof containerId, \"string\", \"Attach did not return a string ID\");\n\t\tassert.strictEqual(\n\t\t\tcontainer.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 attaching a container twice fails.\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(\"cannot attach a container twice\", 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\tassert.strictEqual(typeof containerId, \"string\", \"Attach did not return a string ID\");\n\t\tassert.strictEqual(\n\t\t\tcontainer.attachState,\n\t\t\tAttachState.Attached,\n\t\t\t\"Container is attached after attach is called\",\n\t\t);\n\t\tawait assert.rejects(container.attach(), () => true, \"Container should not attach twice\");\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can get an 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 retrieve existing Azure Fluid Relay container successfully\", async () => {\n\t\tconst { container: newContainer } = await client.createContainer(schema);\n\t\tconst containerId = await newContainer.attach();\n\n\t\tawait timeoutPromise((resolve) => newContainer.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tconst resources = client.getContainer(containerId, schema);\n\t\tawait assert.doesNotReject(\n\t\t\tresources,\n\t\t\t() => true,\n\t\t\t\"container cannot be retrieved from Azure Fluid Relay\",\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if Azure Client can get a non-exiting container.\n\t *\n\t * Expected behavior: an error should be thrown when trying to get a non-existent container.\n\t */\n\tit(\"cannot load improperly created container (cannot load a non-existent container)\", async () => {\n\t\tconst consoleErrorFn = console.error;\n\t\tconsole.error = (): void => {};\n\t\tconst containerAndServicesP = client.getContainer(\"containerConfig\", schema);\n\n\t\tconst errorFn = (error: Error): boolean => {\n\t\t\tassert.notStrictEqual(error.message, undefined, \"Azure Client error is undefined\");\n\t\t\tassert.strict(\n\t\t\t\terror.message.startsWith(\"R11s fetch error\"),\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(\n\t\t\tcontainerAndServicesP,\n\t\t\terrorFn,\n\t\t\t\"Azure Client can load a non-existent container\",\n\t\t);\n\t\t// eslint-disable-next-line require-atomic-updates\n\t\tconsole.error = consoleErrorFn;\n\t});\n});\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
5
5
  * Licensed under the MIT License.
6
6
  */
7
- const assert_1 = require("assert");
7
+ const node_assert_1 = require("node:assert");
8
8
  const map_1 = require("@fluidframework/map");
9
9
  const test_utils_1 = require("@fluidframework/test-utils");
10
10
  const AzureClientFactory_1 = require("./AzureClientFactory");
@@ -37,9 +37,9 @@ describe("Fluid data updates", () => {
37
37
  errorMsg: "container connect() timeout",
38
38
  });
39
39
  const resources = client.getContainer(containerId, schema);
40
- await assert_1.strict.doesNotReject(resources, () => true, "container cannot be retrieved from Azure Fluid Relay");
40
+ await node_assert_1.strict.doesNotReject(resources, () => true, "container cannot be retrieved from Azure Fluid Relay");
41
41
  const { container } = await resources;
42
- assert_1.strict.deepStrictEqual(Object.keys(container.initialObjects), Object.keys(schema.initialObjects));
42
+ node_assert_1.strict.deepStrictEqual(Object.keys(container.initialObjects), Object.keys(schema.initialObjects));
43
43
  });
44
44
  /**
45
45
  * Scenario: test if initialObjects passed into the container functions correctly.
@@ -61,7 +61,7 @@ describe("Fluid data updates", () => {
61
61
  const { container: containerGet } = await client.getContainer(containerId, schema);
62
62
  const map1Get = containerGet.initialObjects.map1;
63
63
  const valueGet = await (0, utils_1.mapWait)(map1Get, "new-key");
64
- assert_1.strict.strictEqual(valueGet, valueCreate, "container can't change initial objects");
64
+ node_assert_1.strict.strictEqual(valueGet, valueCreate, "container can't change initial objects");
65
65
  });
66
66
  /**
67
67
  * Scenario: test if we can create DataObjects through initialObjects schema.
@@ -82,12 +82,12 @@ describe("Fluid data updates", () => {
82
82
  errorMsg: "container connect() timeout",
83
83
  });
84
84
  const initialObjectsCreate = container.initialObjects;
85
- (0, assert_1.strict)(initialObjectsCreate.mdo1 instanceof TestDataObject_1.TestDataObject, "container returns the wrong type for mdo1");
86
- (0, assert_1.strict)(initialObjectsCreate.mdo2 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo2");
85
+ (0, node_assert_1.strict)(initialObjectsCreate.mdo1 instanceof TestDataObject_1.TestDataObject, "container returns the wrong type for mdo1");
86
+ (0, node_assert_1.strict)(initialObjectsCreate.mdo2 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo2");
87
87
  const { container: containerGet } = await client.getContainer(containerId, doSchema);
88
88
  const initialObjectsGet = containerGet.initialObjects;
89
- (0, assert_1.strict)(initialObjectsGet.mdo1 instanceof TestDataObject_1.TestDataObject, "container returns the wrong type for mdo1");
90
- (0, assert_1.strict)(initialObjectsCreate.mdo2 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo2");
89
+ (0, node_assert_1.strict)(initialObjectsGet.mdo1 instanceof TestDataObject_1.TestDataObject, "container returns the wrong type for mdo1");
90
+ (0, node_assert_1.strict)(initialObjectsCreate.mdo2 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo2");
91
91
  });
92
92
  /**
93
93
  * Scenario: test if we can create multiple DataObjects of the same type
@@ -111,14 +111,14 @@ describe("Fluid data updates", () => {
111
111
  errorMsg: "container connect() timeout",
112
112
  });
113
113
  const initialObjectsCreate = container.initialObjects;
114
- (0, assert_1.strict)(initialObjectsCreate.mdo1 instanceof TestDataObject_1.TestDataObject, "container returns the wrong type for mdo1");
115
- (0, assert_1.strict)(initialObjectsCreate.mdo2 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo2");
116
- (0, assert_1.strict)(initialObjectsCreate.mdo3 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo3");
114
+ (0, node_assert_1.strict)(initialObjectsCreate.mdo1 instanceof TestDataObject_1.TestDataObject, "container returns the wrong type for mdo1");
115
+ (0, node_assert_1.strict)(initialObjectsCreate.mdo2 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo2");
116
+ (0, node_assert_1.strict)(initialObjectsCreate.mdo3 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo3");
117
117
  const { container: containerGet } = await client.getContainer(containerId, doSchema);
118
118
  const initialObjectsGet = containerGet.initialObjects;
119
- (0, assert_1.strict)(initialObjectsGet.mdo1 instanceof TestDataObject_1.TestDataObject, "container returns the wrong type for mdo1");
120
- (0, assert_1.strict)(initialObjectsCreate.mdo2 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo2");
121
- (0, assert_1.strict)(initialObjectsCreate.mdo3 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo3");
119
+ (0, node_assert_1.strict)(initialObjectsGet.mdo1 instanceof TestDataObject_1.TestDataObject, "container returns the wrong type for mdo1");
120
+ (0, node_assert_1.strict)(initialObjectsCreate.mdo2 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo2");
121
+ (0, node_assert_1.strict)(initialObjectsCreate.mdo3 instanceof TestDataObject_1.CounterTestDataObject, "container returns the wrong type for mdo3");
122
122
  });
123
123
  /**
124
124
  * Scenario: test if we can change DataObject value contained within initialObjects
@@ -138,7 +138,7 @@ describe("Fluid data updates", () => {
138
138
  mdo2.increment();
139
139
  mdo2.increment();
140
140
  mdo2.increment();
141
- assert_1.strict.strictEqual(mdo2.value, 3);
141
+ node_assert_1.strict.strictEqual(mdo2.value, 3);
142
142
  const containerId = await container.attach();
143
143
  await (0, test_utils_1.timeoutPromise)((resolve) => container.once("connected", () => resolve()), {
144
144
  durationMs: connectTimeoutMs,
@@ -147,10 +147,10 @@ describe("Fluid data updates", () => {
147
147
  const { container: containerGet } = await client.getContainer(containerId, doSchema);
148
148
  const initialObjectsGet = containerGet.initialObjects;
149
149
  const mdo2get = initialObjectsGet.mdo2;
150
- assert_1.strict.strictEqual(mdo2get.value, 3);
150
+ node_assert_1.strict.strictEqual(mdo2get.value, 3);
151
151
  mdo2get.increment();
152
152
  mdo2get.increment();
153
- assert_1.strict.strictEqual(mdo2get.value, 5);
153
+ node_assert_1.strict.strictEqual(mdo2get.value, 5);
154
154
  });
155
155
  /**
156
156
  * Scenario: test if the optional schema parameter, dynamicObjectTypes (custom data objects),
@@ -170,12 +170,12 @@ describe("Fluid data updates", () => {
170
170
  const { container } = await client.createContainer(dynamicSchema);
171
171
  await container.attach();
172
172
  const newDo = await container.create(TestDataObject_1.TestDataObject);
173
- assert_1.strict.ok(newDo === null || newDo === void 0 ? void 0 : newDo.handle);
173
+ node_assert_1.strict.ok(newDo === null || newDo === void 0 ? void 0 : newDo.handle);
174
174
  const map1 = container.initialObjects.map1;
175
175
  map1.set("new-pair-id", newDo.handle);
176
176
  const handle = await map1.get("new-pair-id");
177
177
  const obj = await (handle === null || handle === void 0 ? void 0 : handle.get());
178
- assert_1.strict.ok(obj, "container added dynamic objects incorrectly");
178
+ node_assert_1.strict.ok(obj, "container added dynamic objects incorrectly");
179
179
  });
180
180
  });
181
181
  //# sourceMappingURL=ddsTests.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ddsTests.spec.js","sourceRoot":"","sources":["../../src/test/ddsTests.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 \"assert\";\nimport { IFluidHandle } from \"@fluidframework/core-interfaces\";\nimport { ContainerSchema } from \"@fluidframework/fluid-static\";\nimport { SharedMap } from \"@fluidframework/map\";\nimport { timeoutPromise } from \"@fluidframework/test-utils\";\nimport { AzureClient } from \"@fluidframework/azure-client\";\nimport { createAzureClient } from \"./AzureClientFactory\";\nimport { TestDataObject, CounterTestDataObject } from \"./TestDataObject\";\nimport { mapWait } from \"./utils\";\n\ndescribe(\"Fluid data updates\", () => {\n const connectTimeoutMs = 1000;\n let client: AzureClient;\n let schema: ContainerSchema;\n\n beforeEach(() => {\n client = createAzureClient();\n schema = {\n initialObjects: {\n map1: SharedMap,\n },\n };\n });\n\n /**\n * Scenario: test when an Azure Client container is created,\n * it can set the initial objects.\n *\n * Expected behavior: an error should not be thrown nor should a rejected promise\n * be returned.\n */\n it(\"can set DDSes as initial objects for a container\", async () => {\n const { container: newContainer } = await client.createContainer(schema);\n const containerId = await newContainer.attach();\n\n await timeoutPromise((resolve) => newContainer.once(\"connected\", () => resolve()), {\n durationMs: connectTimeoutMs,\n errorMsg: \"container connect() timeout\",\n });\n\n const resources = client.getContainer(containerId, schema);\n await assert.doesNotReject(\n resources,\n () => true,\n \"container cannot be retrieved from Azure Fluid Relay\",\n );\n\n const { container } = await resources;\n assert.deepStrictEqual(\n Object.keys(container.initialObjects),\n Object.keys(schema.initialObjects),\n );\n });\n\n /**\n * Scenario: test if initialObjects passed into the container functions correctly.\n *\n * Expected behavior: initialObjects value loaded in two different containers should mirror\n * each other after value is changed.\n */\n it(\"can change DDSes within initialObjects value\", async () => {\n const { container } = await client.createContainer(schema);\n const containerId = await container.attach();\n\n await timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n durationMs: connectTimeoutMs,\n errorMsg: \"container connect() timeout\",\n });\n\n const initialObjectsCreate = container.initialObjects;\n const map1Create = initialObjectsCreate.map1 as SharedMap;\n map1Create.set(\"new-key\", \"new-value\");\n const valueCreate: string | undefined = map1Create.get(\"new-key\");\n\n const { container: containerGet } = await client.getContainer(containerId, schema);\n const map1Get = containerGet.initialObjects.map1 as SharedMap;\n const valueGet: string | undefined = await mapWait(map1Get, \"new-key\");\n assert.strictEqual(valueGet, valueCreate, \"container can't change initial objects\");\n });\n\n /**\n * Scenario: test if we can create DataObjects through initialObjects schema.\n *\n * Expected behavior: DataObjects can be retrieved from the original and loaded container.\n */\n it(\"can set DataObjects as initial objects for a container\", async () => {\n const doSchema: ContainerSchema = {\n initialObjects: {\n mdo1: TestDataObject,\n mdo2: CounterTestDataObject,\n },\n };\n const { container } = await client.createContainer(doSchema);\n const containerId = await container.attach();\n\n await timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n durationMs: connectTimeoutMs,\n errorMsg: \"container connect() timeout\",\n });\n\n const initialObjectsCreate = container.initialObjects;\n assert(\n initialObjectsCreate.mdo1 instanceof TestDataObject,\n \"container returns the wrong type for mdo1\",\n );\n assert(\n initialObjectsCreate.mdo2 instanceof CounterTestDataObject,\n \"container returns the wrong type for mdo2\",\n );\n\n const { container: containerGet } = await client.getContainer(containerId, doSchema);\n const initialObjectsGet = containerGet.initialObjects;\n assert(\n initialObjectsGet.mdo1 instanceof TestDataObject,\n \"container returns the wrong type for mdo1\",\n );\n assert(\n initialObjectsCreate.mdo2 instanceof CounterTestDataObject,\n \"container returns the wrong type for mdo2\",\n );\n });\n\n /**\n * Scenario: test if we can create multiple DataObjects of the same type\n *\n * Expected behavior: DataObjects of the same type can be retrieved from the\n * original and loaded container.\n * TODO: Known bug that needs to be re-tested once fixed.\n */\n it(\"can use multiple DataObjects of the same type\", async () => {\n const doSchema: ContainerSchema = {\n initialObjects: {\n mdo1: TestDataObject,\n mdo2: CounterTestDataObject,\n mdo3: CounterTestDataObject,\n },\n };\n const { container } = await client.createContainer(doSchema);\n const containerId = await container.attach();\n\n await timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n durationMs: connectTimeoutMs,\n errorMsg: \"container connect() timeout\",\n });\n\n const initialObjectsCreate = container.initialObjects;\n assert(\n initialObjectsCreate.mdo1 instanceof TestDataObject,\n \"container returns the wrong type for mdo1\",\n );\n assert(\n initialObjectsCreate.mdo2 instanceof CounterTestDataObject,\n \"container returns the wrong type for mdo2\",\n );\n assert(\n initialObjectsCreate.mdo3 instanceof CounterTestDataObject,\n \"container returns the wrong type for mdo3\",\n );\n\n const { container: containerGet } = await client.getContainer(containerId, doSchema);\n const initialObjectsGet = containerGet.initialObjects;\n assert(\n initialObjectsGet.mdo1 instanceof TestDataObject,\n \"container returns the wrong type for mdo1\",\n );\n assert(\n initialObjectsCreate.mdo2 instanceof CounterTestDataObject,\n \"container returns the wrong type for mdo2\",\n );\n assert(\n initialObjectsCreate.mdo3 instanceof CounterTestDataObject,\n \"container returns the wrong type for mdo3\",\n );\n });\n\n /**\n * Scenario: test if we can change DataObject value contained within initialObjects\n *\n * Expected behavior: DataObject changes are correctly reflected on original and loaded containers\n */\n it(\"can change DataObjects within initialObjects value\", async () => {\n const doSchema: ContainerSchema = {\n initialObjects: {\n mdo1: TestDataObject,\n mdo2: CounterTestDataObject,\n },\n };\n const { container } = await client.createContainer(doSchema);\n const initialObjectsCreate = container.initialObjects;\n const mdo2 = initialObjectsCreate.mdo2 as CounterTestDataObject;\n mdo2.increment();\n mdo2.increment();\n mdo2.increment();\n\n assert.strictEqual(mdo2.value, 3);\n\n const containerId = await container.attach();\n\n await timeoutPromise((resolve) => container.once(\"connected\", () => resolve()), {\n durationMs: connectTimeoutMs,\n errorMsg: \"container connect() timeout\",\n });\n\n const { container: containerGet } = await client.getContainer(containerId, doSchema);\n const initialObjectsGet = containerGet.initialObjects;\n const mdo2get = initialObjectsGet.mdo2 as CounterTestDataObject;\n\n assert.strictEqual(mdo2get.value, 3);\n\n mdo2get.increment();\n mdo2get.increment();\n assert.strictEqual(mdo2get.value, 5);\n });\n\n /**\n * Scenario: test if the optional schema parameter, dynamicObjectTypes (custom data objects),\n * can be added during runtime and be returned by the container.\n *\n * Expected behavior: added loadable object can be retrieved from the container. Loadable\n * object's id and container config ID should be identical since it's now attached to\n * the container.\n */\n it(\"can create/add loadable objects (custom data object) dynamically during runtime\", async () => {\n const dynamicSchema: ContainerSchema = {\n initialObjects: {\n map1: SharedMap,\n },\n dynamicObjectTypes: [TestDataObject],\n };\n\n const { container } = await client.createContainer(dynamicSchema);\n await container.attach();\n\n const newDo = await container.create(TestDataObject);\n assert.ok(newDo?.handle);\n\n const map1 = container.initialObjects.map1 as SharedMap;\n map1.set(\"new-pair-id\", newDo.handle);\n const handle: IFluidHandle | undefined = await map1.get(\"new-pair-id\");\n const obj: unknown = await handle?.get();\n assert.ok(obj, \"container added dynamic objects incorrectly\");\n });\n});\n"]}
1
+ {"version":3,"file":"ddsTests.spec.js","sourceRoot":"","sources":["../../src/test/ddsTests.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 { IFluidHandle } from \"@fluidframework/core-interfaces\";\nimport { ContainerSchema } from \"@fluidframework/fluid-static\";\nimport { SharedMap } from \"@fluidframework/map\";\nimport { timeoutPromise } from \"@fluidframework/test-utils\";\n\nimport { createAzureClient } from \"./AzureClientFactory\";\nimport { CounterTestDataObject, TestDataObject } from \"./TestDataObject\";\nimport { mapWait } from \"./utils\";\n\ndescribe(\"Fluid data updates\", () => {\n\tconst connectTimeoutMs = 1000;\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\t/**\n\t * Scenario: test when an Azure Client container is created,\n\t * it can set the initial objects.\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 set DDSes as initial objects for a container\", async () => {\n\t\tconst { container: newContainer } = await client.createContainer(schema);\n\t\tconst containerId = await newContainer.attach();\n\n\t\tawait timeoutPromise((resolve) => newContainer.once(\"connected\", () => resolve()), {\n\t\t\tdurationMs: connectTimeoutMs,\n\t\t\terrorMsg: \"container connect() timeout\",\n\t\t});\n\n\t\tconst resources = client.getContainer(containerId, schema);\n\t\tawait assert.doesNotReject(\n\t\t\tresources,\n\t\t\t() => true,\n\t\t\t\"container cannot be retrieved from Azure Fluid Relay\",\n\t\t);\n\n\t\tconst { container } = await resources;\n\t\tassert.deepStrictEqual(\n\t\t\tObject.keys(container.initialObjects),\n\t\t\tObject.keys(schema.initialObjects),\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if initialObjects passed into the container functions correctly.\n\t *\n\t * Expected behavior: initialObjects value loaded in two different containers should mirror\n\t * each other after value is changed.\n\t */\n\tit(\"can change DDSes within initialObjects value\", 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 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 { container: containerGet } = await client.getContainer(containerId, schema);\n\t\tconst map1Get = containerGet.initialObjects.map1 as SharedMap;\n\t\tconst valueGet: string | undefined = await mapWait(map1Get, \"new-key\");\n\t\tassert.strictEqual(valueGet, valueCreate, \"container can't change initial objects\");\n\t});\n\n\t/**\n\t * Scenario: test if we can create DataObjects through initialObjects schema.\n\t *\n\t * Expected behavior: DataObjects can be retrieved from the original and loaded container.\n\t */\n\tit(\"can set DataObjects as initial objects for a container\", async () => {\n\t\tconst doSchema: ContainerSchema = {\n\t\t\tinitialObjects: {\n\t\t\t\tmdo1: TestDataObject,\n\t\t\t\tmdo2: CounterTestDataObject,\n\t\t\t},\n\t\t};\n\t\tconst { container } = await client.createContainer(doSchema);\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 initialObjectsCreate = container.initialObjects;\n\t\tassert(\n\t\t\tinitialObjectsCreate.mdo1 instanceof TestDataObject,\n\t\t\t\"container returns the wrong type for mdo1\",\n\t\t);\n\t\tassert(\n\t\t\tinitialObjectsCreate.mdo2 instanceof CounterTestDataObject,\n\t\t\t\"container returns the wrong type for mdo2\",\n\t\t);\n\n\t\tconst { container: containerGet } = await client.getContainer(containerId, doSchema);\n\t\tconst initialObjectsGet = containerGet.initialObjects;\n\t\tassert(\n\t\t\tinitialObjectsGet.mdo1 instanceof TestDataObject,\n\t\t\t\"container returns the wrong type for mdo1\",\n\t\t);\n\t\tassert(\n\t\t\tinitialObjectsCreate.mdo2 instanceof CounterTestDataObject,\n\t\t\t\"container returns the wrong type for mdo2\",\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if we can create multiple DataObjects of the same type\n\t *\n\t * Expected behavior: DataObjects of the same type can be retrieved from the\n\t * original and loaded container.\n\t * TODO: Known bug that needs to be re-tested once fixed.\n\t */\n\tit(\"can use multiple DataObjects of the same type\", async () => {\n\t\tconst doSchema: ContainerSchema = {\n\t\t\tinitialObjects: {\n\t\t\t\tmdo1: TestDataObject,\n\t\t\t\tmdo2: CounterTestDataObject,\n\t\t\t\tmdo3: CounterTestDataObject,\n\t\t\t},\n\t\t};\n\t\tconst { container } = await client.createContainer(doSchema);\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 initialObjectsCreate = container.initialObjects;\n\t\tassert(\n\t\t\tinitialObjectsCreate.mdo1 instanceof TestDataObject,\n\t\t\t\"container returns the wrong type for mdo1\",\n\t\t);\n\t\tassert(\n\t\t\tinitialObjectsCreate.mdo2 instanceof CounterTestDataObject,\n\t\t\t\"container returns the wrong type for mdo2\",\n\t\t);\n\t\tassert(\n\t\t\tinitialObjectsCreate.mdo3 instanceof CounterTestDataObject,\n\t\t\t\"container returns the wrong type for mdo3\",\n\t\t);\n\n\t\tconst { container: containerGet } = await client.getContainer(containerId, doSchema);\n\t\tconst initialObjectsGet = containerGet.initialObjects;\n\t\tassert(\n\t\t\tinitialObjectsGet.mdo1 instanceof TestDataObject,\n\t\t\t\"container returns the wrong type for mdo1\",\n\t\t);\n\t\tassert(\n\t\t\tinitialObjectsCreate.mdo2 instanceof CounterTestDataObject,\n\t\t\t\"container returns the wrong type for mdo2\",\n\t\t);\n\t\tassert(\n\t\t\tinitialObjectsCreate.mdo3 instanceof CounterTestDataObject,\n\t\t\t\"container returns the wrong type for mdo3\",\n\t\t);\n\t});\n\n\t/**\n\t * Scenario: test if we can change DataObject value contained within initialObjects\n\t *\n\t * Expected behavior: DataObject changes are correctly reflected on original and loaded containers\n\t */\n\tit(\"can change DataObjects within initialObjects value\", async () => {\n\t\tconst doSchema: ContainerSchema = {\n\t\t\tinitialObjects: {\n\t\t\t\tmdo1: TestDataObject,\n\t\t\t\tmdo2: CounterTestDataObject,\n\t\t\t},\n\t\t};\n\t\tconst { container } = await client.createContainer(doSchema);\n\t\tconst initialObjectsCreate = container.initialObjects;\n\t\tconst mdo2 = initialObjectsCreate.mdo2 as CounterTestDataObject;\n\t\tmdo2.increment();\n\t\tmdo2.increment();\n\t\tmdo2.increment();\n\n\t\tassert.strictEqual(mdo2.value, 3);\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 { container: containerGet } = await client.getContainer(containerId, doSchema);\n\t\tconst initialObjectsGet = containerGet.initialObjects;\n\t\tconst mdo2get = initialObjectsGet.mdo2 as CounterTestDataObject;\n\n\t\tassert.strictEqual(mdo2get.value, 3);\n\n\t\tmdo2get.increment();\n\t\tmdo2get.increment();\n\t\tassert.strictEqual(mdo2get.value, 5);\n\t});\n\n\t/**\n\t * Scenario: test if the optional schema parameter, dynamicObjectTypes (custom data objects),\n\t * can be added during runtime and be returned by the container.\n\t *\n\t * Expected behavior: added loadable object can be retrieved from the container. Loadable\n\t * object's id and container config ID should be identical since it's now attached to\n\t * the container.\n\t */\n\tit(\"can create/add loadable objects (custom data object) dynamically during runtime\", async () => {\n\t\tconst dynamicSchema: ContainerSchema = {\n\t\t\tinitialObjects: {\n\t\t\t\tmap1: SharedMap,\n\t\t\t},\n\t\t\tdynamicObjectTypes: [TestDataObject],\n\t\t};\n\n\t\tconst { container } = await client.createContainer(dynamicSchema);\n\t\tawait container.attach();\n\n\t\tconst newDo = await container.create(TestDataObject);\n\t\tassert.ok(newDo?.handle);\n\n\t\tconst map1 = container.initialObjects.map1 as SharedMap;\n\t\tmap1.set(\"new-pair-id\", newDo.handle);\n\t\tconst handle: IFluidHandle | undefined = await map1.get(\"new-pair-id\");\n\t\tconst obj: unknown = await handle?.get();\n\t\tassert.ok(obj, \"container added dynamic objects incorrectly\");\n\t});\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":";;;AASO,MAAM,aAAa,GAAG,KAAK,EAC9B,QAAwB,EACxB,MAAc,EACM,EAAE;IACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,MAAM,CAAC;KACjB;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,SAAkB,EAAQ,EAAE;YAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;gBAC7B,OAAO,CAAC,SAAwB,CAAC,CAAC;aACrC;QACL,CAAC,CAAC;QACF,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB;AAEK,MAAM,OAAO,GAAG,KAAK,EAAK,GAAe,EAAE,GAAW,EAAc,EAAE;IACzE,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;IACnC,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,OAAO,UAAU,CAAC;KACrB;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,CAAC,OAAsB,EAAQ,EAAE;YAC7C,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,EAAE;gBACrB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAI,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,KAAK,KAAK,SAAS,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;iBACrD;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC;aAClB;QACL,CAAC,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAnBW,QAAA,OAAO,WAmBlB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { IMember } from \"fluid-framework\";\n\nimport { AzureMember, IAzureAudience } from \"@fluidframework/azure-client\";\nimport { ISharedMap, IValueChanged } from \"@fluidframework/map\";\n\nexport const waitForMember = async (\n audience: IAzureAudience,\n userId: string,\n): Promise<AzureMember> => {\n const allMembers = audience.getMembers();\n const member = allMembers.get(userId);\n if (member !== undefined) {\n return member;\n }\n return new Promise((resolve) => {\n const handler = (clientId: string, newMember: IMember): void => {\n if (newMember.userId === userId) {\n resolve(newMember as AzureMember);\n }\n };\n audience.on(\"memberAdded\", handler);\n });\n};\n\nexport const mapWait = async <T>(map: ISharedMap, key: string): Promise<T> => {\n const maybeValue = map.get<T>(key);\n if (maybeValue !== undefined) {\n return maybeValue;\n }\n\n return new Promise((resolve) => {\n const handler = (changed: IValueChanged): void => {\n if (changed.key === key) {\n map.off(\"valueChanged\", handler);\n const value = map.get<T>(changed.key);\n if (value === undefined) {\n throw new Error(\"Unexpected valueChanged result\");\n }\n resolve(value);\n }\n };\n map.on(\"valueChanged\", handler);\n });\n};\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":";;;AASO,MAAM,aAAa,GAAG,KAAK,EACjC,QAAwB,EACxB,MAAc,EACS,EAAE;IACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE;QACzB,OAAO,MAAM,CAAC;KACd;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,SAAkB,EAAQ,EAAE;YAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;gBAChC,OAAO,CAAC,SAAwB,CAAC,CAAC;aAClC;QACF,CAAC,CAAC;QACF,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB;AAEK,MAAM,OAAO,GAAG,KAAK,EAAK,GAAe,EAAE,GAAW,EAAc,EAAE;IAC5E,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;IACnC,IAAI,UAAU,KAAK,SAAS,EAAE;QAC7B,OAAO,UAAU,CAAC;KAClB;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,CAAC,OAAsB,EAAQ,EAAE;YAChD,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,EAAE;gBACxB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAI,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,KAAK,KAAK,SAAS,EAAE;oBACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;iBAClD;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC;aACf;QACF,CAAC,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,OAAO,WAmBlB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { IMember } from \"fluid-framework\";\n\nimport { AzureMember, IAzureAudience } from \"@fluidframework/azure-client\";\nimport { ISharedMap, IValueChanged } from \"@fluidframework/map\";\n\nexport const waitForMember = async (\n\taudience: IAzureAudience,\n\tuserId: string,\n): Promise<AzureMember> => {\n\tconst allMembers = audience.getMembers();\n\tconst member = allMembers.get(userId);\n\tif (member !== undefined) {\n\t\treturn member;\n\t}\n\treturn new Promise((resolve) => {\n\t\tconst handler = (clientId: string, newMember: IMember): void => {\n\t\t\tif (newMember.userId === userId) {\n\t\t\t\tresolve(newMember as AzureMember);\n\t\t\t}\n\t\t};\n\t\taudience.on(\"memberAdded\", handler);\n\t});\n};\n\nexport const mapWait = async <T>(map: ISharedMap, key: string): Promise<T> => {\n\tconst maybeValue = map.get<T>(key);\n\tif (maybeValue !== undefined) {\n\t\treturn maybeValue;\n\t}\n\n\treturn new Promise((resolve) => {\n\t\tconst handler = (changed: IValueChanged): void => {\n\t\t\tif (changed.key === key) {\n\t\t\t\tmap.off(\"valueChanged\", handler);\n\t\t\t\tconst value = map.get<T>(changed.key);\n\t\t\t\tif (value === undefined) {\n\t\t\t\t\tthrow new Error(\"Unexpected valueChanged result\");\n\t\t\t\t}\n\t\t\t\tresolve(value);\n\t\t\t}\n\t\t};\n\t\tmap.on(\"valueChanged\", handler);\n\t});\n};\n"]}
package/package.json CHANGED
@@ -1,94 +1,101 @@
1
1
  {
2
- "name": "@fluidframework/azure-end-to-end-tests",
3
- "version": "1.2.0-111554",
4
- "description": "Azure client end to end tests",
5
- "homepage": "https://fluidframework.com",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/microsoft/FluidFramework.git",
9
- "directory": "azure/packages/test/end-to-end-tests"
10
- },
11
- "license": "MIT",
12
- "author": "Microsoft and contributors",
13
- "sideEffects": false,
14
- "scripts": {
15
- "build": "npm run build:genver && concurrently npm:build:compile npm:lint",
16
- "build:compile": "npm run build:test",
17
- "build:full": "npm run build",
18
- "build:full:compile": "npm run build:compile",
19
- "build:genver": "gen-version",
20
- "build:test": "tsc --project ./src/test/tsconfig.json",
21
- "clean": "rimraf dist lib *.tsbuildinfo *.build.log",
22
- "eslint": "eslint --format stylish src",
23
- "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
24
- "lint": "npm run eslint",
25
- "lint:fix": "npm run eslint:fix",
26
- "start:tinylicious:test": "PORT=7071 npx @fluidframework/azure-local-service > tinylicious.log 2>&1",
27
- "test": "npm run test:realsvc",
28
- "test:realsvc": "npm run test:realsvc:tinylicious",
29
- "test:realsvc:azure": "cross-env FLUID_CLIENT=azure npm run test:realsvc:azure:run",
30
- "test:realsvc:azure:run": "mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit --timeout 10000",
31
- "test:realsvc:run": "mocha dist/test --config src/test/.mocharc.js",
32
- "test:realsvc:tinylicious": "start-server-and-test start:tinylicious:test 7071 test:realsvc:azure:run",
33
- "test:realsvc:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:realsvc"
34
- },
35
- "nyc": {
36
- "all": true,
37
- "cache-dir": "nyc/.cache",
38
- "exclude": [
39
- "src/test/**/*.ts",
40
- "dist/test/**/*.js"
41
- ],
42
- "exclude-after-remap": false,
43
- "include": [
44
- "src/**/*.ts",
45
- "dist/**/*.js"
46
- ],
47
- "report-dir": "nyc/report",
48
- "reporter": [
49
- "cobertura",
50
- "html",
51
- "text"
52
- ],
53
- "temp-directory": "nyc/.nyc_output"
54
- },
55
- "dependencies": {
56
- "@fluidframework/aqueduct": "^1.4.0-108057",
57
- "@fluidframework/azure-client": "1.2.0-111554",
58
- "@fluidframework/container-definitions": "^1.4.0-108057",
59
- "@fluidframework/core-interfaces": "^1.4.0-108057",
60
- "@fluidframework/counter": "^1.4.0-108057",
61
- "@fluidframework/fluid-static": "^1.4.0-108057",
62
- "@fluidframework/map": "^1.4.0-108057",
63
- "@fluidframework/matrix": "^1.4.0-108057",
64
- "@fluidframework/mocha-test-setup": "^1.4.0-108057",
65
- "@fluidframework/sequence": "^1.4.0-108057",
66
- "@fluidframework/server-services-client": "^0.1036.5000",
67
- "@fluidframework/telemetry-utils": "^1.4.0-108057",
68
- "@fluidframework/test-client-utils": "1.4.0-108057",
69
- "@fluidframework/test-runtime-utils": "^1.4.0-108057",
70
- "@fluidframework/test-utils": "^1.4.0-108057",
71
- "cross-env": "^7.0.2",
72
- "fluid-framework": "^1.4.0-108057",
73
- "mocha": "^10.0.0",
74
- "sinon": "^7.4.2",
75
- "start-server-and-test": "^1.11.7",
76
- "tinylicious": "^0.4.89251",
77
- "uuid": "^8.3.1"
78
- },
79
- "devDependencies": {
80
- "@fluidframework/build-common": "^1.1.0",
81
- "@fluidframework/eslint-config-fluid": "^1.1.0",
82
- "@rushstack/eslint-config": "^2.5.1",
83
- "@types/mocha": "^9.1.1",
84
- "@types/nock": "^9.3.0",
85
- "@types/node": "^14.18.0",
86
- "@types/uuid": "^8.3.0",
87
- "concurrently": "^6.2.0",
88
- "eslint": "~8.6.0",
89
- "nock": "^10.0.1",
90
- "nyc": "^15.0.0",
91
- "rimraf": "^2.6.2",
92
- "typescript": "~4.5.5"
93
- }
2
+ "name": "@fluidframework/azure-end-to-end-tests",
3
+ "version": "1.2.0",
4
+ "description": "Azure client end to end tests",
5
+ "homepage": "https://fluidframework.com",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/microsoft/FluidFramework.git",
9
+ "directory": "azure/packages/test/end-to-end-tests"
10
+ },
11
+ "license": "MIT",
12
+ "author": "Microsoft and contributors",
13
+ "sideEffects": false,
14
+ "scripts": {
15
+ "build": "npm run build:genver && concurrently npm:build:compile npm:lint",
16
+ "build:compile": "npm run build:test",
17
+ "build:full": "npm run build",
18
+ "build:full:compile": "npm run build:compile",
19
+ "build:genver": "gen-version",
20
+ "build:test": "tsc --project ./src/test/tsconfig.json",
21
+ "clean": "rimraf dist lib *.tsbuildinfo *.build.log",
22
+ "eslint": "eslint --format stylish src",
23
+ "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
24
+ "format": "npm run prettier:fix",
25
+ "lint": "npm run prettier && npm run eslint",
26
+ "lint:fix": "npm run prettier:fix && npm run eslint:fix",
27
+ "prettier": "prettier --check . --ignore-path ../../../../.prettierignore",
28
+ "prettier:fix": "prettier --write . --ignore-path ../../../../.prettierignore",
29
+ "start:tinylicious:test": "PORT=7071 npx @fluidframework/azure-local-service > tinylicious.log 2>&1",
30
+ "test": "npm run test:realsvc",
31
+ "test:realsvc": "npm run test:realsvc:tinylicious",
32
+ "test:realsvc:azure": "cross-env FLUID_CLIENT=azure npm run test:realsvc:azure:run",
33
+ "test:realsvc:azure:run": "mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit --timeout 10000",
34
+ "test:realsvc:run": "mocha dist/test --config src/test/.mocharc.js",
35
+ "test:realsvc:tinylicious": "start-server-and-test start:tinylicious:test 7071 test:realsvc:azure:run",
36
+ "test:realsvc:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:realsvc"
37
+ },
38
+ "nyc": {
39
+ "all": true,
40
+ "cache-dir": "nyc/.cache",
41
+ "exclude": [
42
+ "src/test/**/*.ts",
43
+ "dist/test/**/*.js"
44
+ ],
45
+ "exclude-after-remap": false,
46
+ "include": [
47
+ "src/**/*.ts",
48
+ "dist/**/*.js"
49
+ ],
50
+ "report-dir": "nyc/report",
51
+ "reporter": [
52
+ "cobertura",
53
+ "html",
54
+ "text"
55
+ ],
56
+ "temp-directory": "nyc/.nyc_output"
57
+ },
58
+ "dependencies": {
59
+ "@fluidframework/aqueduct": "^1.4.0",
60
+ "@fluidframework/azure-client": "^1.2.0",
61
+ "@fluidframework/container-definitions": "^1.4.0",
62
+ "@fluidframework/core-interfaces": "^1.4.0",
63
+ "@fluidframework/counter": "^1.4.0",
64
+ "@fluidframework/fluid-static": "^1.4.0",
65
+ "@fluidframework/map": "^1.4.0",
66
+ "@fluidframework/matrix": "^1.4.0",
67
+ "@fluidframework/mocha-test-setup": "^1.4.0",
68
+ "@fluidframework/sequence": "^1.4.0",
69
+ "@fluidframework/server-services-client": "^0.1036.5002",
70
+ "@fluidframework/telemetry-utils": "^1.4.0",
71
+ "@fluidframework/test-client-utils": "1.4.0",
72
+ "@fluidframework/test-runtime-utils": "^1.4.0",
73
+ "@fluidframework/test-utils": "^1.4.0",
74
+ "cross-env": "^7.0.3",
75
+ "fluid-framework": "^1.4.0",
76
+ "mocha": "^10.2.0",
77
+ "prettier": "~2.6.2",
78
+ "sinon": "^7.4.2",
79
+ "start-server-and-test": "^1.11.7",
80
+ "tinylicious": "0.6.0",
81
+ "uuid": "^8.3.1"
82
+ },
83
+ "devDependencies": {
84
+ "@fluidframework/build-common": "^1.2.0",
85
+ "@fluidframework/eslint-config-fluid": "^2.0.0",
86
+ "@types/mocha": "^9.1.1",
87
+ "@types/nock": "^9.3.0",
88
+ "@types/node": "^18.15.3",
89
+ "@types/uuid": "^8.3.0",
90
+ "concurrently": "^7.6.0",
91
+ "eslint": "~8.6.0",
92
+ "nock": "^13.3.3",
93
+ "nyc": "^15.1.0",
94
+ "rimraf": "^2.6.2",
95
+ "typescript": "~4.5.5"
96
+ },
97
+ "typeValidation": {
98
+ "disabled": true,
99
+ "broken": {}
100
+ }
94
101
  }
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/azure-end-to-end-tests";
9
- export const pkgVersion = "1.2.0-111554";
9
+ export const pkgVersion = "1.2.0";
@@ -5,9 +5,9 @@
5
5
  import { v4 as uuid } from "uuid";
6
6
 
7
7
  import {
8
- AzureClient,
9
- AzureLocalConnectionConfig,
10
- AzureRemoteConnectionConfig,
8
+ AzureClient,
9
+ AzureLocalConnectionConfig,
10
+ AzureRemoteConnectionConfig,
11
11
  } from "@fluidframework/azure-client";
12
12
  import { InsecureTokenProvider } from "@fluidframework/test-client-utils";
13
13
 
@@ -18,30 +18,30 @@ import { createAzureTokenProvider } from "./AzureTokenFactory";
18
18
  * {@link AzureClient} instance based on the mode by setting the Connection config accordingly.
19
19
  */
20
20
  export function createAzureClient(userID?: string, userName?: string): AzureClient {
21
- const useAzure = process.env.FLUID_CLIENT === "azure";
22
- const tenantId = useAzure
23
- ? (process.env.azure__fluid__relay__service__tenantId as string)
24
- : "frs-client-tenant";
25
- const user = {
26
- id: userID ?? uuid(),
27
- name: userName ?? uuid(),
28
- };
29
- const endPoint = process.env.azure__fluid__relay__service__endpoint as string;
21
+ const useAzure = process.env.FLUID_CLIENT === "azure";
22
+ const tenantId = useAzure
23
+ ? (process.env.azure__fluid__relay__service__tenantId as string)
24
+ : "frs-client-tenant";
25
+ const user = {
26
+ id: userID ?? uuid(),
27
+ name: userName ?? uuid(),
28
+ };
29
+ const endPoint = process.env.azure__fluid__relay__service__endpoint as string;
30
30
 
31
- // use AzureClient remote mode will run against live Azure Fluid Relay.
32
- // Default to running Tinylicious for PR validation
33
- // and local testing so it's not hindered by service availability
34
- const connectionProps: AzureRemoteConnectionConfig | AzureLocalConnectionConfig = useAzure
35
- ? {
36
- tenantId,
37
- tokenProvider: createAzureTokenProvider(userID ?? "foo", userName ?? "bar"),
38
- endpoint: endPoint ?? "https://alfred.westus2.fluidrelay.azure.com",
39
- type: "remote",
40
- }
41
- : {
42
- tokenProvider: new InsecureTokenProvider("fooBar", user),
43
- endpoint: "http://localhost:7071",
44
- type: "local",
45
- };
46
- return new AzureClient({ connection: connectionProps });
31
+ // use AzureClient remote mode will run against live Azure Fluid Relay.
32
+ // Default to running Tinylicious for PR validation
33
+ // and local testing so it's not hindered by service availability
34
+ const connectionProps: AzureRemoteConnectionConfig | AzureLocalConnectionConfig = useAzure
35
+ ? {
36
+ tenantId,
37
+ tokenProvider: createAzureTokenProvider(userID ?? "foo", userName ?? "bar"),
38
+ endpoint: endPoint ?? "https://us.fluidrelay.azure.com",
39
+ type: "remote",
40
+ }
41
+ : {
42
+ tokenProvider: new InsecureTokenProvider("fooBar", user),
43
+ endpoint: "http://localhost:7071",
44
+ type: "local",
45
+ };
46
+ return new AzureClient({ connection: connectionProps });
47
47
  }
@@ -6,21 +6,21 @@ import { AzureFunctionTokenProvider, ITokenProvider } from "@fluidframework/azur
6
6
  import { InsecureTokenProvider } from "@fluidframework/test-client-utils";
7
7
 
8
8
  export function createAzureTokenProvider(userId: string, userName: string): ITokenProvider {
9
- const fnUrl = process.env.azure__fluid__relay__service__function__url as string;
10
- const key = process.env.azure__fluid__relay__service__key as string;
9
+ const fnUrl = process.env.azure__fluid__relay__service__function__url as string;
10
+ const key = process.env.azure__fluid__relay__service__key as string;
11
11
 
12
- if (fnUrl) {
13
- return new AzureFunctionTokenProvider(`${fnUrl}/api/GetFrsToken`, {
14
- userId,
15
- userName,
16
- });
17
- } else if (key) {
18
- const userConfig = {
19
- id: userId,
20
- name: userName,
21
- };
22
- return new InsecureTokenProvider(key, userConfig);
23
- } else {
24
- throw new Error("Cannot create token provider.");
25
- }
12
+ if (fnUrl) {
13
+ return new AzureFunctionTokenProvider(`${fnUrl}/api/GetFrsToken`, {
14
+ userId,
15
+ userName,
16
+ });
17
+ } else if (key) {
18
+ const userConfig = {
19
+ id: userId,
20
+ name: userName,
21
+ };
22
+ return new InsecureTokenProvider(key, userConfig);
23
+ } else {
24
+ throw new Error("Cannot create token provider.");
25
+ }
26
26
  }