@platforma-sdk/test 1.58.22 → 1.58.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/test-pl.cjs +5 -1
- package/dist/test-pl.cjs.map +1 -1
- package/dist/test-pl.js +5 -1
- package/dist/test-pl.js.map +1 -1
- package/package.json +4 -4
package/dist/test-pl.cjs
CHANGED
|
@@ -15,7 +15,11 @@ const plTest = vitest.test.extend({
|
|
|
15
15
|
await node_fs_promises.mkdir(workFolder, { recursive: true });
|
|
16
16
|
await use(workFolder);
|
|
17
17
|
onTestFinished(async (context) => {
|
|
18
|
-
if (context.task.result?.state === "pass") await node_fs_promises.rm(workFolder, {
|
|
18
|
+
if (context.task.result?.state === "pass") await node_fs_promises.rm(workFolder, {
|
|
19
|
+
recursive: true,
|
|
20
|
+
maxRetries: 3,
|
|
21
|
+
retryDelay: 100
|
|
22
|
+
});
|
|
19
23
|
else console.log(`TEST FAILED TMP FOLDER IS PRESERVED: ${workFolder}`);
|
|
20
24
|
});
|
|
21
25
|
},
|
package/dist/test-pl.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-pl.cjs","names":["test","path","fsp","NullResourceId","TestHelpers","SynchronizedTreeState"],"sources":["../src/test-pl.ts"],"sourcesContent":["import type { OptionalResourceId, PlClient, ResourceId } from \"@milaboratories/pl-middle-layer\";\nimport { NullResourceId, resourceIdToString, TestHelpers } from \"@milaboratories/pl-middle-layer\";\nimport type { SynchronizedTreeOps } from \"@milaboratories/pl-tree\";\nimport { SynchronizedTreeState } from \"@milaboratories/pl-tree\";\nimport { randomUUID } from \"node:crypto\";\nimport * as fsp from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { test } from \"vitest\";\n\n// oxlint-disable-next-line jest/expect-expect jest/no-disabled-tests\nexport const plTest = test.extend<{\n pl: PlClient;\n createTree: (res: ResourceId, ops?: SynchronizedTreeOps) => Promise<SynchronizedTreeState>;\n rootTree: SynchronizedTreeState;\n tmpFolder: string;\n}>({\n tmpFolder: async ({ onTestFinished }, use) => {\n const workFolder = path.resolve(`work/${randomUUID()}`);\n await fsp.mkdir(workFolder, { recursive: true });\n await use(workFolder);\n onTestFinished(async (context) => {\n if (context.task.result?.state === \"pass\") {\n await fsp.rm(workFolder, { recursive: true });\n } else {\n console.log(`TEST FAILED TMP FOLDER IS PRESERVED: ${workFolder}`);\n }\n });\n },\n\n pl: async ({ onTestFinished }, use) => {\n const alternativeRoot = `test_${Date.now()}_${randomUUID()}`;\n let altRootId: OptionalResourceId = NullResourceId;\n const client = await TestHelpers.getTestClient(alternativeRoot);\n altRootId = client.clientRoot;\n try {\n await use(client);\n } finally {\n // Close the test client to avoid dangling gRPC channels\n // that can cause segfaults during process exit\n await client.close();\n }\n onTestFinished(async (context) => {\n if (context.task.result?.state === \"pass\") {\n const rawClient = await TestHelpers.getTestClient();\n try {\n await rawClient.deleteAlternativeRoot(alternativeRoot);\n } finally {\n // Close the cleanup client to avoid dangling gRPC channels\n // that can cause segfaults during process exit\n await rawClient.close();\n }\n } else {\n console.log(\n `TEST FAILED SO ALTERNATIVE ROOT IS PRESERVED IN PL: ${alternativeRoot} (${resourceIdToString(\n altRootId,\n )})`,\n );\n }\n });\n },\n\n createTree: async ({ pl }, use) => {\n const trees = new Map<ResourceId, Promise<SynchronizedTreeState>>();\n try {\n await use((res, ops) => {\n let treePromise = trees.get(res);\n if (treePromise === undefined) {\n treePromise = SynchronizedTreeState.init(\n pl,\n res,\n ops ?? {\n pollingInterval: 200,\n stopPollingDelay: 400,\n },\n );\n trees.set(res, treePromise);\n }\n return treePromise;\n });\n } finally {\n for (const [, treePromise] of trees) {\n await (await treePromise).terminate();\n }\n }\n },\n\n rootTree: async ({ pl, createTree: tree }, use) => {\n await use(await tree(pl.clientRoot));\n },\n});\n"],"mappings":";;;;;;;;;;;AAUA,MAAa,SAASA,YAAK,OAKxB;CACD,WAAW,OAAO,EAAE,kBAAkB,QAAQ;EAC5C,MAAM,aAAaC,kBAAK,QAAQ,qCAAoB,GAAG;AACvD,QAAMC,iBAAI,MAAM,YAAY,EAAE,WAAW,MAAM,CAAC;AAChD,QAAM,IAAI,WAAW;AACrB,iBAAe,OAAO,YAAY;AAChC,OAAI,QAAQ,KAAK,QAAQ,UAAU,OACjC,OAAMA,iBAAI,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"test-pl.cjs","names":["test","path","fsp","NullResourceId","TestHelpers","SynchronizedTreeState"],"sources":["../src/test-pl.ts"],"sourcesContent":["import type { OptionalResourceId, PlClient, ResourceId } from \"@milaboratories/pl-middle-layer\";\nimport { NullResourceId, resourceIdToString, TestHelpers } from \"@milaboratories/pl-middle-layer\";\nimport type { SynchronizedTreeOps } from \"@milaboratories/pl-tree\";\nimport { SynchronizedTreeState } from \"@milaboratories/pl-tree\";\nimport { randomUUID } from \"node:crypto\";\nimport * as fsp from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { test } from \"vitest\";\n\n// oxlint-disable-next-line jest/expect-expect jest/no-disabled-tests\nexport const plTest = test.extend<{\n pl: PlClient;\n createTree: (res: ResourceId, ops?: SynchronizedTreeOps) => Promise<SynchronizedTreeState>;\n rootTree: SynchronizedTreeState;\n tmpFolder: string;\n}>({\n tmpFolder: async ({ onTestFinished }, use) => {\n const workFolder = path.resolve(`work/${randomUUID()}`);\n await fsp.mkdir(workFolder, { recursive: true });\n await use(workFolder);\n onTestFinished(async (context) => {\n if (context.task.result?.state === \"pass\") {\n await fsp.rm(workFolder, { recursive: true, maxRetries: 3, retryDelay: 100 });\n } else {\n console.log(`TEST FAILED TMP FOLDER IS PRESERVED: ${workFolder}`);\n }\n });\n },\n\n pl: async ({ onTestFinished }, use) => {\n const alternativeRoot = `test_${Date.now()}_${randomUUID()}`;\n let altRootId: OptionalResourceId = NullResourceId;\n const client = await TestHelpers.getTestClient(alternativeRoot);\n altRootId = client.clientRoot;\n try {\n await use(client);\n } finally {\n // Close the test client to avoid dangling gRPC channels\n // that can cause segfaults during process exit\n await client.close();\n }\n onTestFinished(async (context) => {\n if (context.task.result?.state === \"pass\") {\n const rawClient = await TestHelpers.getTestClient();\n try {\n await rawClient.deleteAlternativeRoot(alternativeRoot);\n } finally {\n // Close the cleanup client to avoid dangling gRPC channels\n // that can cause segfaults during process exit\n await rawClient.close();\n }\n } else {\n console.log(\n `TEST FAILED SO ALTERNATIVE ROOT IS PRESERVED IN PL: ${alternativeRoot} (${resourceIdToString(\n altRootId,\n )})`,\n );\n }\n });\n },\n\n createTree: async ({ pl }, use) => {\n const trees = new Map<ResourceId, Promise<SynchronizedTreeState>>();\n try {\n await use((res, ops) => {\n let treePromise = trees.get(res);\n if (treePromise === undefined) {\n treePromise = SynchronizedTreeState.init(\n pl,\n res,\n ops ?? {\n pollingInterval: 200,\n stopPollingDelay: 400,\n },\n );\n trees.set(res, treePromise);\n }\n return treePromise;\n });\n } finally {\n for (const [, treePromise] of trees) {\n await (await treePromise).terminate();\n }\n }\n },\n\n rootTree: async ({ pl, createTree: tree }, use) => {\n await use(await tree(pl.clientRoot));\n },\n});\n"],"mappings":";;;;;;;;;;;AAUA,MAAa,SAASA,YAAK,OAKxB;CACD,WAAW,OAAO,EAAE,kBAAkB,QAAQ;EAC5C,MAAM,aAAaC,kBAAK,QAAQ,qCAAoB,GAAG;AACvD,QAAMC,iBAAI,MAAM,YAAY,EAAE,WAAW,MAAM,CAAC;AAChD,QAAM,IAAI,WAAW;AACrB,iBAAe,OAAO,YAAY;AAChC,OAAI,QAAQ,KAAK,QAAQ,UAAU,OACjC,OAAMA,iBAAI,GAAG,YAAY;IAAE,WAAW;IAAM,YAAY;IAAG,YAAY;IAAK,CAAC;OAE7E,SAAQ,IAAI,wCAAwC,aAAa;IAEnE;;CAGJ,IAAI,OAAO,EAAE,kBAAkB,QAAQ;EACrC,MAAM,kBAAkB,QAAQ,KAAK,KAAK,CAAC,gCAAe;EAC1D,IAAI,YAAgCC;EACpC,MAAM,SAAS,MAAMC,4CAAY,cAAc,gBAAgB;AAC/D,cAAY,OAAO;AACnB,MAAI;AACF,SAAM,IAAI,OAAO;YACT;AAGR,SAAM,OAAO,OAAO;;AAEtB,iBAAe,OAAO,YAAY;AAChC,OAAI,QAAQ,KAAK,QAAQ,UAAU,QAAQ;IACzC,MAAM,YAAY,MAAMA,4CAAY,eAAe;AACnD,QAAI;AACF,WAAM,UAAU,sBAAsB,gBAAgB;cAC9C;AAGR,WAAM,UAAU,OAAO;;SAGzB,SAAQ,IACN,uDAAuD,gBAAgB,4DACrE,UACD,CAAC,GACH;IAEH;;CAGJ,YAAY,OAAO,EAAE,MAAM,QAAQ;EACjC,MAAM,wBAAQ,IAAI,KAAiD;AACnE,MAAI;AACF,SAAM,KAAK,KAAK,QAAQ;IACtB,IAAI,cAAc,MAAM,IAAI,IAAI;AAChC,QAAI,gBAAgB,QAAW;AAC7B,mBAAcC,8CAAsB,KAClC,IACA,KACA,OAAO;MACL,iBAAiB;MACjB,kBAAkB;MACnB,CACF;AACD,WAAM,IAAI,KAAK,YAAY;;AAE7B,WAAO;KACP;YACM;AACR,QAAK,MAAM,GAAG,gBAAgB,MAC5B,QAAO,MAAM,aAAa,WAAW;;;CAK3C,UAAU,OAAO,EAAE,IAAI,YAAY,QAAQ,QAAQ;AACjD,QAAM,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC;;CAEvC,CAAC"}
|
package/dist/test-pl.js
CHANGED
|
@@ -12,7 +12,11 @@ const plTest = test.extend({
|
|
|
12
12
|
await fsp.mkdir(workFolder, { recursive: true });
|
|
13
13
|
await use(workFolder);
|
|
14
14
|
onTestFinished(async (context) => {
|
|
15
|
-
if (context.task.result?.state === "pass") await fsp.rm(workFolder, {
|
|
15
|
+
if (context.task.result?.state === "pass") await fsp.rm(workFolder, {
|
|
16
|
+
recursive: true,
|
|
17
|
+
maxRetries: 3,
|
|
18
|
+
retryDelay: 100
|
|
19
|
+
});
|
|
16
20
|
else console.log(`TEST FAILED TMP FOLDER IS PRESERVED: ${workFolder}`);
|
|
17
21
|
});
|
|
18
22
|
},
|
package/dist/test-pl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-pl.js","names":[],"sources":["../src/test-pl.ts"],"sourcesContent":["import type { OptionalResourceId, PlClient, ResourceId } from \"@milaboratories/pl-middle-layer\";\nimport { NullResourceId, resourceIdToString, TestHelpers } from \"@milaboratories/pl-middle-layer\";\nimport type { SynchronizedTreeOps } from \"@milaboratories/pl-tree\";\nimport { SynchronizedTreeState } from \"@milaboratories/pl-tree\";\nimport { randomUUID } from \"node:crypto\";\nimport * as fsp from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { test } from \"vitest\";\n\n// oxlint-disable-next-line jest/expect-expect jest/no-disabled-tests\nexport const plTest = test.extend<{\n pl: PlClient;\n createTree: (res: ResourceId, ops?: SynchronizedTreeOps) => Promise<SynchronizedTreeState>;\n rootTree: SynchronizedTreeState;\n tmpFolder: string;\n}>({\n tmpFolder: async ({ onTestFinished }, use) => {\n const workFolder = path.resolve(`work/${randomUUID()}`);\n await fsp.mkdir(workFolder, { recursive: true });\n await use(workFolder);\n onTestFinished(async (context) => {\n if (context.task.result?.state === \"pass\") {\n await fsp.rm(workFolder, { recursive: true });\n } else {\n console.log(`TEST FAILED TMP FOLDER IS PRESERVED: ${workFolder}`);\n }\n });\n },\n\n pl: async ({ onTestFinished }, use) => {\n const alternativeRoot = `test_${Date.now()}_${randomUUID()}`;\n let altRootId: OptionalResourceId = NullResourceId;\n const client = await TestHelpers.getTestClient(alternativeRoot);\n altRootId = client.clientRoot;\n try {\n await use(client);\n } finally {\n // Close the test client to avoid dangling gRPC channels\n // that can cause segfaults during process exit\n await client.close();\n }\n onTestFinished(async (context) => {\n if (context.task.result?.state === \"pass\") {\n const rawClient = await TestHelpers.getTestClient();\n try {\n await rawClient.deleteAlternativeRoot(alternativeRoot);\n } finally {\n // Close the cleanup client to avoid dangling gRPC channels\n // that can cause segfaults during process exit\n await rawClient.close();\n }\n } else {\n console.log(\n `TEST FAILED SO ALTERNATIVE ROOT IS PRESERVED IN PL: ${alternativeRoot} (${resourceIdToString(\n altRootId,\n )})`,\n );\n }\n });\n },\n\n createTree: async ({ pl }, use) => {\n const trees = new Map<ResourceId, Promise<SynchronizedTreeState>>();\n try {\n await use((res, ops) => {\n let treePromise = trees.get(res);\n if (treePromise === undefined) {\n treePromise = SynchronizedTreeState.init(\n pl,\n res,\n ops ?? {\n pollingInterval: 200,\n stopPollingDelay: 400,\n },\n );\n trees.set(res, treePromise);\n }\n return treePromise;\n });\n } finally {\n for (const [, treePromise] of trees) {\n await (await treePromise).terminate();\n }\n }\n },\n\n rootTree: async ({ pl, createTree: tree }, use) => {\n await use(await tree(pl.clientRoot));\n },\n});\n"],"mappings":";;;;;;;;AAUA,MAAa,SAAS,KAAK,OAKxB;CACD,WAAW,OAAO,EAAE,kBAAkB,QAAQ;EAC5C,MAAM,aAAa,KAAK,QAAQ,QAAQ,YAAY,GAAG;AACvD,QAAM,IAAI,MAAM,YAAY,EAAE,WAAW,MAAM,CAAC;AAChD,QAAM,IAAI,WAAW;AACrB,iBAAe,OAAO,YAAY;AAChC,OAAI,QAAQ,KAAK,QAAQ,UAAU,OACjC,OAAM,IAAI,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"test-pl.js","names":[],"sources":["../src/test-pl.ts"],"sourcesContent":["import type { OptionalResourceId, PlClient, ResourceId } from \"@milaboratories/pl-middle-layer\";\nimport { NullResourceId, resourceIdToString, TestHelpers } from \"@milaboratories/pl-middle-layer\";\nimport type { SynchronizedTreeOps } from \"@milaboratories/pl-tree\";\nimport { SynchronizedTreeState } from \"@milaboratories/pl-tree\";\nimport { randomUUID } from \"node:crypto\";\nimport * as fsp from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { test } from \"vitest\";\n\n// oxlint-disable-next-line jest/expect-expect jest/no-disabled-tests\nexport const plTest = test.extend<{\n pl: PlClient;\n createTree: (res: ResourceId, ops?: SynchronizedTreeOps) => Promise<SynchronizedTreeState>;\n rootTree: SynchronizedTreeState;\n tmpFolder: string;\n}>({\n tmpFolder: async ({ onTestFinished }, use) => {\n const workFolder = path.resolve(`work/${randomUUID()}`);\n await fsp.mkdir(workFolder, { recursive: true });\n await use(workFolder);\n onTestFinished(async (context) => {\n if (context.task.result?.state === \"pass\") {\n await fsp.rm(workFolder, { recursive: true, maxRetries: 3, retryDelay: 100 });\n } else {\n console.log(`TEST FAILED TMP FOLDER IS PRESERVED: ${workFolder}`);\n }\n });\n },\n\n pl: async ({ onTestFinished }, use) => {\n const alternativeRoot = `test_${Date.now()}_${randomUUID()}`;\n let altRootId: OptionalResourceId = NullResourceId;\n const client = await TestHelpers.getTestClient(alternativeRoot);\n altRootId = client.clientRoot;\n try {\n await use(client);\n } finally {\n // Close the test client to avoid dangling gRPC channels\n // that can cause segfaults during process exit\n await client.close();\n }\n onTestFinished(async (context) => {\n if (context.task.result?.state === \"pass\") {\n const rawClient = await TestHelpers.getTestClient();\n try {\n await rawClient.deleteAlternativeRoot(alternativeRoot);\n } finally {\n // Close the cleanup client to avoid dangling gRPC channels\n // that can cause segfaults during process exit\n await rawClient.close();\n }\n } else {\n console.log(\n `TEST FAILED SO ALTERNATIVE ROOT IS PRESERVED IN PL: ${alternativeRoot} (${resourceIdToString(\n altRootId,\n )})`,\n );\n }\n });\n },\n\n createTree: async ({ pl }, use) => {\n const trees = new Map<ResourceId, Promise<SynchronizedTreeState>>();\n try {\n await use((res, ops) => {\n let treePromise = trees.get(res);\n if (treePromise === undefined) {\n treePromise = SynchronizedTreeState.init(\n pl,\n res,\n ops ?? {\n pollingInterval: 200,\n stopPollingDelay: 400,\n },\n );\n trees.set(res, treePromise);\n }\n return treePromise;\n });\n } finally {\n for (const [, treePromise] of trees) {\n await (await treePromise).terminate();\n }\n }\n },\n\n rootTree: async ({ pl, createTree: tree }, use) => {\n await use(await tree(pl.clientRoot));\n },\n});\n"],"mappings":";;;;;;;;AAUA,MAAa,SAAS,KAAK,OAKxB;CACD,WAAW,OAAO,EAAE,kBAAkB,QAAQ;EAC5C,MAAM,aAAa,KAAK,QAAQ,QAAQ,YAAY,GAAG;AACvD,QAAM,IAAI,MAAM,YAAY,EAAE,WAAW,MAAM,CAAC;AAChD,QAAM,IAAI,WAAW;AACrB,iBAAe,OAAO,YAAY;AAChC,OAAI,QAAQ,KAAK,QAAQ,UAAU,OACjC,OAAM,IAAI,GAAG,YAAY;IAAE,WAAW;IAAM,YAAY;IAAG,YAAY;IAAK,CAAC;OAE7E,SAAQ,IAAI,wCAAwC,aAAa;IAEnE;;CAGJ,IAAI,OAAO,EAAE,kBAAkB,QAAQ;EACrC,MAAM,kBAAkB,QAAQ,KAAK,KAAK,CAAC,GAAG,YAAY;EAC1D,IAAI,YAAgC;EACpC,MAAM,SAAS,MAAM,YAAY,cAAc,gBAAgB;AAC/D,cAAY,OAAO;AACnB,MAAI;AACF,SAAM,IAAI,OAAO;YACT;AAGR,SAAM,OAAO,OAAO;;AAEtB,iBAAe,OAAO,YAAY;AAChC,OAAI,QAAQ,KAAK,QAAQ,UAAU,QAAQ;IACzC,MAAM,YAAY,MAAM,YAAY,eAAe;AACnD,QAAI;AACF,WAAM,UAAU,sBAAsB,gBAAgB;cAC9C;AAGR,WAAM,UAAU,OAAO;;SAGzB,SAAQ,IACN,uDAAuD,gBAAgB,IAAI,mBACzE,UACD,CAAC,GACH;IAEH;;CAGJ,YAAY,OAAO,EAAE,MAAM,QAAQ;EACjC,MAAM,wBAAQ,IAAI,KAAiD;AACnE,MAAI;AACF,SAAM,KAAK,KAAK,QAAQ;IACtB,IAAI,cAAc,MAAM,IAAI,IAAI;AAChC,QAAI,gBAAgB,QAAW;AAC7B,mBAAc,sBAAsB,KAClC,IACA,KACA,OAAO;MACL,iBAAiB;MACjB,kBAAkB;MACnB,CACF;AACD,WAAM,IAAI,KAAK,YAAY;;AAE7B,WAAO;KACP;YACM;AACR,QAAK,MAAM,GAAG,gBAAgB,MAC5B,QAAO,MAAM,aAAa,WAAW;;;CAK3C,UAAU,OAAO,EAAE,IAAI,YAAY,QAAQ,QAAQ;AACjD,QAAM,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC;;CAEvC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-sdk/test",
|
|
3
|
-
"version": "1.58.
|
|
3
|
+
"version": "1.58.24",
|
|
4
4
|
"description": "Typescript Block Test Helpers",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"files": [
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"@vitest/coverage-istanbul": "^4.0.18",
|
|
21
21
|
"vitest": "^4.0.18",
|
|
22
22
|
"@milaboratories/pl-client": "2.17.10",
|
|
23
|
-
"@milaboratories/
|
|
24
|
-
"@milaboratories/pl-
|
|
25
|
-
"@milaboratories/
|
|
23
|
+
"@milaboratories/computable": "2.8.6",
|
|
24
|
+
"@milaboratories/pl-middle-layer": "1.48.24",
|
|
25
|
+
"@milaboratories/pl-tree": "1.8.50"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "~24.5.2",
|