You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4d2b191
Browse filesBrowse the repository at this point in the historyBrowse files
test(rest,dogfood): re-pin the public picker on a deployment without the guest set to the deny baseline
On a deployment that registers no guest set the picker's context resolves
no permission set, so the engine refuses it at object admission: every
listing, search and masked-only picker answers 403 PERMISSION_DENIED and
serves nothing, for a visitor and a signed-in caller alike. The key the
picker composes is unchanged and still never names the masked field; the
guest-set and lifted-rule classes keep their pins.
Claude-Session: https://claude.ai/code/session_01DiCSbmJrkzNhuEAier4VoJ
Co-authored-by: Claude <noreply@anthropic.com>
expect(refusal.data,`${what}: no row is served`).toBeUndefined();
120
+
for(constrowofSEED)expect(text,`${what}: no stored value leaves the door`).not.toContain(String(row[KEY]));
114
121
}
115
122
116
-
describe('[#21062] a public picker whose first display field is masked serves rows sorted on the next queryable one',()=>{
123
+
describe('[#21062] a public picker whose first display field is masked: [#21079] refused at object admission on a deployment without the public-form profile',()=>{
117
124
it(
118
-
'to a visitor with no session and to a signed-in caller; a picker with no queryable display field is refused',
125
+
'to a visitor with no session and to a signed-in caller; a picker with no queryable display field is refused the same',
Copy file name to clipboardExpand all lines: packages/rest/src/public-form-lookup-picker-queryable-key.test.ts
+79-6Lines changed: 79 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -17,11 +17,14 @@
17
17
* What is pinned, by caller class (the picker's own context — the route builds
18
18
* it, the session is not read):
19
19
*
20
-
* - masked classes — the deployment registers no `guest_portal` set (the
21
-
* context resolves no set), or registers one that does not hold the
22
-
* capability the rule names: rows are sorted, and searched, on the next
23
-
* queryable display field; the masked field is still served, masked; and no
24
-
* request the engine receives names the masked field;
20
+
* - masked class — the deployment registers a `guest_portal` set that does not
21
+
* hold the capability the rule names: rows are sorted, and searched, on the
22
+
* next queryable display field; the masked field is still served, masked;
23
+
* and no request the engine receives names the masked field;
24
+
* - [#21079] the deployment registers no `guest_portal` set, so the context
25
+
* resolves no set: the ADR-0056 D2 deny baseline refuses every picker at
26
+
* object admission (`403 PERMISSION_DENIED`), while the key it composes is
27
+
* unchanged and still never names the masked field;
25
28
* - a picker with no queryable display field answers the engine's own refusal
26
29
* for those fields, and the engine is never asked;
27
30
* - controls — a picker with no masked display field, and a caller the rule is
@@ -286,8 +289,78 @@ describe('[#21062] the fixture is authorable', () => {
286
289
});
287
290
});
288
291
292
+
/**
293
+
* [#21079] The deployment registers no guest set, so the picker's context
294
+
* resolves NO permission set — and an empty set list is the ADR-0056 D2 deny
295
+
* baseline: the engine refuses that caller at object admission, before any
296
+
* field guard, whatever the query names. The field answers are unchanged (the
297
+
* masked field is readable and not queryable, and the key the picker composes
298
+
* is still the next queryable display field), but nothing is served: every
299
+
* picker on this deployment answers `403 PERMISSION_DENIED`. The picker itself
300
+
* is retired on its own card; until then this is what it answers here.
301
+
*/
302
+
describe('[#21062] a picker whose first display field is masked for its caller — the deployment registers no guest set (the context resolves none): [#21079] refused at object admission',()=>{
0 commit comments