@antelopejs/postgres 0.3.0 → 0.4.1
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/README.md +5 -5
- package/dist/config.d.ts +1 -1
- package/dist/config.js +51 -0
- package/dist/config.js.map +1 -1
- package/dist/implementations/database/external-access.d.ts +22 -0
- package/dist/implementations/database/external-access.js +59 -0
- package/dist/implementations/database/external-access.js.map +1 -0
- package/dist/implementations/database/external-catalog.d.ts +0 -1
- package/dist/implementations/database/external-catalog.js +2 -3
- package/dist/implementations/database/external-catalog.js.map +1 -1
- package/dist/implementations/database/external-discovery.d.ts +1 -15
- package/dist/implementations/database/external-discovery.js +4 -44
- package/dist/implementations/database/external-discovery.js.map +1 -1
- package/dist/implementations/database/external-profile.d.ts +1 -1
- package/dist/implementations/database/external-profile.js.map +1 -1
- package/dist/implementations/database/external-reference.js.map +1 -1
- package/dist/implementations/database/external-sample.d.ts +1 -1
- package/dist/implementations/database/member.js.map +1 -1
- package/dist/implementations/database/result.js +2 -3
- package/dist/implementations/database/result.js.map +1 -1
- package/dist/implementations/database/schema.d.ts +1 -0
- package/dist/implementations/database/schema.js +4 -0
- package/dist/implementations/database/schema.js.map +1 -1
- package/dist/pg-connection-parameters.d.ts +17 -0
- package/dist/pg-connection-parameters.js +8 -0
- package/dist/pg-connection-parameters.js.map +1 -0
- package/dist/probe-parameters.d.ts +5 -0
- package/dist/probe-parameters.js +44 -0
- package/dist/probe-parameters.js.map +1 -0
- package/dist/probe-url.d.ts +9 -0
- package/dist/probe-url.js +54 -0
- package/dist/probe-url.js.map +1 -0
- package/dist/probe.d.ts +2 -0
- package/dist/probe.js +188 -0
- package/dist/probe.js.map +1 -0
- package/dist/test/atomic.test.js +49 -32
- package/dist/test/atomic.test.js.map +1 -1
- package/dist/test/contention.test.js +20 -16
- package/dist/test/contention.test.js.map +1 -1
- package/dist/test/convergence.test.d.ts +1 -0
- package/dist/test/convergence.test.js +9 -0
- package/dist/test/convergence.test.js.map +1 -0
- package/dist/test/duplicate-key.test.js +38 -18
- package/dist/test/duplicate-key.test.js.map +1 -1
- package/dist/test/indexes.test.js +14 -13
- package/dist/test/indexes.test.js.map +1 -1
- package/dist/test/nested-paths.test.js +27 -18
- package/dist/test/nested-paths.test.js.map +1 -1
- package/dist/test/typed-operations.test.js +55 -38
- package/dist/test/typed-operations.test.js.map +1 -1
- package/dist/test/unit/config-fixture.d.ts +2 -0
- package/dist/test/unit/config-fixture.js +11 -0
- package/dist/test/unit/config-fixture.js.map +1 -0
- package/dist/test/unit/config.spec.js +2 -32
- package/dist/test/unit/config.spec.js.map +1 -1
- package/dist/test/unit/config.untyped.spec.d.ts +1 -0
- package/dist/test/unit/config.untyped.spec.js +34 -0
- package/dist/test/unit/config.untyped.spec.js.map +1 -0
- package/dist/test/unit/expression-array-walk.spec.js +0 -8
- package/dist/test/unit/expression-array-walk.spec.js.map +1 -1
- package/dist/test/unit/expression-array-walk.untyped.spec.d.ts +1 -0
- package/dist/test/unit/expression-array-walk.untyped.spec.js +17 -0
- package/dist/test/unit/expression-array-walk.untyped.spec.js.map +1 -0
- package/dist/test/unit/expression-array.spec.js +0 -18
- package/dist/test/unit/expression-array.spec.js.map +1 -1
- package/dist/test/unit/expression-array.untyped.spec.d.ts +1 -0
- package/dist/test/unit/expression-array.untyped.spec.js +32 -0
- package/dist/test/unit/expression-array.untyped.spec.js.map +1 -0
- package/dist/test/unit/expression-date.spec.js +0 -21
- package/dist/test/unit/expression-date.spec.js.map +1 -1
- package/dist/test/unit/expression-date.untyped.spec.d.ts +1 -0
- package/dist/test/unit/expression-date.untyped.spec.js +33 -0
- package/dist/test/unit/expression-date.untyped.spec.js.map +1 -0
- package/dist/test/unit/expression-numeric.spec.js +0 -20
- package/dist/test/unit/expression-numeric.spec.js.map +1 -1
- package/dist/test/unit/expression-numeric.untyped.spec.d.ts +1 -0
- package/dist/test/unit/expression-numeric.untyped.spec.js +31 -0
- package/dist/test/unit/expression-numeric.untyped.spec.js.map +1 -0
- package/dist/test/unit/expression-object.spec.js +0 -12
- package/dist/test/unit/expression-object.spec.js.map +1 -1
- package/dist/test/unit/expression-object.untyped.spec.d.ts +1 -0
- package/dist/test/unit/expression-object.untyped.spec.js +23 -0
- package/dist/test/unit/expression-object.untyped.spec.js.map +1 -0
- package/dist/test/unit/expression-string.spec.js +0 -5
- package/dist/test/unit/expression-string.spec.js.map +1 -1
- package/dist/test/unit/expression-string.untyped.spec.d.ts +1 -0
- package/dist/test/unit/expression-string.untyped.spec.js +14 -0
- package/dist/test/unit/expression-string.untyped.spec.js.map +1 -0
- package/dist/test/unit/expression.spec.js +0 -16
- package/dist/test/unit/expression.spec.js.map +1 -1
- package/dist/test/unit/expression.untyped.spec.d.ts +1 -0
- package/dist/test/unit/expression.untyped.spec.js +29 -0
- package/dist/test/unit/expression.untyped.spec.js.map +1 -0
- package/dist/test/unit/feeds-fixture.d.ts +30 -0
- package/dist/test/unit/feeds-fixture.js +65 -0
- package/dist/test/unit/feeds-fixture.js.map +1 -0
- package/dist/test/unit/feeds.spec.js +80 -143
- package/dist/test/unit/feeds.spec.js.map +1 -1
- package/dist/test/unit/feeds.untyped.spec.d.ts +1 -0
- package/dist/test/unit/feeds.untyped.spec.js +22 -0
- package/dist/test/unit/feeds.untyped.spec.js.map +1 -0
- package/dist/test/unit/fields.spec.js +0 -5
- package/dist/test/unit/fields.spec.js.map +1 -1
- package/dist/test/unit/fields.untyped.spec.d.ts +1 -0
- package/dist/test/unit/fields.untyped.spec.js +12 -0
- package/dist/test/unit/fields.untyped.spec.js.map +1 -0
- package/dist/test/unit/pipeline-fold-fixture.d.ts +10 -0
- package/dist/test/unit/pipeline-fold-fixture.js +46 -0
- package/dist/test/unit/pipeline-fold-fixture.js.map +1 -0
- package/dist/test/unit/pipeline-group.spec.js +0 -3
- package/dist/test/unit/pipeline-group.spec.js.map +1 -1
- package/dist/test/unit/pipeline-group.untyped.spec.d.ts +1 -0
- package/dist/test/unit/pipeline-group.untyped.spec.js +11 -0
- package/dist/test/unit/pipeline-group.untyped.spec.js.map +1 -0
- package/dist/test/unit/pipeline-lambda-ids.untyped.spec.d.ts +1 -0
- package/dist/test/unit/{pipeline-lambda-ids.spec.js → pipeline-lambda-ids.untyped.spec.js} +7 -7
- package/dist/test/unit/pipeline-lambda-ids.untyped.spec.js.map +1 -0
- package/dist/test/unit/pipeline-projection.spec.js +0 -7
- package/dist/test/unit/pipeline-projection.spec.js.map +1 -1
- package/dist/test/unit/pipeline-projection.untyped.spec.d.ts +1 -0
- package/dist/test/unit/pipeline-projection.untyped.spec.js +16 -0
- package/dist/test/unit/pipeline-projection.untyped.spec.js.map +1 -0
- package/dist/test/unit/pipeline-selection.spec.js +0 -31
- package/dist/test/unit/pipeline-selection.spec.js.map +1 -1
- package/dist/test/unit/pipeline-selection.untyped.spec.d.ts +1 -0
- package/dist/test/unit/pipeline-selection.untyped.spec.js +44 -0
- package/dist/test/unit/pipeline-selection.untyped.spec.js.map +1 -0
- package/dist/test/unit/pipeline.spec.js +6 -54
- package/dist/test/unit/pipeline.spec.js.map +1 -1
- package/dist/test/unit/pipeline.untyped.spec.d.ts +1 -0
- package/dist/test/unit/pipeline.untyped.spec.js +21 -0
- package/dist/test/unit/pipeline.untyped.spec.js.map +1 -0
- package/dist/test/unit/probe-parameters.spec.d.ts +1 -0
- package/dist/test/unit/probe-parameters.spec.js +17 -0
- package/dist/test/unit/probe-parameters.spec.js.map +1 -0
- package/dist/test/unit/selection-fixture.d.ts +15 -0
- package/dist/test/unit/selection-fixture.js +41 -0
- package/dist/test/unit/selection-fixture.js.map +1 -0
- package/dist/test/unit/selection.spec.js +45 -83
- package/dist/test/unit/selection.spec.js.map +1 -1
- package/dist/test/unit/selection.untyped.spec.d.ts +1 -0
- package/dist/test/unit/selection.untyped.spec.js +19 -0
- package/dist/test/unit/selection.untyped.spec.js.map +1 -0
- package/dist/test/unit/ssl-url.spec.d.ts +1 -0
- package/dist/test/unit/ssl-url.spec.js +147 -0
- package/dist/test/unit/ssl-url.spec.js.map +1 -0
- package/dist/test/unit/utils.spec.js +0 -13
- package/dist/test/unit/utils.spec.js.map +1 -1
- package/dist/test/unit/utils.untyped.spec.d.ts +1 -0
- package/dist/test/unit/utils.untyped.spec.js +21 -0
- package/dist/test/unit/utils.untyped.spec.js.map +1 -0
- package/dist/test/unit/value.spec.js +0 -4
- package/dist/test/unit/value.spec.js.map +1 -1
- package/dist/test/unit/value.untyped.spec.d.ts +1 -0
- package/dist/test/unit/value.untyped.spec.js +12 -0
- package/dist/test/unit/value.untyped.spec.js.map +1 -0
- package/dist/test/unit/writes-insert.spec.js +0 -9
- package/dist/test/unit/writes-insert.spec.js.map +1 -1
- package/dist/test/unit/writes-insert.untyped.spec.d.ts +1 -0
- package/dist/test/unit/writes-insert.untyped.spec.js +18 -0
- package/dist/test/unit/writes-insert.untyped.spec.js.map +1 -0
- package/dist/test/unit/writes-replace.spec.js +0 -3
- package/dist/test/unit/writes-replace.spec.js.map +1 -1
- package/dist/test/unit/writes-replace.untyped.spec.d.ts +1 -0
- package/dist/test/unit/writes-replace.untyped.spec.js +12 -0
- package/dist/test/unit/writes-replace.untyped.spec.js.map +1 -0
- package/dist/test/unit/writes-update.spec.js +0 -6
- package/dist/test/unit/writes-update.spec.js.map +1 -1
- package/dist/test/unit/writes-update.untyped.spec.d.ts +1 -0
- package/dist/test/unit/writes-update.untyped.spec.js +13 -0
- package/dist/test/unit/writes-update.untyped.spec.js.map +1 -0
- package/dist/test-external/catalog.test.js +1 -4
- package/dist/test-external/catalog.test.js.map +1 -1
- package/dist/test-external/native.test.js +19 -10
- package/dist/test-external/native.test.js.map +1 -1
- package/dist/test-external/probe-access.test.js +90 -0
- package/dist/test-external/probe-access.test.js.map +1 -0
- package/dist/test-external/probe-closing.test.d.ts +1 -0
- package/dist/test-external/probe-closing.test.js +111 -0
- package/dist/test-external/probe-closing.test.js.map +1 -0
- package/dist/test-external/probe-fixture.d.ts +36 -0
- package/dist/test-external/probe-fixture.js +166 -0
- package/dist/test-external/probe-fixture.js.map +1 -0
- package/dist/test-external/probe-refusals.test.d.ts +1 -0
- package/dist/test-external/probe-refusals.test.js +110 -0
- package/dist/test-external/probe-refusals.test.js.map +1 -0
- package/dist/test-external/probe-url.test.d.ts +1 -0
- package/dist/test-external/probe-url.test.js +242 -0
- package/dist/test-external/probe-url.test.js.map +1 -0
- package/dist/test-external/reads.test.js +51 -26
- package/dist/test-external/reads.test.js.map +1 -1
- package/dist/test-external/refusals.test.js +12 -7
- package/dist/test-external/refusals.test.js.map +1 -1
- package/dist/test-external/registration.test.js +8 -0
- package/dist/test-external/registration.test.js.map +1 -1
- package/dist/test-external/relays.d.ts +27 -0
- package/dist/test-external/relays.js +176 -0
- package/dist/test-external/relays.js.map +1 -0
- package/dist/test-external/sales.d.ts +4 -1
- package/dist/test-external/sales.js +38 -1
- package/dist/test-external/sales.js.map +1 -1
- package/dist/test-external/writes.test.js +84 -48
- package/dist/test-external/writes.test.js.map +1 -1
- package/package.json +11 -9
- package/dist/test/unit/pipeline-lambda-ids.spec.js.map +0 -1
- /package/dist/{test/unit/pipeline-lambda-ids.spec.d.ts → test-external/probe-access.test.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.test.js","sourceRoot":"","sources":["../../src/test-external/catalog.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.test.js","sourceRoot":"","sources":["../../src/test-external/catalog.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,8 @@ async function Plan(query) {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
describe("an external key that its column cannot hold", () => {
|
|
36
|
-
before(async ()
|
|
36
|
+
before(async function () {
|
|
37
|
+
this.timeout(sales_1.REGISTRATION_TIMEOUT_MS);
|
|
37
38
|
sales = await (0, sales_1.RegisterSales)();
|
|
38
39
|
});
|
|
39
40
|
for (const [table, key] of [
|
|
@@ -47,18 +48,20 @@ describe("an external key that its column cannot hold", () => {
|
|
|
47
48
|
["order_lines", '["x", "1"]'],
|
|
48
49
|
]) {
|
|
49
50
|
it(`gets nothing for ${key} on ${table}, rather than failing the request`, async () => {
|
|
50
|
-
(0, chai_1.expect)(await Table(table).get(key)).to.equal(undefined);
|
|
51
|
+
(0, chai_1.expect)(await Table(table).get(key).run()).to.equal(undefined);
|
|
51
52
|
});
|
|
52
53
|
}
|
|
53
54
|
it("filters nothing for an enum label the type does not have", async () => {
|
|
54
55
|
const total = await Table("accounts")
|
|
55
56
|
.filter((row) => row.key("status").eq("archived"))
|
|
56
|
-
.count()
|
|
57
|
+
.count()
|
|
58
|
+
.run();
|
|
57
59
|
(0, chai_1.expect)(total).to.equal(0);
|
|
58
60
|
});
|
|
59
61
|
});
|
|
60
62
|
describe("the indexes that serve reads of an external relation", () => {
|
|
61
|
-
before(async ()
|
|
63
|
+
before(async function () {
|
|
64
|
+
this.timeout(sales_1.REGISTRATION_TIMEOUT_MS);
|
|
62
65
|
sales = await (0, sales_1.RegisterSales)();
|
|
63
66
|
});
|
|
64
67
|
it("gets by a bigint _id through the primary key index", async () => {
|
|
@@ -82,13 +85,15 @@ describe("the indexes that serve reads of an external relation", () => {
|
|
|
82
85
|
});
|
|
83
86
|
});
|
|
84
87
|
describe("numbers read from an external relation's exact types", () => {
|
|
85
|
-
before(async ()
|
|
88
|
+
before(async function () {
|
|
89
|
+
this.timeout(sales_1.REGISTRATION_TIMEOUT_MS);
|
|
86
90
|
sales = await (0, sales_1.RegisterSales)();
|
|
87
91
|
});
|
|
88
92
|
it("sums a numeric column exactly", async () => {
|
|
89
93
|
const total = await Table("accounts")
|
|
90
94
|
.filter((row) => row.key("active").eq(true))
|
|
91
|
-
.sum("revenue")
|
|
95
|
+
.sum("revenue")
|
|
96
|
+
.run();
|
|
92
97
|
const [expected] = await (0, sales_1.Native)("SELECT sum(revenue)::double precision AS total FROM sales.accounts WHERE active");
|
|
93
98
|
(0, chai_1.expect)(total).to.equal(expected.total);
|
|
94
99
|
});
|
|
@@ -103,13 +108,15 @@ describe("numbers read from an external relation's exact types", () => {
|
|
|
103
108
|
it(`keeps the meaning of '${operator} 5.5' on an integer column`, async () => {
|
|
104
109
|
const total = await Table("accounts")
|
|
105
110
|
.filter((row) => row.key("score")[method](5.5))
|
|
106
|
-
.count()
|
|
111
|
+
.count()
|
|
112
|
+
.run();
|
|
107
113
|
(0, chai_1.expect)(total).to.equal(await (0, sales_1.NativeCount)(`SELECT count(*) FROM sales.accounts WHERE score ${operator} 5.5`));
|
|
108
114
|
});
|
|
109
115
|
}
|
|
110
116
|
});
|
|
111
117
|
describe("inequality against an external column's own type", () => {
|
|
112
|
-
before(async ()
|
|
118
|
+
before(async function () {
|
|
119
|
+
this.timeout(sales_1.REGISTRATION_TIMEOUT_MS);
|
|
113
120
|
sales = await (0, sales_1.RegisterSales)();
|
|
114
121
|
});
|
|
115
122
|
const INEQUALITIES = [
|
|
@@ -122,10 +129,12 @@ describe("inequality against an external column's own type", () => {
|
|
|
122
129
|
it(`answers ${field} ne ${JSON.stringify(value)} as the complement of eq, keeping NULL rows`, async () => {
|
|
123
130
|
const unequal = await Table("flags")
|
|
124
131
|
.filter((row) => row.key(field).ne(value))
|
|
125
|
-
.count()
|
|
132
|
+
.count()
|
|
133
|
+
.run();
|
|
126
134
|
const equal = await Table("flags")
|
|
127
135
|
.filter((row) => row.key(field).eq(value))
|
|
128
|
-
.count()
|
|
136
|
+
.count()
|
|
137
|
+
.run();
|
|
129
138
|
(0, chai_1.expect)(unequal).to.equal(expected);
|
|
130
139
|
(0, chai_1.expect)(unequal + equal).to.equal(2);
|
|
131
140
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.test.js","sourceRoot":"","sources":["../../src/test-external/native.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAI9B,8CAA8C;AAC9C,+DAA4D;AAC5D,qEAAkE;AAClE,iEAAsE;AACtE,mEAAuE;AACvE,uEAA2E;AAC3E,mEAG8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"native.test.js","sourceRoot":"","sources":["../../src/test-external/native.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAI9B,8CAA8C;AAC9C,+DAA4D;AAC5D,qEAAkE;AAClE,iEAAsE;AACtE,mEAAuE;AACvE,uEAA2E;AAC3E,mEAG8C;AAC9C,mCAMiB;AAIjB,IAAI,KAA0B,CAAC;AAE/B,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAMD,KAAK,UAAU,IAAI,CAAC,KAAmB;IACrC,MAAM,OAAO,GAAG,IAAI,yBAAe,CAAC;QAClC,UAAU,EAAE,8BAAiB;QAC7B,QAAQ,EAAE,0BAAe;QACzB,QAAQ,EAAE,0BAAe;KAC1B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,IAAA,sBAAW,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,GAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,WAAW,GAAG,EAAE,EAChB,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CACrB,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;IAC3D,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,OAAO,CAAC,+BAAuB,CAAC,CAAC;QACtC,KAAK,GAAG,MAAM,IAAA,qBAAa,GAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI;QACzB,CAAC,UAAU,EAAE,YAAY,CAAC;QAC1B,CAAC,UAAU,EAAE,OAAO,CAAC;QACrB,CAAC,UAAU,EAAE,sBAAsB,CAAC;QACpC,CAAC,aAAa,EAAE,UAAU,CAAC;QAC3B,CAAC,aAAa,EAAE,KAAK,CAAC;QACtB,CAAC,aAAa,EAAE,OAAO,CAAC;QACxB,CAAC,aAAa,EAAE,iBAAiB,CAAC;QAClC,CAAC,aAAa,EAAE,YAAY,CAAC;KAC9B,EAAE,CAAC;QACF,EAAE,CAAC,oBAAoB,GAAG,OAAO,KAAK,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACpF,IAAA,aAAM,EAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;aAClC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;aACjD,KAAK,EAAE;aACP,GAAG,EAAE,CAAC;QACT,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;IACpE,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,OAAO,CAAC,+BAAuB,CAAC,CAAC;QACtC,KAAK,GAAG,MAAM,IAAA,qBAAa,GAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACnE,kBAAkB,CACnB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;aAC5B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAClD,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7C,GAAG;aACA,GAAG,CAAC,YAAY,CAAC;aACjB,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC;aACpC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CACnE,CAAC;QACF,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;IACpE,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,OAAO,CAAC,+BAAuB,CAAC,CAAC;QACtC,KAAK,GAAG,MAAM,IAAA,qBAAa,GAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;aAClC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;aAC3C,GAAG,CAAC,SAAS,CAAC;aACd,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAA,cAAM,EAC7B,iFAAiF,CAClF,CAAC;QACF,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAkC;QACzD,CAAC,IAAI,EAAE,GAAG,CAAC;QACX,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,IAAI,EAAE,GAAG,CAAC;QACX,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,IAAI,EAAE,GAAG,CAAC;KACZ,CAAC;IAEF,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACrD,EAAE,CAAC,yBAAyB,QAAQ,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;iBAClC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC9C,KAAK,EAAE;iBACP,GAAG,EAAE,CAAC;YACT,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CACpB,MAAM,IAAA,mBAAW,EACf,mDAAmD,QAAQ,MAAM,CAClE,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAChE,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,OAAO,CAAC,+BAAuB,CAAC,CAAC;QACtC,KAAK,GAAG,MAAM,IAAA,qBAAa,GAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAwC;QACxD,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACxB,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACd,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;KACZ,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,YAAY,EAAE,CAAC;QACpD,EAAE,CAAC,WAAW,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YACvG,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;iBACjC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;iBACzC,KAAK,EAAE;iBACP,GAAG,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;iBAC/B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;iBACzC,KAAK,EAAE;iBACP,GAAG,EAAE,CAAC;YACT,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAA,aAAM,EAAC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_child_process_1 = require("node:child_process");
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const node_util_1 = require("node:util");
|
|
9
|
+
const chai_1 = require("chai");
|
|
10
|
+
const config_1 = require("../config");
|
|
11
|
+
const connection_1 = require("../connection");
|
|
12
|
+
const catalog_1 = require("../implementations/catalog");
|
|
13
|
+
const probe_fixture_1 = require("./probe-fixture");
|
|
14
|
+
const run = (0, node_util_1.promisify)(node_child_process_1.execFile);
|
|
15
|
+
const EXTERNAL = "external";
|
|
16
|
+
const CASES = [
|
|
17
|
+
{ role: probe_fixture_1.LOGIN.reader, canRead: true, canWrite: false },
|
|
18
|
+
{ role: probe_fixture_1.LOGIN.writer, canRead: true, canWrite: true },
|
|
19
|
+
{ role: probe_fixture_1.LOGIN.updater, canRead: false, canWrite: true },
|
|
20
|
+
{ role: probe_fixture_1.LOGIN.deleter, canRead: false, canWrite: true },
|
|
21
|
+
{ role: probe_fixture_1.LOGIN.columns, canRead: false, canWrite: false },
|
|
22
|
+
{ role: probe_fixture_1.LOGIN.blind, canRead: false, canWrite: false },
|
|
23
|
+
{ role: probe_fixture_1.LOGIN.unseen, canRead: true, canWrite: false },
|
|
24
|
+
{ role: probe_fixture_1.LOGIN.grantee, canRead: true, canWrite: false },
|
|
25
|
+
];
|
|
26
|
+
async function CatalogAccess(url) {
|
|
27
|
+
await (0, connection_1.Connect)({ mode: EXTERNAL, url, catalog: { enabled: true } });
|
|
28
|
+
const relations = await (0, catalog_1.ListRelations)();
|
|
29
|
+
return {
|
|
30
|
+
canRead: relations.length === 0 ||
|
|
31
|
+
relations.some((relation) => relation.unmappable === undefined),
|
|
32
|
+
canWrite: relations.some(({ writes }) => writes.insert || writes.update || writes.delete),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const PLAIN_NODE_SCRIPT = `
|
|
36
|
+
const Module = require("node:module");
|
|
37
|
+
const resolve = Module._resolveFilename;
|
|
38
|
+
Module._resolveFilename = function (request, ...rest) {
|
|
39
|
+
if (request.startsWith("@antelopejs/")) throw new Error("required " + request);
|
|
40
|
+
return resolve.call(this, request, ...rest);
|
|
41
|
+
};
|
|
42
|
+
const { probe } = require(process.argv[1]);
|
|
43
|
+
probe({ url: process.argv[2], timeoutMs: 5000, signal: new AbortController().signal })
|
|
44
|
+
.then((answer) => process.stdout.write(JSON.stringify(answer)));
|
|
45
|
+
`;
|
|
46
|
+
describe("the connection probe's access", function () {
|
|
47
|
+
this.timeout(60_000);
|
|
48
|
+
(0, probe_fixture_1.WithProbeLogins)();
|
|
49
|
+
describe("compared with the catalog", () => {
|
|
50
|
+
const { url, catalog } = (0, config_1.GetOptions)();
|
|
51
|
+
after(async () => {
|
|
52
|
+
await (0, connection_1.Connect)({ mode: EXTERNAL, url, catalog });
|
|
53
|
+
});
|
|
54
|
+
for (const { role, canRead, canWrite } of CASES) {
|
|
55
|
+
it(`answers ${role} with the access the catalog gives it`, async () => {
|
|
56
|
+
const login = (0, probe_fixture_1.LoginUrl)(role);
|
|
57
|
+
const answer = (0, probe_fixture_1.SignedIn)(await (0, probe_fixture_1.Probe)(login));
|
|
58
|
+
(0, chai_1.expect)(answer).to.include({ user: role, canRead, canWrite });
|
|
59
|
+
(0, chai_1.expect)(answer).to.not.have.property("unreadable");
|
|
60
|
+
(0, chai_1.expect)(answer.latencyMs).to.be.at.least(1);
|
|
61
|
+
(0, chai_1.expect)({ canRead, canWrite }).to.deep.equal(await CatalogAccess(login));
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
it("answers signed-in and cannot-list when the relation listing fails after the sign-in", async () => {
|
|
66
|
+
const answer = (0, probe_fixture_1.SignedIn)(await (0, probe_fixture_1.Probe)((0, probe_fixture_1.LoginUrl)(probe_fixture_1.LOGIN.trapped)));
|
|
67
|
+
(0, chai_1.expect)(answer).to.include({
|
|
68
|
+
user: probe_fixture_1.LOGIN.trapped,
|
|
69
|
+
canRead: false,
|
|
70
|
+
canWrite: false,
|
|
71
|
+
unreadable: "cannot-list",
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
it("answers from a plain Node process that cannot load any @antelopejs package", async () => {
|
|
75
|
+
const built = node_path_1.default.join(__dirname, "..", "probe.js");
|
|
76
|
+
const { stdout } = await run(process.execPath, [
|
|
77
|
+
"-e",
|
|
78
|
+
PLAIN_NODE_SCRIPT,
|
|
79
|
+
built,
|
|
80
|
+
(0, probe_fixture_1.LoginUrl)(probe_fixture_1.LOGIN.reader),
|
|
81
|
+
]);
|
|
82
|
+
(0, chai_1.expect)(JSON.parse(stdout)).to.include({
|
|
83
|
+
outcome: "signed-in",
|
|
84
|
+
user: probe_fixture_1.LOGIN.reader,
|
|
85
|
+
canRead: true,
|
|
86
|
+
canWrite: false,
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=probe-access.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe-access.test.js","sourceRoot":"","sources":["../../src/test-external/probe-access.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_events_1 = require("node:events");
|
|
4
|
+
const chai_1 = require("chai");
|
|
5
|
+
const probe_fixture_1 = require("./probe-fixture");
|
|
6
|
+
const relays_1 = require("./relays");
|
|
7
|
+
const CLOSE_SETTLE_MS = 1000;
|
|
8
|
+
const GRACE_SETTLE_MS = 500;
|
|
9
|
+
const ABORT_SETTLE_MS = 100;
|
|
10
|
+
const QUERY_MESSAGE = 0x51;
|
|
11
|
+
const TERMINATE_MESSAGE = 0x58;
|
|
12
|
+
function SaysGoodbye(chunk, fromClient) {
|
|
13
|
+
return fromClient && chunk[0] === TERMINATE_MESSAGE;
|
|
14
|
+
}
|
|
15
|
+
async function WithRelay(relay, check) {
|
|
16
|
+
const sockets = (0, relays_1.WatchClientSockets)(relay.port);
|
|
17
|
+
try {
|
|
18
|
+
await check(relay, sockets);
|
|
19
|
+
}
|
|
20
|
+
finally {
|
|
21
|
+
sockets.stop();
|
|
22
|
+
await relay.close();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function ReaderOn(relay) {
|
|
26
|
+
return (0, probe_fixture_1.OnPort)((0, probe_fixture_1.LoginUrl)(probe_fixture_1.LOGIN.reader), relay.port);
|
|
27
|
+
}
|
|
28
|
+
describe("the connection probe's closing", function () {
|
|
29
|
+
this.timeout(60_000);
|
|
30
|
+
(0, probe_fixture_1.WithProbeLogins)();
|
|
31
|
+
it("closes its connection once it has answered", async () => {
|
|
32
|
+
await WithRelay(await (0, relays_1.StartRelayTo)((0, probe_fixture_1.ServerPort)()), async (relay) => {
|
|
33
|
+
(0, probe_fixture_1.SignedIn)(await (0, probe_fixture_1.Probe)(ReaderOn(relay)));
|
|
34
|
+
(0, chai_1.expect)(await relay.openAfter(CLOSE_SETTLE_MS)).to.equal(0);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
it("shuts its socket when the server ignores the goodbye", async () => {
|
|
38
|
+
const relay = await (0, relays_1.StartRelayIgnoringGoodbye)((0, probe_fixture_1.ServerPort)(), SaysGoodbye);
|
|
39
|
+
await WithRelay(relay, async (_, sockets) => {
|
|
40
|
+
const answer = (0, probe_fixture_1.SignedIn)(await (0, probe_fixture_1.Probe)(ReaderOn(relay)));
|
|
41
|
+
(0, chai_1.expect)(answer).to.include({ user: probe_fixture_1.LOGIN.reader, canRead: true });
|
|
42
|
+
(0, chai_1.expect)(await sockets.settle(GRACE_SETTLE_MS)).to.deep.equal({
|
|
43
|
+
opened: 1,
|
|
44
|
+
open: 0,
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
it("leaves no listener on the signal once it has closed", async () => {
|
|
49
|
+
await WithRelay(await (0, relays_1.StartRelayTo)((0, probe_fixture_1.ServerPort)()), async (relay) => {
|
|
50
|
+
const { signal } = new AbortController();
|
|
51
|
+
(0, probe_fixture_1.SignedIn)(await (0, probe_fixture_1.Probe)(ReaderOn(relay), signal));
|
|
52
|
+
(0, probe_fixture_1.SignedIn)(await (0, probe_fixture_1.Probe)(ReaderOn(relay), signal));
|
|
53
|
+
(0, chai_1.expect)(await relay.openAfter(CLOSE_SETTLE_MS)).to.equal(0);
|
|
54
|
+
(0, chai_1.expect)((0, node_events_1.getEventListeners)(signal, "abort")).to.have.length(0);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
it("shuts its socket at once when the signal aborts while it closes", async () => {
|
|
58
|
+
const relay = await (0, relays_1.StartRelayIgnoringGoodbye)((0, probe_fixture_1.ServerPort)(), SaysGoodbye);
|
|
59
|
+
await WithRelay(relay, async (_, sockets) => {
|
|
60
|
+
const controller = new AbortController();
|
|
61
|
+
(0, probe_fixture_1.SignedIn)(await (0, probe_fixture_1.Probe)(ReaderOn(relay), controller.signal));
|
|
62
|
+
controller.abort();
|
|
63
|
+
(0, chai_1.expect)(await sockets.settle(ABORT_SETTLE_MS)).to.deep.equal({
|
|
64
|
+
opened: 1,
|
|
65
|
+
open: 0,
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
it("answers unreachable and closes when the server stops answering after the sign-in", async () => {
|
|
70
|
+
const stall = (chunk, fromClient) => fromClient && chunk[0] === QUERY_MESSAGE;
|
|
71
|
+
await WithRelay(await (0, relays_1.StartRelayTo)((0, probe_fixture_1.ServerPort)(), stall), async (relay) => {
|
|
72
|
+
const answer = await (0, probe_fixture_1.Probe)(ReaderOn(relay));
|
|
73
|
+
(0, chai_1.expect)(answer.outcome).to.equal("unreachable");
|
|
74
|
+
(0, chai_1.expect)(await relay.openAfter(CLOSE_SETTLE_MS)).to.equal(0);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
it("answers aborted at once and shuts its socket when the signal aborts", async () => {
|
|
78
|
+
const controller = new AbortController();
|
|
79
|
+
let abortedAt = 0;
|
|
80
|
+
const stall = (chunk, fromClient) => {
|
|
81
|
+
const stalls = fromClient && chunk[0] === QUERY_MESSAGE;
|
|
82
|
+
if (stalls && abortedAt === 0) {
|
|
83
|
+
abortedAt = performance.now();
|
|
84
|
+
controller.abort();
|
|
85
|
+
}
|
|
86
|
+
return stalls;
|
|
87
|
+
};
|
|
88
|
+
const relay = await (0, relays_1.StartRelayTo)((0, probe_fixture_1.ServerPort)(), stall);
|
|
89
|
+
await WithRelay(relay, async (_, sockets) => {
|
|
90
|
+
const answer = await (0, probe_fixture_1.Probe)(ReaderOn(relay), controller.signal);
|
|
91
|
+
(0, chai_1.expect)(performance.now() - abortedAt).to.be.lessThan(ABORT_SETTLE_MS);
|
|
92
|
+
(0, chai_1.expect)(answer).to.deep.equal(probe_fixture_1.ABORTED_ANSWER);
|
|
93
|
+
(0, chai_1.expect)(await sockets.settle(ABORT_SETTLE_MS)).to.deep.equal({
|
|
94
|
+
opened: 1,
|
|
95
|
+
open: 0,
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
it("answers aborted and opens nothing when the signal has already aborted", async () => {
|
|
100
|
+
const relay = await (0, relays_1.StartRelayTo)((0, probe_fixture_1.ServerPort)());
|
|
101
|
+
await WithRelay(relay, async (_, sockets) => {
|
|
102
|
+
const answer = await (0, probe_fixture_1.Probe)(ReaderOn(relay), AbortSignal.abort());
|
|
103
|
+
(0, chai_1.expect)(answer).to.deep.equal(probe_fixture_1.ABORTED_ANSWER);
|
|
104
|
+
(0, chai_1.expect)(await sockets.settle(ABORT_SETTLE_MS)).to.deep.equal({
|
|
105
|
+
opened: 0,
|
|
106
|
+
open: 0,
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=probe-closing.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe-closing.test.js","sourceRoot":"","sources":["../../src/test-external/probe-closing.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ProbeAnswer } from "@antelopejs/interface-database-catalog";
|
|
2
|
+
export declare const TIMEOUT_MS = 2000;
|
|
3
|
+
export declare const ABORTED_ANSWER: {
|
|
4
|
+
outcome: string;
|
|
5
|
+
message: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const LOGIN: {
|
|
8
|
+
readonly reader: "probe_reader";
|
|
9
|
+
readonly writer: "probe_writer";
|
|
10
|
+
readonly updater: "probe_updater";
|
|
11
|
+
readonly deleter: "probe_deleter";
|
|
12
|
+
readonly columns: "probe_columns";
|
|
13
|
+
readonly blind: "probe_blind";
|
|
14
|
+
readonly unseen: "probe_unseen";
|
|
15
|
+
readonly grantee: "probe@grantee";
|
|
16
|
+
readonly trapped: "probe_trapped";
|
|
17
|
+
};
|
|
18
|
+
export declare const NO_LOGIN = "probe_nologin";
|
|
19
|
+
export declare const LOCKED_DATABASE = "probe_locked";
|
|
20
|
+
export declare const SCRIBBLE_SCHEMA = "probe_scribble";
|
|
21
|
+
export declare function CountAsOwner(relation: string): Promise<number>;
|
|
22
|
+
export declare function WithEnvironment(values: Readonly<Record<string, string>>, check: () => Promise<void>): Promise<void>;
|
|
23
|
+
export declare function WithProbeLogins(): void;
|
|
24
|
+
export declare function Altered(url: string, change: (target: URL) => void): string;
|
|
25
|
+
export declare function LoginUrl(role: string, password?: string): string;
|
|
26
|
+
export declare function OnPort(url: string, port: number, host?: string): string;
|
|
27
|
+
export declare function ServerPort(): number;
|
|
28
|
+
export declare function Probe(url: string, signal?: AbortSignal): Promise<ProbeAnswer>;
|
|
29
|
+
export declare function SignedIn(answer: ProbeAnswer): {
|
|
30
|
+
outcome: "signed-in";
|
|
31
|
+
latencyMs: number;
|
|
32
|
+
user?: string;
|
|
33
|
+
canRead: boolean;
|
|
34
|
+
canWrite: boolean;
|
|
35
|
+
unreadable?: import("@antelopejs/interface-database-catalog").ProbeUnreadable;
|
|
36
|
+
};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SCRIBBLE_SCHEMA = exports.LOCKED_DATABASE = exports.NO_LOGIN = exports.LOGIN = exports.ABORTED_ANSWER = exports.TIMEOUT_MS = void 0;
|
|
4
|
+
exports.CountAsOwner = CountAsOwner;
|
|
5
|
+
exports.WithEnvironment = WithEnvironment;
|
|
6
|
+
exports.WithProbeLogins = WithProbeLogins;
|
|
7
|
+
exports.Altered = Altered;
|
|
8
|
+
exports.LoginUrl = LoginUrl;
|
|
9
|
+
exports.OnPort = OnPort;
|
|
10
|
+
exports.ServerPort = ServerPort;
|
|
11
|
+
exports.Probe = Probe;
|
|
12
|
+
exports.SignedIn = SignedIn;
|
|
13
|
+
const node_crypto_1 = require("node:crypto");
|
|
14
|
+
const chai_1 = require("chai");
|
|
15
|
+
const pg_1 = require("pg");
|
|
16
|
+
const probe_1 = require("../probe");
|
|
17
|
+
exports.TIMEOUT_MS = 2000;
|
|
18
|
+
const SECRET = (0, node_crypto_1.randomBytes)(6).toString("hex");
|
|
19
|
+
exports.ABORTED_ANSWER = {
|
|
20
|
+
outcome: "unreachable",
|
|
21
|
+
message: "The probe was aborted.",
|
|
22
|
+
};
|
|
23
|
+
exports.LOGIN = {
|
|
24
|
+
reader: "probe_reader",
|
|
25
|
+
writer: "probe_writer",
|
|
26
|
+
updater: "probe_updater",
|
|
27
|
+
deleter: "probe_deleter",
|
|
28
|
+
columns: "probe_columns",
|
|
29
|
+
blind: "probe_blind",
|
|
30
|
+
unseen: "probe_unseen",
|
|
31
|
+
grantee: "probe@grantee",
|
|
32
|
+
trapped: "probe_trapped",
|
|
33
|
+
};
|
|
34
|
+
exports.NO_LOGIN = "probe_nologin";
|
|
35
|
+
exports.LOCKED_DATABASE = "probe_locked";
|
|
36
|
+
const READERS_GROUP = "probe_readers";
|
|
37
|
+
const TEAM_GROUP = "probe_team";
|
|
38
|
+
const TRAP_SCHEMA = "probe_trap";
|
|
39
|
+
exports.SCRIBBLE_SCHEMA = "probe_scribble";
|
|
40
|
+
const GROUPS = [READERS_GROUP, TEAM_GROUP];
|
|
41
|
+
const ROLES = [...Object.values(exports.LOGIN), exports.NO_LOGIN, ...GROUPS];
|
|
42
|
+
function Quoted(role) {
|
|
43
|
+
return `"${role}"`;
|
|
44
|
+
}
|
|
45
|
+
const TEARDOWN = [
|
|
46
|
+
`DROP DATABASE IF EXISTS ${exports.LOCKED_DATABASE}`,
|
|
47
|
+
`DROP SCHEMA IF EXISTS ${TRAP_SCHEMA} CASCADE`,
|
|
48
|
+
`DROP SCHEMA IF EXISTS ${exports.SCRIBBLE_SCHEMA} CASCADE`,
|
|
49
|
+
`DO $$ DECLARE role text; BEGIN
|
|
50
|
+
FOREACH role IN ARRAY ARRAY[${ROLES.map((role) => `'${role}'`).join(", ")}] LOOP
|
|
51
|
+
IF EXISTS (SELECT 1 FROM pg_roles WHERE rolname = role) THEN
|
|
52
|
+
EXECUTE format('DROP OWNED BY %I', role);
|
|
53
|
+
EXECUTE format('DROP ROLE %I', role);
|
|
54
|
+
END IF;
|
|
55
|
+
END LOOP;
|
|
56
|
+
END $$`,
|
|
57
|
+
];
|
|
58
|
+
const SETUP = [
|
|
59
|
+
...TEARDOWN,
|
|
60
|
+
...Object.values(exports.LOGIN).map((role) => `CREATE ROLE ${Quoted(role)} LOGIN PASSWORD '${SECRET}'`),
|
|
61
|
+
`CREATE ROLE ${exports.NO_LOGIN} NOLOGIN PASSWORD '${SECRET}'`,
|
|
62
|
+
...GROUPS.map((role) => `CREATE ROLE ${role} NOLOGIN`),
|
|
63
|
+
`GRANT USAGE ON SCHEMA sales TO ${[exports.LOGIN.reader, exports.LOGIN.writer, exports.LOGIN.updater, exports.LOGIN.deleter, exports.LOGIN.columns, exports.LOGIN.blind, exports.LOGIN.trapped, READERS_GROUP].join(", ")}`,
|
|
64
|
+
`GRANT SELECT ON sales.countries TO ${exports.LOGIN.reader}, ${exports.LOGIN.trapped}, ${READERS_GROUP}`,
|
|
65
|
+
`GRANT SELECT, INSERT ON sales.countries TO ${exports.LOGIN.writer}`,
|
|
66
|
+
`GRANT UPDATE ON sales.countries TO ${exports.LOGIN.updater}`,
|
|
67
|
+
`GRANT DELETE ON sales.countries TO ${exports.LOGIN.deleter}`,
|
|
68
|
+
`GRANT SELECT (code) ON sales.countries TO ${exports.LOGIN.columns}`,
|
|
69
|
+
`GRANT ${READERS_GROUP} TO ${TEAM_GROUP}`,
|
|
70
|
+
`GRANT ${TEAM_GROUP} TO ${Quoted(exports.LOGIN.grantee)}`,
|
|
71
|
+
`CREATE SCHEMA ${TRAP_SCHEMA}`,
|
|
72
|
+
`CREATE FUNCTION ${TRAP_SCHEMA}.has_any_column_privilege(oid, text) RETURNS boolean
|
|
73
|
+
LANGUAGE plpgsql AS $$ BEGIN RAISE EXCEPTION 'the listing is refused'; END $$`,
|
|
74
|
+
`GRANT USAGE ON SCHEMA ${TRAP_SCHEMA} TO ${exports.LOGIN.trapped}`,
|
|
75
|
+
`ALTER ROLE ${exports.LOGIN.trapped} SET search_path = ${TRAP_SCHEMA}, pg_catalog`,
|
|
76
|
+
`CREATE SCHEMA ${exports.SCRIBBLE_SCHEMA}`,
|
|
77
|
+
`CREATE TABLE ${exports.SCRIBBLE_SCHEMA}.marks (n int)`,
|
|
78
|
+
`CREATE FUNCTION ${exports.SCRIBBLE_SCHEMA}.has_any_column_privilege(oid, text) RETURNS boolean
|
|
79
|
+
LANGUAGE plpgsql AS $$ BEGIN INSERT INTO ${exports.SCRIBBLE_SCHEMA}.marks VALUES (1); RETURN true; END $$`,
|
|
80
|
+
`GRANT USAGE ON SCHEMA ${exports.SCRIBBLE_SCHEMA} TO ${exports.LOGIN.writer}`,
|
|
81
|
+
`GRANT INSERT ON ${exports.SCRIBBLE_SCHEMA}.marks TO ${exports.LOGIN.writer}`,
|
|
82
|
+
`CREATE DATABASE ${exports.LOCKED_DATABASE}`,
|
|
83
|
+
`REVOKE CONNECT ON DATABASE ${exports.LOCKED_DATABASE} FROM PUBLIC`,
|
|
84
|
+
];
|
|
85
|
+
function OwnerUrl() {
|
|
86
|
+
const url = process.env.PG_TEST_CLIENT_OWNER_URL;
|
|
87
|
+
if (!url) {
|
|
88
|
+
throw new Error("PG_TEST_CLIENT_OWNER_URL is set by the test setup");
|
|
89
|
+
}
|
|
90
|
+
return url;
|
|
91
|
+
}
|
|
92
|
+
async function RunAsOwner(statements) {
|
|
93
|
+
const client = new pg_1.Client({ connectionString: OwnerUrl() });
|
|
94
|
+
await client.connect();
|
|
95
|
+
try {
|
|
96
|
+
for (const statement of statements) {
|
|
97
|
+
await client.query(statement);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
await client.end();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async function CountAsOwner(relation) {
|
|
105
|
+
const client = new pg_1.Client({ connectionString: OwnerUrl() });
|
|
106
|
+
await client.connect();
|
|
107
|
+
try {
|
|
108
|
+
const { rows } = await client.query(`SELECT count(*)::int AS n FROM ${relation}`);
|
|
109
|
+
return rows[0].n;
|
|
110
|
+
}
|
|
111
|
+
finally {
|
|
112
|
+
await client.end();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async function WithEnvironment(values, check) {
|
|
116
|
+
const previous = new Map(Object.keys(values).map((name) => [name, process.env[name]]));
|
|
117
|
+
Object.assign(process.env, values);
|
|
118
|
+
try {
|
|
119
|
+
await check();
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
for (const [name, value] of previous) {
|
|
123
|
+
if (value === undefined) {
|
|
124
|
+
delete process.env[name];
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
process.env[name] = value;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function WithProbeLogins() {
|
|
133
|
+
before(() => RunAsOwner(SETUP));
|
|
134
|
+
after(() => RunAsOwner(TEARDOWN));
|
|
135
|
+
}
|
|
136
|
+
function Altered(url, change) {
|
|
137
|
+
const target = new URL(url);
|
|
138
|
+
change(target);
|
|
139
|
+
return target.toString();
|
|
140
|
+
}
|
|
141
|
+
function LoginUrl(role, password = SECRET) {
|
|
142
|
+
return Altered(OwnerUrl(), (target) => {
|
|
143
|
+
target.username = role;
|
|
144
|
+
target.password = password;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function OnPort(url, port, host = "127.0.0.1") {
|
|
148
|
+
return Altered(url, (target) => {
|
|
149
|
+
target.hostname = host;
|
|
150
|
+
target.port = String(port);
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
function ServerPort() {
|
|
154
|
+
return Number(new URL(OwnerUrl()).port);
|
|
155
|
+
}
|
|
156
|
+
function Probe(url, signal = new AbortController().signal) {
|
|
157
|
+
return (0, probe_1.probe)({ url, timeoutMs: exports.TIMEOUT_MS, signal });
|
|
158
|
+
}
|
|
159
|
+
function SignedIn(answer) {
|
|
160
|
+
(0, chai_1.expect)(answer.outcome).to.equal("signed-in");
|
|
161
|
+
if (answer.outcome !== "signed-in") {
|
|
162
|
+
throw new Error("unreachable after the expectation");
|
|
163
|
+
}
|
|
164
|
+
return answer;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=probe-fixture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe-fixture.js","sourceRoot":"","sources":["../../src/test-external/probe-fixture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|