@elaraai/e3-api-tests 0.0.2-beta.30 → 0.0.2-beta.32

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.
Files changed (42) hide show
  1. package/README.md +23 -21
  2. package/dist/src/index.d.ts +18 -23
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +13 -47
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/setup.d.ts +11 -0
  7. package/dist/src/setup.d.ts.map +1 -0
  8. package/dist/src/setup.js +6 -0
  9. package/dist/src/setup.js.map +1 -0
  10. package/dist/src/suites/cli.d.ts +3 -2
  11. package/dist/src/suites/cli.d.ts.map +1 -1
  12. package/dist/src/suites/cli.js +47 -37
  13. package/dist/src/suites/cli.js.map +1 -1
  14. package/dist/src/suites/dataflow.d.ts +3 -2
  15. package/dist/src/suites/dataflow.d.ts.map +1 -1
  16. package/dist/src/suites/dataflow.js +128 -206
  17. package/dist/src/suites/dataflow.js.map +1 -1
  18. package/dist/src/suites/datasets.d.ts +3 -2
  19. package/dist/src/suites/datasets.d.ts.map +1 -1
  20. package/dist/src/suites/datasets.js +22 -22
  21. package/dist/src/suites/datasets.js.map +1 -1
  22. package/dist/src/suites/packages.d.ts +3 -2
  23. package/dist/src/suites/packages.d.ts.map +1 -1
  24. package/dist/src/suites/packages.js +24 -25
  25. package/dist/src/suites/packages.js.map +1 -1
  26. package/dist/src/suites/platform.d.ts +3 -2
  27. package/dist/src/suites/platform.d.ts.map +1 -1
  28. package/dist/src/suites/platform.js +21 -21
  29. package/dist/src/suites/platform.js.map +1 -1
  30. package/dist/src/suites/repository.d.ts +3 -2
  31. package/dist/src/suites/repository.d.ts.map +1 -1
  32. package/dist/src/suites/repository.js +19 -19
  33. package/dist/src/suites/repository.js.map +1 -1
  34. package/dist/src/suites/transfer.d.ts +3 -2
  35. package/dist/src/suites/transfer.d.ts.map +1 -1
  36. package/dist/src/suites/transfer.js +43 -36
  37. package/dist/src/suites/transfer.js.map +1 -1
  38. package/dist/src/suites/workspaces.d.ts +3 -2
  39. package/dist/src/suites/workspaces.d.ts.map +1 -1
  40. package/dist/src/suites/workspaces.js +31 -42
  41. package/dist/src/suites/workspaces.js.map +1 -1
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -10,31 +10,31 @@ npm install @elaraai/e3-api-tests
10
10
 
11
11
  ## Usage
12
12
 
