@yss123/cage-testkit 0.2.0 → 0.3.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/dist/session.d.ts CHANGED
@@ -1,2 +1,11 @@
1
+ /**
2
+ * 为安全视图集成测试构建会话级 PostgreSQL 上下文变量设置语句。
3
+ * 与内核事务级变量不同,这里刻意保持在测试专属读连接中,使裸 SQL 权限检查具有与身份一致的范围。
4
+ * 只返回 SQL 文本,不获取连接;应与独占测试连接配合,不能把不同用户共享在同一未隔离会话中。
5
+ */
1
6
  import type { Ctx } from '@yss123/cage-kernel';
7
+ /**
8
+ * 把身份、租户、部门路径、范围 JSON 和明文能力编码成 set_config 调用。
9
+ * false 表示会话级生效,空身份/部门编码为空字符串;调用方执行后负责连接归还和销毁。
10
+ */
2
11
  export declare function setSessionVarsSql(ctx: Ctx): string;
package/dist/session.js CHANGED
@@ -1,5 +1,12 @@
1
1
  import { scopesJson } from '@yss123/cage-kernel/db';
2
+ /**
3
+ * 对 PostgreSQL 字符串字面量中的单引号加倍,供固定变量设置语句使用,不处理任意 SQL 标识符。
4
+ */
2
5
  const lit = (s) => `'${s.replace(/'/g, "''")}'`;
6
+ /**
7
+ * 把身份、租户、部门路径、范围 JSON 和明文能力编码成 set_config 调用。
8
+ * false 表示会话级生效,空身份/部门编码为空字符串;调用方执行后负责连接归还和销毁。
9
+ */
3
10
  export function setSessionVarsSql(ctx) {
4
11
  const vars = [
5
12
  ['app.user_id', ctx.userId ?? ctx.onBehalfOf ?? ''],
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAExD,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACxC,MAAM,IAAI,GAAuB;QAC/B,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACnD,CAAC,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC;QAC/B,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,CAAC,eAAe,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrC,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACrC,CAAC;IACF,OAAO,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;GAEG;AACH,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACxC,MAAM,IAAI,GAAuB;QAC/B,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACnD,CAAC,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC;QAC/B,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,CAAC,eAAe,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrC,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACrC,CAAC;IACF,OAAO,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAChG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yss123/cage-testkit",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "派生测试运行器、fake 仓储、测试数据库",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -30,16 +30,17 @@
30
30
  "zod": "^4.1.5"
31
31
  },
32
32
  "peerDependencies": {
33
- "@yss123/cage-kernel": "0.2.0"
33
+ "@yss123/cage-kernel": "0.3.1"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/pg": "^8.15.5",
37
37
  "vitest": "^4.1.12",
38
- "@yss123/cage-kernel": "0.2.0",
39
- "@yss123/cage-admin": "0.2.0",
40
- "@yss123/cage-http": "0.2.0",
41
- "@yss123/cage-connectors": "0.2.0",
42
- "@yss123/cage-approval": "0.2.0"
38
+ "@yss123/cage-ai": "0.3.1",
39
+ "@yss123/cage-kernel": "0.3.1",
40
+ "@yss123/cage-approval": "0.3.1",
41
+ "@yss123/cage-connectors": "0.3.1",
42
+ "@yss123/cage-http": "0.3.1",
43
+ "@yss123/cage-admin": "0.3.1"
43
44
  },
44
45
  "license": "MIT",
45
46
  "repository": {