@entity-access/entity-access 1.0.45 → 1.0.47
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/.vscode/launch.json +20 -1
- package/dist/common/Logger.d.ts +8 -1
- package/dist/common/Logger.d.ts.map +1 -1
- package/dist/common/Logger.js +18 -1
- package/dist/common/Logger.js.map +1 -1
- package/dist/common/ObjectPool.d.ts +42 -0
- package/dist/common/ObjectPool.d.ts.map +1 -0
- package/dist/common/ObjectPool.js +86 -0
- package/dist/common/ObjectPool.js.map +1 -0
- package/dist/common/sleep.d.ts +3 -0
- package/dist/common/sleep.d.ts.map +1 -0
- package/dist/common/sleep.js +17 -0
- package/dist/common/sleep.js.map +1 -0
- package/dist/decorators/Column.js +1 -1
- package/dist/decorators/Column.js.map +1 -1
- package/dist/di/di.d.ts +2 -2
- package/dist/di/di.d.ts.map +1 -1
- package/dist/di/di.js +33 -19
- package/dist/di/di.js.map +1 -1
- package/dist/drivers/base/BaseDriver.d.ts.map +1 -1
- package/dist/drivers/base/BaseDriver.js.map +1 -1
- package/dist/drivers/postgres/PostgreSqlDriver.d.ts +2 -2
- package/dist/drivers/postgres/PostgreSqlDriver.d.ts.map +1 -1
- package/dist/drivers/postgres/PostgreSqlDriver.js +54 -25
- package/dist/drivers/postgres/PostgreSqlDriver.js.map +1 -1
- package/dist/drivers/sql-server/ExpressionToSqlServer.d.ts +2 -1
- package/dist/drivers/sql-server/ExpressionToSqlServer.d.ts.map +1 -1
- package/dist/drivers/sql-server/ExpressionToSqlServer.js +3 -0
- package/dist/drivers/sql-server/ExpressionToSqlServer.js.map +1 -1
- package/dist/eternity/ActivitySuspendedError.d.ts +3 -0
- package/dist/eternity/ActivitySuspendedError.d.ts.map +1 -0
- package/dist/eternity/ActivitySuspendedError.js +3 -0
- package/dist/eternity/ActivitySuspendedError.js.map +1 -0
- package/dist/eternity/EternityContext.d.ts +27 -0
- package/dist/eternity/EternityContext.d.ts.map +1 -0
- package/dist/eternity/EternityContext.js +230 -0
- package/dist/eternity/EternityContext.js.map +1 -0
- package/dist/eternity/EternityStorage.d.ts +40 -0
- package/dist/eternity/EternityStorage.d.ts.map +1 -0
- package/dist/eternity/EternityStorage.js +217 -0
- package/dist/eternity/EternityStorage.js.map +1 -0
- package/dist/eternity/Workflow.d.ts +24 -0
- package/dist/eternity/Workflow.d.ts.map +1 -0
- package/dist/eternity/Workflow.js +49 -0
- package/dist/eternity/Workflow.js.map +1 -0
- package/dist/eternity/WorkflowClock.d.ts +5 -0
- package/dist/eternity/WorkflowClock.d.ts.map +1 -0
- package/dist/eternity/WorkflowClock.js +18 -0
- package/dist/eternity/WorkflowClock.js.map +1 -0
- package/dist/eternity/WorkflowRegistry.d.ts +13 -0
- package/dist/eternity/WorkflowRegistry.d.ts.map +1 -0
- package/dist/eternity/WorkflowRegistry.js +24 -0
- package/dist/eternity/WorkflowRegistry.js.map +1 -0
- package/dist/migrations/Migrations.d.ts.map +1 -1
- package/dist/migrations/Migrations.js +1 -0
- package/dist/migrations/Migrations.js.map +1 -1
- package/dist/model/EntityContext.d.ts +1 -1
- package/dist/model/EntityContext.d.ts.map +1 -1
- package/dist/model/EntityContext.js +2 -1
- package/dist/model/EntityContext.js.map +1 -1
- package/dist/model/EntityQuery.d.ts.map +1 -1
- package/dist/model/EntityQuery.js +1 -3
- package/dist/model/EntityQuery.js.map +1 -1
- package/dist/query/ast/DebugStringVisitor.d.ts +3 -1
- package/dist/query/ast/DebugStringVisitor.d.ts.map +1 -1
- package/dist/query/ast/DebugStringVisitor.js +6 -0
- package/dist/query/ast/DebugStringVisitor.js.map +1 -1
- package/dist/query/ast/ExpressionToSql.d.ts +3 -1
- package/dist/query/ast/ExpressionToSql.d.ts.map +1 -1
- package/dist/query/ast/ExpressionToSql.js +19 -3
- package/dist/query/ast/ExpressionToSql.js.map +1 -1
- package/dist/query/ast/Expressions.d.ts +10 -7
- package/dist/query/ast/Expressions.d.ts.map +1 -1
- package/dist/query/ast/Expressions.js +12 -4
- package/dist/query/ast/Expressions.js.map +1 -1
- package/dist/query/ast/Visitor.d.ts +3 -1
- package/dist/query/ast/Visitor.d.ts.map +1 -1
- package/dist/query/ast/Visitor.js +10 -0
- package/dist/query/ast/Visitor.js.map +1 -1
- package/dist/query/parser/ArrowToExpression.d.ts +2 -2
- package/dist/query/parser/ArrowToExpression.d.ts.map +1 -1
- package/dist/query/parser/ArrowToExpression.js +2 -2
- package/dist/query/parser/ArrowToExpression.js.map +1 -1
- package/dist/tests/eternity/eternity-tests.d.ts +3 -0
- package/dist/tests/eternity/eternity-tests.d.ts.map +1 -0
- package/dist/tests/eternity/eternity-tests.js +91 -0
- package/dist/tests/eternity/eternity-tests.js.map +1 -0
- package/dist/tests/security/tests/place-order.js +6 -2
- package/dist/tests/security/tests/place-order.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/common/Logger.ts +25 -2
- package/src/common/ObjectPool.ts +124 -0
- package/src/common/sleep.ts +16 -0
- package/src/decorators/Column.ts +1 -1
- package/src/di/di.ts +37 -20
- package/src/drivers/base/BaseDriver.ts +2 -1
- package/src/drivers/postgres/PostgreSqlDriver.ts +59 -32
- package/src/drivers/sql-server/ExpressionToSqlServer.ts +5 -1
- package/src/eternity/ActivitySuspendedError.ts +3 -0
- package/src/eternity/EternityContext.ts +254 -0
- package/src/eternity/EternityStorage.ts +180 -0
- package/src/eternity/Workflow.ts +55 -0
- package/src/eternity/WorkflowClock.ts +10 -0
- package/src/eternity/WorkflowRegistry.ts +34 -0
- package/src/migrations/Migrations.ts +2 -0
- package/src/model/EntityContext.ts +3 -2
- package/src/model/EntityQuery.ts +1 -2
- package/src/query/ast/DebugStringVisitor.ts +10 -1
- package/src/query/ast/ExpressionToSql.ts +22 -4
- package/src/query/ast/Expressions.ts +17 -5
- package/src/query/ast/Visitor.ts +11 -1
- package/src/query/parser/ArrowToExpression.ts +2 -2
- package/src/tests/eternity/eternity-tests.ts +108 -0
- package/src/tests/security/tests/place-order.ts +6 -2
- package/test.js +38 -3
package/test.js
CHANGED
|
@@ -2,10 +2,26 @@ import { readdir } from "fs/promises";
|
|
|
2
2
|
import PostgreSqlDriver from "./dist/drivers/postgres/PostgreSqlDriver.js";
|
|
3
3
|
import SqlServerDriver from "./dist/drivers/sql-server/SqlServerDriver.js";
|
|
4
4
|
import * as ports from "tcp-port-used";
|
|
5
|
+
import path from "path";
|
|
5
6
|
|
|
6
7
|
const host = process.env.POSTGRES_HOST ?? "localhost";
|
|
7
8
|
const postGresPort = Number(process.env.POSTGRES_PORT ?? 5432);
|
|
8
9
|
|
|
10
|
+
/**
|
|
11
|
+
* @type string
|
|
12
|
+
*/
|
|
13
|
+
let testFile;
|
|
14
|
+
const testFileIndex = process.argv.indexOf("--test-file");
|
|
15
|
+
if (testFileIndex !== -1) {
|
|
16
|
+
testFile = process.argv[testFileIndex+1];
|
|
17
|
+
}
|
|
18
|
+
testFile = testFile ? testFile.replace("/src/", "/dist/").replace("\\src\\","\\dist\\").replace(".ts", ".js") : void 0;
|
|
19
|
+
if (testFile) {
|
|
20
|
+
if (testFile.startsWith(".")) {
|
|
21
|
+
testFile = path.resolve(testFile);
|
|
22
|
+
}
|
|
23
|
+
console.log(`Executing test - ${testFile}`);
|
|
24
|
+
}
|
|
9
25
|
// if (process.argv.includes("test-db")) {
|
|
10
26
|
// // wait for ports to open...
|
|
11
27
|
// console.log("Waiting for port to be open");
|
|
@@ -22,14 +38,15 @@ let start = Date.now();
|
|
|
22
38
|
export default class TestRunner {
|
|
23
39
|
|
|
24
40
|
static get drivers() {
|
|
25
|
-
const database = "D" + start
|
|
41
|
+
const database = "D" + (start++);
|
|
26
42
|
return [
|
|
27
43
|
new PostgreSqlDriver({
|
|
28
44
|
database,
|
|
29
45
|
host,
|
|
30
46
|
user: "postgres",
|
|
31
47
|
password: "abcd123",
|
|
32
|
-
port: postGresPort
|
|
48
|
+
port: postGresPort,
|
|
49
|
+
// deleteDatabase: async (driver) => [driver.config.database = "postgres", await driver.executeQuery(`DROP DATABASE IF EXISTS "${database}" WITH (FORCE)`)]
|
|
33
50
|
}),
|
|
34
51
|
new SqlServerDriver({
|
|
35
52
|
database,
|
|
@@ -40,7 +57,17 @@ export default class TestRunner {
|
|
|
40
57
|
options: {
|
|
41
58
|
encrypt: true, // for azure
|
|
42
59
|
trustServerCertificate: true // change to true for local dev / self-signed certs
|
|
43
|
-
}
|
|
60
|
+
},
|
|
61
|
+
// deleteDatabase: async (driver) => {
|
|
62
|
+
// try {
|
|
63
|
+
// driver.config.database = "master";
|
|
64
|
+
// await driver.executeQuery(`USE master;
|
|
65
|
+
// ALTER DATABASE ${database} SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
|
|
66
|
+
// DROP DATABASE ${database}`);
|
|
67
|
+
// } catch {
|
|
68
|
+
|
|
69
|
+
// }
|
|
70
|
+
// }
|
|
44
71
|
})
|
|
45
72
|
];
|
|
46
73
|
}
|
|
@@ -62,6 +89,7 @@ export default class TestRunner {
|
|
|
62
89
|
await r;
|
|
63
90
|
}
|
|
64
91
|
results.push({ name });
|
|
92
|
+
await thisParam.driver.config.deleteDatabase?.(thisParam.driver);
|
|
65
93
|
} catch (error) {
|
|
66
94
|
results.unshift({ name, error });
|
|
67
95
|
}
|
|
@@ -77,6 +105,13 @@ export default class TestRunner {
|
|
|
77
105
|
continue;
|
|
78
106
|
}
|
|
79
107
|
if (iterator.name.endsWith(".js")) {
|
|
108
|
+
if (testFile) {
|
|
109
|
+
if (next !== testFile) {
|
|
110
|
+
if(testFile !== path.resolve(next)) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
80
115
|
for (const driver of this.drivers) {
|
|
81
116
|
tasks.push(this.runTest(next, { driver, db }));
|
|
82
117
|
}
|