@elaraai/e3-api-tests 0.0.2-beta.13

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 (3) hide show
  1. package/LICENSE.md +50 -0
  2. package/README.md +98 -0
  3. package/package.json +47 -0
package/LICENSE.md ADDED
@@ -0,0 +1,50 @@
1
+ # Business Source License 1.1
2
+
3
+ Copyright (c) 2025 Elara AI Pty Ltd
4
+
5
+ ## License
6
+
7
+ **Licensor:** Elara AI Pty Ltd
8
+
9
+ **Licensed Work:** @elaraai/e3-api-client
10
+
11
+ **Change Date:** Four years from the date of each release
12
+
13
+ **Change License:** AGPL-3.0
14
+
15
+ ## Terms
16
+
17
+ The Licensed Work is provided under the terms of the Business Source License 1.1 as detailed below.
18
+
19
+ ### Grant of Rights
20
+
21
+ The Licensor grants you the right to copy, modify, create derivative works, redistribute, and make non-production use of the Licensed Work.
22
+
23
+ ### Production Use Limitation
24
+
25
+ **"Production Use"** means any use by or on behalf of a for-profit entity, other than for evaluation, testing, or development purposes.
26
+
27
+ Production Use requires a separate commercial license from the Licensor.
28
+
29
+ ### Change Date
30
+
31
+ On the Change Date (four years after each release), the Licensed Work will be made available under the Change License (AGPL-3.0).
32
+
33
+ ### No Warranty
34
+
35
+ THE LICENSED WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. THE LICENSOR DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
36
+
37
+ ## Commercial Licensing
38
+
39
+ To obtain a commercial license for Production Use, contact:
40
+
41
+ **Email:** support@elara.ai
42
+ **Website:** https://elaraai.com
43
+
44
+ ## Governing Law
45
+
46
+ This license is governed by the laws of New South Wales, Australia.
47
+
48
+ ---
49
+
50
+ *Elara AI Pty Ltd*
package/README.md ADDED
@@ -0,0 +1,98 @@
1
+ # @elaraai/e3-api-tests
2
+
3
+ Compliance test suite for e3 API servers, used for integration tests in the e3 monorepo. Intended to verify the reference server (`@elaraai/e3-api-server`), and ensure any alternative e3 server implementations conform to the same API contract.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @elaraai/e3-api-tests
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import { describe, before, after } from 'node:test';
15
+ 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();
34
+ });
35
+
36
+ // Registers all API test suites
37
+ allApiTests(() => context);
38
+ });
39
+ ```
40
+
41
+ ## Exports
42
+
43
+ | Export | Description |
44
+ |--------|-------------|
45
+ | `createTestContext` | Create test context with helpers for setup/teardown |
46
+ | `allApiTests` | Register all API test suites (repository, packages, workspaces, datasets, dataflow) |
47
+ | `allTests` | Register all tests including CLI tests (requires credentials env) |
48
+ | `repositoryTests` | Repository CRUD tests |
49
+ | `packageTests` | Package import/export tests |
50
+ | `workspaceTests` | Workspace management tests |
51
+ | `datasetTests` | Dataset read/write tests |
52
+ | `dataflowTests` | Dataflow execution tests |
53
+ | `platformTests` | Platform capability tests |
54
+ | `cliTests` | CLI integration tests |
55
+ | `createPackageZip` | Create a test package zip file |
56
+ | `runE3Command` | Run an e3 CLI command |
57
+
58
+ ## License
59
+
60
+ BSL 1.1. See [LICENSE.md](./LICENSE.md).
61
+
62
+ ### Ecosystem
63
+
64
+ - **[East Node](https://github.com/elaraai/east-node)**: Node.js platform functions for I/O, databases, and system operations. Connect East programs to filesystems, SQL/NoSQL databases, cloud storage, and network services.
65
+ - [@elaraai/east-node-std](https://www.npmjs.com/package/@elaraai/east-node-std): Filesystem, console, HTTP fetch, crypto, random distributions, timestamps
66
+ - [@elaraai/east-node-io](https://www.npmjs.com/package/@elaraai/east-node-io): SQLite, PostgreSQL, MySQL, MongoDB, S3, FTP, SFTP
67
+ - [@elaraai/east-node-cli](https://www.npmjs.com/package/@elaraai/east-node-cli): CLI for running East IR programs in Node.js
68
+
69
+ - **[East Python](https://github.com/elaraai/east-py)**: Python runtime and platform functions for data science and machine learning. Execute East programs with access to optimization solvers, gradient boosting, neural networks, and model explainability.
70
+ - [@elaraai/east-py-datascience](https://www.npmjs.com/package/@elaraai/east-py-datascience): TypeScript types for optimization, gradient boosting, neural networks, explainability
71
+
72
+ - **[East UI](https://github.com/elaraai/east-ui)**: East types and expressions for building dashboards and interactive layouts. Define UIs as data structures that render consistently across React, web, and other environments.
73
+ - [@elaraai/east-ui](https://www.npmjs.com/package/@elaraai/east-ui): 50+ typed UI components for layouts, forms, charts, tables, dialogs
74
+ - [@elaraai/east-ui-components](https://www.npmjs.com/package/@elaraai/east-ui-components): React renderer with Chakra UI styling
75
+
76
+ - **[e3 - East Execution Engine](https://github.com/elaraai/e3)**: Durable execution engine for running East pipelines at scale. Features Git-like content-addressable storage, automatic memoization, task queuing, and real-time monitoring.
77
+ - [@elaraai/e3](https://www.npmjs.com/package/@elaraai/e3): SDK for authoring e3 packages with typed tasks and pipelines
78
+ - [@elaraai/e3-core](https://www.npmjs.com/package/@elaraai/e3-core): Git-like object store, task queue, result caching
79
+ - [@elaraai/e3-types](https://www.npmjs.com/package/@elaraai/e3-types): Shared type definitions for e3 packages
80
+ - [@elaraai/e3-cli](https://www.npmjs.com/package/@elaraai/e3-cli): `e3 init`, `e3 run`, `e3 logs` commands for managing and monitoring tasks
81
+ - [@elaraai/e3-api-client](https://www.npmjs.com/package/@elaraai/e3-api-client): HTTP client for remote e3 servers
82
+ - [@elaraai/e3-api-server](https://www.npmjs.com/package/@elaraai/e3-api-server): REST API server for e3 repositories
83
+
84
+ ## Links
85
+
86
+ - [East Language](https://github.com/elaraai/east)
87
+ - [East Python Runtime](https://github.com/elaraai/east-py)
88
+ - [Elara AI](https://elaraai.com/)
89
+ - [Issues](https://github.com/elaraai/e3/issues)
90
+ - support@elara.ai
91
+
92
+ ## About Elara
93
+
94
+ East is developed by [Elara AI Pty Ltd](https://elaraai.com/), an AI-powered platform that creates economic digital twins of businesses that optimize performance. Elara combines business objectives, decisions and data to help organizations make data-driven decisions across operations, purchasing, sales and customer engagement, and project and investment planning. East powers the computational layer of Elara solutions, enabling the expression of complex business logic and data in a simple, type-safe and portable language.
95
+
96
+ ---
97
+
98
+ *Developed by [Elara AI Pty Ltd](https://elaraai.com/)*
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@elaraai/e3-api-tests",
3
+ "version": "0.0.2-beta.13",
4
+ "type": "module",
5
+ "description": "East Execution Engine API Compliance Tests - shared test suites for e3 API implementations",
6
+ "main": "dist/src/index.js",
7
+ "types": "dist/src/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/src/index.d.ts",
11
+ "default": "./dist/src/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist/src",
16
+ "README.md",
17
+ "LICENSE"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc --build",
21
+ "lint": "eslint .",
22
+ "lint:fix": "eslint . --fix"
23
+ },
24
+ "keywords": [
25
+ "east",
26
+ "e3",
27
+ "api",
28
+ "tests",
29
+ "compliance"
30
+ ],
31
+ "license": "SEE LICENSE IN LICENSE",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/elaraai/e3",
35
+ "directory": "packages/e3-api-tests"
36
+ },
37
+ "dependencies": {
38
+ "@elaraai/e3": "^0.0.2-beta.13",
39
+ "@elaraai/e3-api-client": "^",
40
+ "@elaraai/e3-cli": "^",
41
+ "@elaraai/east": "^0.0.1-beta.29"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^22.0.0",
45
+ "typescript": "^5.6.0"
46
+ }
47
+ }