13
+ Each test receives a fresh, isolated context via a `TestSetup<T>` factory, enabling concurrent execution:
14
+
13
15
  ```typescript
14
- import { describe, before, after } from 'node:test';
16
+ import { describe, after } from 'node:test';
15
17
  import { createServer } from '@elaraai/e3-api-server';
16
- import { allApiTests, createTestContext, type TestContext } from '@elaraai/e3-api-tests';
17
-
18
- describe('API compliance', () => {
19
- let server: Server;
20
- let context: TestContext;
21
-
22
- before(async () => {
23
- server = await createServer({ reposDir: tempDir, port: 0 });
24
- await server.start();
25
- context = await createTestContext({
26
- baseUrl: `http://localhost:${server.port}`,
27
- getToken: async () => '', // No auth for local server
28
- });
29
- });
30
-
31
- after(async () => {
32
- await context.cleanup();
33
- await server.stop();
18
+ import { allApiTests, createTestContext, type TestSetup, type TestContext } from '@elaraai/e3-api-tests';
19
+
20
+ // Shared server (one per test run)
21
+ const server = await createServer({ reposDir: tempDir, port: 0 });
22
+ await server.start();
23
+
24
+ // Per-test setup: creates a fresh repo + context
25
+ const setup: TestSetup<TestContext> = async (t) => {
26
+ const ctx = await createTestContext({
27
+ baseUrl: `http://localhost:${server.port}`,
28
+ getToken: async () => '',
29
+ cleanup: true,
34
30
  });
31
+ t.after(() => ctx.cleanup());
32
+ return ctx;
33
+ };
35
34
 
36
- // Registers all API test suites
37
- allApiTests(() => context);
35
+ describe('API compliance', { concurrency: true }, () => {
36
+ after(() => server.stop());
37
+ allApiTests(setup);
38
38
  });
39
39
  ```
40
40
 
@@ -42,6 +42,7 @@ describe('API compliance', () => {
42
42
 
43
43
  | Export | Description |
44
44
  |--------|-------------|
45
+ | `TestSetup<T>` | Type for per-test context factory: `(t: TestContext) => Promise<T>` |
45
46
  | `createTestContext` | Create test context with helpers for setup/teardown |
46
47
  | `allApiTests` | Register all API test suites (repository, packages, workspaces, datasets, dataflow) |
47
48
  | `allTests` | Register all tests including CLI tests (requires credentials env) |
@@ -52,6 +53,7 @@ describe('API compliance', () => {
52
53
  | `dataflowTests` | Dataflow execution tests |
53
54
  | `platformTests` | Platform capability tests |
54
55
  | `cliTests` | CLI integration tests |
56
+ | `transferTests` | Cross-repository transfer tests |
55
57
  | `createPackageZip` | Create a test package zip file |
56
58
  | `runE3Command` | Run an e3 CLI command |
57
59
 
@@ -10,32 +10,26 @@
10
10
  *
11
11
  * @example
12
12
  * ```typescript
13
- * import { describe, before, after } from 'node:test';
13
+ * import { describe } from 'node:test';
14
14
  * import { createServer } from '@elaraai/e3-api-server';
15
- * import { allTests, createTestContext } from '@elaraai/e3-api-tests';
15
+ * import { allTests, createTestContext, type TestSetup, type TestContext } from '@elaraai/e3-api-tests';
16
16
  *
17
- * describe('API compliance', () => {
18
- * let server: Server;
19
- * let context: TestContext;
20
- *
21
- * before(async () => {
22
- * server = await createServer({ reposDir: tempDir, port: 0 });
23
- * await server.start();
24
- * context = await createTestContext({
25
- * baseUrl: `http://localhost:${server.port}`,
26
- * getToken: async () => 'test-token',
27
- * });
28
- * });
29
- *
30
- * after(async () => {
31
- * await context.cleanup();
32
- * await server.stop();
17
+ * const setup: TestSetup<TestContext> = async (t) => {
18
+ * const ctx = await createTestContext({
19
+ * baseUrl: 'http://localhost:3000',
20
+ * getToken: async () => 'test-token',
21
+ * cleanup: true,
33
22
  * });
23
+ * t.after(() => ctx.cleanup());
24
+ * return ctx;
25
+ * };
34
26
  *
35
- * allTests(() => context);
27
+ * describe('API compliance', { concurrency: true }, () => {
28
+ * allTests(setup, () => ({ E3_CREDENTIALS_PATH: '/path/to/creds' }));
36
29
  * });
37
30
  * ```
38
31
  */
32
+ export { type TestSetup } from './setup.js';
39
33
  export { createTestContext, type TestConfig, type TestContext } from './context.js';
40
34
  export { createPackageZip, createMultiInputPackageZip, createStringPackageZip, createDiamondPackageZip, createParallelMixedPackageZip, createFailingDiamondPackageZip, createWideParallelPackageZip, } from './fixtures.js';
41
35
  export { runE3Command, spawnE3Command, getE3CliPath, waitFor, type CliResult, type RunE3Options, type RunningCliProcess, } from './cli.js';
@@ -48,19 +42,20 @@ export { platformTests } from './suites/platform.js';
48
42
  export { cliTests } from './suites/cli.js';
49
43
  export { transferTests } from './suites/transfer.js';
50
44
  import type { TestContext } from './context.js';
45
+ import type { TestSetup } from './setup.js';
51
46
  /**
52
47
  * Register all API test suites (excluding CLI tests).
53
48
  *
54
49
  * CLI tests require additional credentials setup and are registered separately.
55
50
  *
56
- * @param getContext - Function that returns the current test context
51
+ * @param setup - Factory that creates a fresh test context per test
57
52
  */
58
- export declare function allApiTests(getContext: () => TestContext): void;
53
+ export declare function allApiTests(setup: TestSetup<TestContext>): void;
59
54
  /**
60
55
  * Register all test suites including CLI tests.
61
56
  *
62
- * @param getContext - Function that returns the current test context
57
+ * @param setup - Factory that creates a fresh test context per test
63
58
  * @param getCredentialsEnv - Function that returns env vars for CLI auth
64
59
  */
65
- export declare function allTests(getContext: () => TestContext, getCredentialsEnv: () => Record<string, string>): void;
60
+ export declare function allTests(setup: TestSetup<TestContext>, getCredentialsEnv: () => Record<string, string>): void;
66
61
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGpF,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,OAAO,EACP,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAUhD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,WAAW,EAC7B,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,IAAI,CAIN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGpF,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,OAAO,EACP,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAU5C;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,EAC7B,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,IAAI,CAIN"}
package/dist/src/index.js CHANGED
@@ -2,40 +2,6 @@
2
2
  * Copyright (c) 2025 Elara AI Pty Ltd
3
3
  * Licensed under BSL 1.1. See LICENSE for details.
4
4
  */
5
- /**
6
- * e3 API Compliance Tests
7
- *
8
- * Shared test suites for verifying e3 API implementations.
9
- * Works with both local (e3-api-server) and cloud (e3-aws) deployments.
10
- *
11
- * @example
12
- * ```typescript
13
- * import { describe, before, after } from 'node:test';
14
- * import { createServer } from '@elaraai/e3-api-server';
15
- * import { allTests, createTestContext } from '@elaraai/e3-api-tests';
16
- *
17
- * describe('API compliance', () => {
18
- * let server: Server;
19
- * let context: TestContext;
20
- *
21
- * before(async () => {
22
- * server = await createServer({ reposDir: tempDir, port: 0 });
23
- * await server.start();
24
- * context = await createTestContext({
25
- * baseUrl: `http://localhost:${server.port}`,
26
- * getToken: async () => 'test-token',
27
- * });
28
- * });
29
- *
30
- * after(async () => {
31
- * await context.cleanup();
32
- * await server.stop();
33
- * });
34
- *
35
- * allTests(() => context);
36
- * });
37
- * ```
38
- */
39
5
  // Context and configuration
40
6
  export { createTestContext } from './context.js';
41
7
  // Fixture creation utilities
@@ -64,25 +30,25 @@ import { transferTests } from './suites/transfer.js';
64
30
  *
65
31
  * CLI tests require additional credentials setup and are registered separately.
66
32
  *
67
- * @param getContext - Function that returns the current test context
33
+ * @param setup - Factory that creates a fresh test context per test
68
34
  */
69
- export function allApiTests(getContext) {
70
- repositoryTests(getContext);
71
- packageTests(getContext);
72
- workspaceTests(getContext);
73
- datasetTests(getContext);
74
- dataflowTests(getContext);
75
- platformTests(getContext);
35
+ export function allApiTests(setup) {
36
+ repositoryTests(setup);
37
+ packageTests(setup);
38
+ workspaceTests(setup);
39
+ datasetTests(setup);
40
+ dataflowTests(setup);
41
+ platformTests(setup);
76
42
  }
77
43
  /**
78
44
  * Register all test suites including CLI tests.
79
45
  *
80
- * @param getContext - Function that returns the current test context
46
+ * @param setup - Factory that creates a fresh test context per test
81
47
  * @param getCredentialsEnv - Function that returns env vars for CLI auth
82
48
  */
83
- export function allTests(getContext, getCredentialsEnv) {
84
- allApiTests(getContext);
85
- cliTests(getContext, getCredentialsEnv);
86
- transferTests(getContext, getCredentialsEnv);
49
+ export function allTests(setup, getCredentialsEnv) {
50
+ allApiTests(setup);
51
+ cliTests(setup, getCredentialsEnv);
52
+ transferTests(setup, getCredentialsEnv);
87
53
  }
88
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAqC,MAAM,cAAc,CAAC;AAEpF,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAEvB,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,OAAO,GAIR,MAAM,UAAU,CAAC;AAElB,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,UAA6B;IACvD,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5B,YAAY,CAAC,UAAU,CAAC,CAAC;IACzB,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3B,YAAY,CAAC,UAAU,CAAC,CAAC;IACzB,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1B,aAAa,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,UAA6B,EAC7B,iBAA+C;IAE/C,WAAW,CAAC,UAAU,CAAC,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACxC,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiCH,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAqC,MAAM,cAAc,CAAC;AAEpF,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAEvB,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,OAAO,GAIR,MAAM,UAAU,CAAC;AAElB,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,KAA6B;IACvD,eAAe,CAAC,KAAK,CAAC,CAAC;IACvB,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,aAAa,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,KAA6B,EAC7B,iBAA+C;IAE/C,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACnC,aAAa,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ import type { TestContext as NodeTestContext } from 'node:test';
6
+ /**
7
+ * Factory that creates a fresh test context and registers cleanup via t.after().
8
+ * Each test calls `const ctx = await setup(t)` — fully self-contained, no shared state.
9
+ */
10
+ export type TestSetup<T> = (t: NodeTestContext) => Promise<T>;
11
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,WAAW,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -3,13 +3,14 @@
3
3
  * Licensed under BSL 1.1. See LICENSE for details.
4
4
  */
5
5
  import type { TestContext } from '../context.js';
6
+ import type { TestSetup } from '../setup.js';
6
7
  /**
7
8
  * Register CLI operation tests.
8
9
  *
9
10
  * These tests run CLI commands against a remote URL and verify output.
10
11
  *
11
- * @param getContext - Function that returns the current test context
12
+ * @param setup - Factory that creates a fresh test context per test
12
13
  * @param getCredentialsEnv - Function that returns env vars for auth (E3_CREDENTIALS_PATH, etc.)
13
14
  */
14
- export declare function cliTests(getContext: () => TestContext, getCredentialsEnv: () => Record<string, string>): void;
15
+ export declare function cliTests(setup: TestSetup<TestContext>, getCredentialsEnv: () => Record<string, string>): void;
15
16
  //# sourceMappingURL=cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/suites/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,WAAW,EAC7B,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,IAAI,CA8KN"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/suites/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,EAC7B,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,IAAI,CAsLN"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Tests CLI commands against remote URLs.
9
9
  */
10
- import { describe, it, beforeEach } from 'node:test';
10
+ import { describe, it } from 'node:test';
11
11
  import assert from 'node:assert/strict';
12
12
  import { mkdirSync } from 'node:fs';
13
13
  import { join } from 'node:path';
@@ -18,21 +18,26 @@ import { createPackageZip } from '../fixtures.js';
18
18
  *
19
19
  * These tests run CLI commands against a remote URL and verify output.
20
20
  *
21
- * @param getContext - Function that returns the current test context
21
+ * @param setup - Factory that creates a fresh test context per test
22
22
  * @param getCredentialsEnv - Function that returns env vars for auth (E3_CREDENTIALS_PATH, etc.)
23
23
  */
24
- export function cliTests(getContext, getCredentialsEnv) {
25
- describe('cli', () => {
26
- let remoteUrl;
27
- let workDir;
28
- beforeEach(async () => {
29
- const ctx = getContext();
30
- remoteUrl = `${ctx.config.baseUrl}/repos/${ctx.repoName}`;
31
- workDir = join(ctx.tempDir, 'cli-work');
32
- mkdirSync(workDir, { recursive: true });
33
- });
34
- describe('repo commands', () => {
35
- it('repo status via remote URL', async () => {
24
+ export function cliTests(setup, getCredentialsEnv) {
25
+ const withCli = async (t) => {
26
+ const ctx = await setup(t);
27
+ const remoteUrl = `${ctx.config.baseUrl}/repos/${ctx.repoName}`;
28
+ const workDir = join(ctx.tempDir, 'cli-work');
29
+ mkdirSync(workDir, { recursive: true });
30
+ return Object.assign(ctx, { remoteUrl, workDir });
31
+ };
32
+ const withCliPackage = async (t) => {
33
+ const c = await withCli(t);
34
+ const packageZipPath = await createPackageZip(c.tempDir, 'cli-test-pkg', '1.0.0');
35
+ return Object.assign(c, { packageZipPath });
36
+ };
37
+ describe('cli', { concurrency: true }, () => {
38
+ describe('repo commands', { concurrency: true }, () => {
39
+ it('repo status via remote URL', async (t) => {
40
+ const { remoteUrl, workDir } = await withCli(t);
36
41
  const result = await runE3Command(['repo', 'status', remoteUrl], workDir, { env: getCredentialsEnv() });
37
42
  assert.strictEqual(result.exitCode, 0, `Failed: ${result.stderr}`);
38
43
  assert.match(result.stdout, /Repository:/);
@@ -40,35 +45,39 @@ export function cliTests(getContext, getCredentialsEnv) {
40
45
  assert.match(result.stdout, /Packages:/);
41
46
  assert.match(result.stdout, /Workspaces:/);
42
47
  });
43
- it('repo gc via remote URL', async () => {
48
+ it('repo gc via remote URL', async (t) => {
49
+ const { remoteUrl, workDir } = await withCli(t);
44
50
  const result = await runE3Command(['repo', 'gc', remoteUrl], workDir, { env: getCredentialsEnv() });
45
51
  assert.strictEqual(result.exitCode, 0, `Failed: ${result.stderr}`);
46
52
  assert.match(result.stdout, /Running garbage collection/);
47
53
  assert.match(result.stdout, /Garbage collection complete/);
48
54
  });
49
- it('repo gc --dry-run via remote URL', async () => {
55
+ it('repo gc --dry-run via remote URL', async (t) => {
56
+ const { remoteUrl, workDir } = await withCli(t);
50
57
  const result = await runE3Command(['repo', 'gc', remoteUrl, '--dry-run'], workDir, { env: getCredentialsEnv() });
51
58
  assert.strictEqual(result.exitCode, 0, `Failed: ${result.stderr}`);
52
59
  assert.match(result.stdout, /Dry run/);
53
60
  });
54
- it('repo list via server URL', async () => {
55
- const ctx = getContext();
61
+ it('repo list via server URL', async (t) => {
62
+ const ctx = await withCli(t);
56
63
  // repo list takes server URL, not repo URL
57
- const result = await runE3Command(['repo', 'list', ctx.config.baseUrl], workDir, { env: getCredentialsEnv() });
64
+ const result = await runE3Command(['repo', 'list', ctx.config.baseUrl], ctx.workDir, { env: getCredentialsEnv() });
58
65
  assert.strictEqual(result.exitCode, 0, `Failed: ${result.stderr}`);
59
66
  assert.match(result.stdout, /Repositories:/);
60
67
  // Our test repo should be in the list
61
68
  assert.match(result.stdout, new RegExp(ctx.repoName));
62
69
  });
63
70
  });
64
- describe('workspace commands', () => {
65
- it('workspace list via remote URL', async () => {
71
+ describe('workspace commands', { concurrency: true }, () => {
72
+ it('workspace list via remote URL', async (t) => {
73
+ const { remoteUrl, workDir } = await withCli(t);
66
74
  const result = await runE3Command(['workspace', 'list', remoteUrl], workDir, { env: getCredentialsEnv() });
67
75
  assert.strictEqual(result.exitCode, 0, `Failed: ${result.stderr}`);
68
76
  // Initially empty or has workspaces from other tests
69
77
  assert.ok(result.stdout.length > 0);
70
78
  });
71
- it('workspace create via remote URL', async () => {
79
+ it('workspace create via remote URL', async (t) => {
80
+ const { remoteUrl, workDir } = await withCli(t);
72
81
  const wsName = `cli-test-ws-${Date.now()}`;
73
82
  const result = await runE3Command(['workspace', 'create', remoteUrl, wsName], workDir, { env: getCredentialsEnv() });
74
83
  assert.strictEqual(result.exitCode, 0, `Failed: ${result.stderr}`);
@@ -76,7 +85,8 @@ export function cliTests(getContext, getCredentialsEnv) {
76
85
  // Clean up
77
86
  await runE3Command(['workspace', 'remove', remoteUrl, wsName], workDir, { env: getCredentialsEnv() });
78
87
  });
79
- it('workspace remove via remote URL', async () => {
88
+ it('workspace remove via remote URL', async (t) => {
89
+ const { remoteUrl, workDir } = await withCli(t);
80
90
  const wsName = `cli-remove-ws-${Date.now()}`;
81
91
  // Create first
82
92
  await runE3Command(['workspace', 'create', remoteUrl, wsName], workDir, { env: getCredentialsEnv() });
@@ -86,24 +96,22 @@ export function cliTests(getContext, getCredentialsEnv) {
86
96
  assert.match(result.stdout, new RegExp(`Removed workspace: ${wsName}`));
87
97
  });
88
98
  });
89
- describe('package commands', () => {
90
- let packageZipPath;
91
- beforeEach(async () => {
92
- const ctx = getContext();
93
- packageZipPath = await createPackageZip(ctx.tempDir, 'cli-test-pkg', '1.0.0');
94
- });
95
- it('package list via remote URL', async () => {
99
+ describe('package commands', { concurrency: true }, () => {
100
+ it('package list via remote URL', async (t) => {
101
+ const { remoteUrl, workDir } = await withCliPackage(t);
96
102
  const result = await runE3Command(['package', 'list', remoteUrl], workDir, { env: getCredentialsEnv() });
97
103
  assert.strictEqual(result.exitCode, 0, `Failed: ${result.stderr}`);
98
104
  // Either "No packages" or list of packages
99
105
  assert.ok(result.stdout.length > 0);
100
106
  });
101
- it('package import via remote URL', async () => {
107
+ it('package import via remote URL', async (t) => {
108
+ const { remoteUrl, workDir, packageZipPath } = await withCliPackage(t);
102
109
  const result = await runE3Command(['package', 'import', remoteUrl, packageZipPath], workDir, { env: getCredentialsEnv() });
103
110
  assert.strictEqual(result.exitCode, 0, `Failed: ${result.stderr}`);
104
111
  assert.match(result.stdout, /Imported cli-test-pkg@1.0.0/);
105
112
  });
106
- it('package remove via remote URL', async () => {
113
+ it('package remove via remote URL', async (t) => {
114
+ const { remoteUrl, workDir, packageZipPath } = await withCliPackage(t);
107
115
  // Import first
108
116
  await runE3Command(['package', 'import', remoteUrl, packageZipPath], workDir, { env: getCredentialsEnv() });
109
117
  // Remove
@@ -112,9 +120,10 @@ export function cliTests(getContext, getCredentialsEnv) {
112
120
  assert.match(result.stdout, /Removed cli-test-pkg@1.0.0/);
113
121
  });
114
122
  });
115
- describe('full workflow via CLI', () => {
116
- it('imports package, creates workspace, deploys, and shows tree', async () => {
117
- const ctx = getContext();
123
+ describe('full workflow via CLI', { concurrency: true }, () => {
124
+ it('imports package, creates workspace, deploys, and shows tree', async (t) => {
125
+ const ctx = await withCli(t);
126
+ const { remoteUrl, workDir } = ctx;
118
127
  const packageZipPath = await createPackageZip(ctx.tempDir, 'workflow-pkg', '1.0.0');
119
128
  const wsName = `workflow-ws-${Date.now()}`;
120
129
  const env = getCredentialsEnv();
@@ -136,8 +145,9 @@ export function cliTests(getContext, getCredentialsEnv) {
136
145
  // Clean up
137
146
  await runE3Command(['workspace', 'remove', remoteUrl, wsName], workDir, { env });
138
147
  });
139
- it('executes dataflow via CLI and shows logs', async () => {
140
- const ctx = getContext();
148
+ it('executes dataflow via CLI and shows logs', async (t) => {
149
+ const ctx = await withCli(t);
150
+ const { remoteUrl, workDir } = ctx;
141
151
  const packageZipPath = await createPackageZip(ctx.tempDir, 'exec-cli-pkg', '1.0.0');
142
152
  const wsName = `exec-cli-ws-${Date.now()}`;
143
153
  const env = getCredentialsEnv();
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/suites/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,UAA6B,EAC7B,iBAA+C;IAE/C,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,IAAI,SAAiB,CAAC;QACtB,IAAI,OAAe,CAAC;QAEpB,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,SAAS,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC1D,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACxC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;gBAC1C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAExG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;gBACtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAEpG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;gBAChD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAEjH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;gBACxC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,2CAA2C;gBAC3C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAE/G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;gBAC7C,sCAAsC;gBACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAClC,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;gBAC7C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAE3G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,qDAAqD;gBACrD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;gBAC/C,MAAM,MAAM,GAAG,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAErH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC,CAAC;gBAExE,WAAW;gBACX,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACxG,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;gBAC/C,MAAM,MAAM,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAE7C,eAAe;gBACf,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAEtG,SAAS;gBACT,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAErH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAChC,IAAI,cAAsB,CAAC;YAE3B,UAAU,CAAC,KAAK,IAAI,EAAE;gBACpB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,cAAc,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;gBAC3C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAEzG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,2CAA2C;gBAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;gBAC7C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAE3H,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;gBAC7C,eAAe;gBACf,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAE5G,SAAS;gBACT,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAEjI,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACrC,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAEhC,iBAAiB;gBACjB,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE1E,mBAAmB;gBACnB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEpF,SAAS;gBACT,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,6CAA6C,MAAM,EAAE,CAAC,CAAC,CAAC;gBAE/F,OAAO;gBACP,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,gBAAgB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAEtC,WAAW;gBACX,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;gBACxD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAEhC,QAAQ;gBACR,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvF,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjF,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAEvG,UAAU;gBACV,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvF,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEnF,YAAY;gBACZ,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,gBAAgB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChF,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEzC,WAAW;gBACX,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/suites/cli.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@
3
3
  * Licensed under BSL 1.1. See LICENSE for details.
4
4
  */
5
5
  import type { TestContext } from '../context.js';
6
+ import type { TestSetup } from '../setup.js';
6
7
  /**
7
8
  * Register dataflow execution tests.
8
9
  *
9
- * @param getContext - Function that returns the current test context
10
+ * @param setup - Factory that creates a fresh test context per test
10
11
  */
11
- export declare function dataflowTests(getContext: () => TestContext): void;
12
+ export declare function dataflowTests(setup: TestSetup<TestContext>): void;
12
13
  //# sourceMappingURL=dataflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../../src/suites/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAWjD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,CAu1BjE"}
1
+ {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../../src/suites/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiC7C;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAstBjE"}