@interop/was-conformance-suite 0.16.0 → 0.17.0

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 CHANGED
@@ -134,6 +134,7 @@ The available suite ids (for `--suite`) are:
134
134
  | `client-spaces` | WasClient -- Spaces & Collections |
135
135
  | `collection-api` | Collections API |
136
136
  | `conditional-requests-api` | Conditional requests & caching |
137
+ | `container-rule-api` | The container rule |
137
138
  | `delegation-cryptosuites` | Delegation-proof cryptosuites |
138
139
  | `denial-reasons-api` | Typed denial reasons (capability-expired / -revoked) |
139
140
  | `digest-api` | Request body integrity (Digest) negatives |
@@ -0,0 +1,10 @@
1
+ import type { Suite } from '../harness/types.js';
2
+ interface State {
3
+ alice: any;
4
+ aliceDelegatedApp: any;
5
+ /** Every Space provisioned by a test, removed in teardown. */
6
+ spaceIds: string[];
7
+ }
8
+ export declare const containerRuleApi: Suite<State>;
9
+ export {};
10
+ //# sourceMappingURL=container-rule-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-rule-api.d.ts","sourceRoot":"","sources":["../../src/suites/container-rule-api.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,qBAAqB,CAAA;AAE7D,UAAU,KAAK;IACb,KAAK,EAAE,GAAG,CAAA;IACV,iBAAiB,EAAE,GAAG,CAAA;IACtB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AA2ID,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAiezC,CAAA"}
@@ -0,0 +1,574 @@
1
+ /*!
2
+ * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
+ */
4
+ /**
5
+ * WAS conformance tests -- the container rule (spec "The Container Rule").
6
+ *
7
+ * Target attenuation stops working for four operations, because a capability
8
+ * delegated at a container's `invocationTarget` -- a Space URL or a Collection
9
+ * URL -- covers everything beneath it, so nothing about that target tells
10
+ * apart "delete this container" from "delete a Resource inside it". The four
11
+ * therefore MUST be authorized by a root capability invoked directly by the
12
+ * Space controller, with exactly two exceptions:
13
+ *
14
+ * - Delete Space (`DELETE /space/{s}/`) also accepts a delegated capability
15
+ * whose invoked grant targets exactly that Space's canonical
16
+ * trailing-slash URL with `allowedAction` exactly `['DELETE']`.
17
+ * - Update (or Create by Id) Collection (`PUT /space/{s}/{c}/meta`) also
18
+ * accepts a delegated capability whose invoked grant targets exactly the
19
+ * Space's canonical trailing-slash URL.
20
+ *
21
+ * `PUT /space/{s}/meta` on an existing Space and
22
+ * `DELETE /space/{s}/{c}/` take no delegated capability at all. Creating a
23
+ * Collection (`POST /space/{s}/`) is unaffected and stays delegable, which is
24
+ * asserted here too so the rule is not read as covering every container write.
25
+ *
26
+ * A refusal is an ordinary authorization denial: the masked `not-found` (404),
27
+ * with nothing changed behind it. Every refusal case re-reads the target with
28
+ * the root client afterwards, so a server that answers 404 while performing
29
+ * the operation anyway does not pass.
30
+ *
31
+ * Every delegated capability here targets the Space URL or a URL beneath it:
32
+ * `@interop/ezcap` refuses client-side to sign an invocation whose capability
33
+ * target is not a prefix of the request URL, so a grant outside that shape
34
+ * never reaches the wire and could not be tested against a server at all.
35
+ */
36
+ import assert from '../harness/assert.js';
37
+ const NOT_FOUND = 'https://wallet.storage/spec#not-found';
38
+ const CONTAINER_RULE = 'https://wallet.storage/spec#the-container-rule';
39
+ /**
40
+ * Provisions a fresh Space controlled by Alice and records it for teardown.
41
+ * Each test gets its own, since half of them delete or rewrite the container
42
+ * they act on.
43
+ *
44
+ * @param options {object}
45
+ * @param options.ctx {TestContext}
46
+ * @param options.state {State}
47
+ * @param options.name {string} the Space name
48
+ * @returns {Promise<string>} the new Space id
49
+ */
50
+ async function provisionSpace({ ctx, state, name }) {
51
+ const spaceId = ctx.generateId();
52
+ await ctx.createSpace({
53
+ spaceDescription: { id: spaceId, name, controller: state.alice.did },
54
+ rootClient: state.alice.rootClient
55
+ });
56
+ state.spaceIds.push(spaceId);
57
+ return spaceId;
58
+ }
59
+ /**
60
+ * Delegates a capability to Alice's app, rooted in the Space's own root
61
+ * capability. The root is named explicitly because the server synthesizes it
62
+ * from the Space's canonical trailing-slash URL; a grant whose target is a
63
+ * Collection or a Metadata object would otherwise default to a root the
64
+ * server never mints.
65
+ *
66
+ * @param options {object}
67
+ * @param options.ctx {TestContext}
68
+ * @param options.state {State}
69
+ * @param options.spaceId {string}
70
+ * @param options.invocationTarget {string} the delegated target URL
71
+ * @param options.allowedActions {string[]}
72
+ * @returns {Promise<any>} the delegated capability
73
+ */
74
+ async function delegateInSpace({ ctx, state, spaceId, invocationTarget, allowedActions }) {
75
+ const spaceUrl = new URL(`/space/${spaceId}/`, ctx.serverUrl).toString();
76
+ return state.alice.rootClient.delegate({
77
+ capability: `urn:zcap:root:${encodeURIComponent(spaceUrl)}`,
78
+ allowedActions,
79
+ invocationTarget,
80
+ controller: state.aliceDelegatedApp.did
81
+ });
82
+ }
83
+ /**
84
+ * Sends a request, returning the status and body whether the client resolved
85
+ * or threw. The high-level client throws on 4xx/5xx, and every refusal here is
86
+ * a 404 that must still be inspected.
87
+ *
88
+ * @param options {object}
89
+ * @param options.ctx {TestContext}
90
+ * @param options.signer {any} the invoking signer
91
+ * @param options.url {string}
92
+ * @param options.method {string}
93
+ * @param [options.capability] {any} a delegated capability, or none for a
94
+ * direct root invocation
95
+ * @param [options.json] {object}
96
+ * @returns {Promise<{ status?: number; data?: any }>}
97
+ */
98
+ async function invoke({ ctx, signer, url, method, capability, json }) {
99
+ try {
100
+ const response = await ctx.zcapClient({ signer }).request({
101
+ url,
102
+ method,
103
+ action: method,
104
+ ...(capability && { capability }),
105
+ ...(json && { json })
106
+ });
107
+ return { status: response.status, data: response.data };
108
+ }
109
+ catch (err) {
110
+ return { status: err.response?.status, data: err.data };
111
+ }
112
+ }
113
+ /**
114
+ * Asserts one refused invocation: the masked `not-found` (404) of the spec's
115
+ * Error Type Registry, and nothing else.
116
+ *
117
+ * @param options {object}
118
+ * @param options.result {{ status?: number; data?: any }}
119
+ * @param options.message {string} what was expected to be refused
120
+ * @returns {void}
121
+ */
122
+ function assertRefused({ result, message }) {
123
+ assert.equal(result.status, 404, `${message}: expected a 404 refusal`);
124
+ assert.equal(result.data?.type, NOT_FOUND, `${message}: expected the masked not-found problem type`);
125
+ }
126
+ export const containerRuleApi = {
127
+ id: 'container-rule-api',
128
+ name: 'The container rule',
129
+ specRefs: [CONTAINER_RULE],
130
+ setup: async (ctx) => ({
131
+ alice: { ...ctx.actors.alice },
132
+ aliceDelegatedApp: { ...ctx.actors.aliceDelegatedApp },
133
+ spaceIds: []
134
+ }),
135
+ teardown: async (ctx, state) => {
136
+ for (const spaceId of state.spaceIds) {
137
+ try {
138
+ await state.alice.rootClient.request({
139
+ url: new URL(`/space/${spaceId}/`, ctx.serverUrl).toString(),
140
+ method: 'DELETE'
141
+ });
142
+ }
143
+ catch {
144
+ /* best-effort cleanup */
145
+ }
146
+ }
147
+ },
148
+ tests: [
149
+ {
150
+ id: 'container-rule.space-meta-put-root',
151
+ name: '[root] PUT /space/:s/meta on an existing Space is authorized by a direct root invocation',
152
+ specRefs: [CONTAINER_RULE],
153
+ run: async (ctx, state) => {
154
+ const spaceId = await provisionSpace({
155
+ ctx,
156
+ state,
157
+ name: 'Container Rule -- Space Metadata (root)'
158
+ });
159
+ const metaUrl = new URL(`/space/${spaceId}/meta`, ctx.serverUrl).toString();
160
+ const result = await invoke({
161
+ ctx,
162
+ signer: state.alice.signer,
163
+ url: metaUrl,
164
+ method: 'PUT',
165
+ json: {
166
+ id: spaceId,
167
+ name: 'Renamed By The Controller',
168
+ controller: state.alice.did
169
+ }
170
+ });
171
+ assert.ok(result.status === 200 || result.status === 204, `expected the controller's own PUT to succeed, got ${result.status}`);
172
+ const after = await state.alice.rootClient.request({
173
+ url: metaUrl,
174
+ method: 'GET'
175
+ });
176
+ assert.equal(after.data.name, 'Renamed By The Controller');
177
+ }
178
+ },
179
+ {
180
+ id: 'container-rule.space-meta-put-delegated-refused',
181
+ name: '[delegated] PUT /space/:s/meta on an existing Space is refused (404) whatever the grant',
182
+ specRefs: [CONTAINER_RULE],
183
+ run: async (ctx, state) => {
184
+ const spaceId = await provisionSpace({
185
+ ctx,
186
+ state,
187
+ name: 'Container Rule -- Space Metadata (delegated)'
188
+ });
189
+ const spaceUrl = new URL(`/space/${spaceId}/`, ctx.serverUrl).toString();
190
+ const metaUrl = `${spaceUrl}meta`;
191
+ // Two shapes a wallet actually mints: a PUT-only Space grant, and the
192
+ // whole-verb-set generation grant. Update Space Metadata takes
193
+ // neither -- it is controller-only.
194
+ const grants = [['PUT'], ['GET', 'HEAD', 'POST', 'PUT', 'DELETE']];
195
+ for (const allowedActions of grants) {
196
+ const capability = await delegateInSpace({
197
+ ctx,
198
+ state,
199
+ spaceId,
200
+ invocationTarget: spaceUrl,
201
+ allowedActions
202
+ });
203
+ const result = await invoke({
204
+ ctx,
205
+ signer: state.aliceDelegatedApp.signer,
206
+ url: metaUrl,
207
+ method: 'PUT',
208
+ capability,
209
+ json: {
210
+ id: spaceId,
211
+ name: 'Seized By A Delegate',
212
+ controller: state.aliceDelegatedApp.did
213
+ }
214
+ });
215
+ assertRefused({
216
+ result,
217
+ message: `a delegated PUT with allowedAction ${allowedActions.join('/')}`
218
+ });
219
+ }
220
+ // Nothing was written: Alice still controls the Space, name intact.
221
+ const after = await state.alice.rootClient.request({
222
+ url: metaUrl,
223
+ method: 'GET'
224
+ });
225
+ assert.equal(after.status, 200);
226
+ assert.equal(after.data.controller, state.alice.did);
227
+ assert.equal(after.data.name, 'Container Rule -- Space Metadata (delegated)');
228
+ }
229
+ },
230
+ {
231
+ id: 'container-rule.collection-delete-root',
232
+ name: '[root] DELETE /space/:s/:c/ is authorized by a direct root invocation',
233
+ specRefs: [CONTAINER_RULE],
234
+ run: async (ctx, state) => {
235
+ const spaceId = await provisionSpace({
236
+ ctx,
237
+ state,
238
+ name: 'Container Rule -- Delete Collection (root)'
239
+ });
240
+ const collectionId = ctx.generateId();
241
+ await state.alice.rootClient.request({
242
+ url: new URL(`/space/${spaceId}/`, ctx.serverUrl).toString(),
243
+ method: 'POST',
244
+ action: 'POST',
245
+ json: { id: collectionId, name: 'Doomed Collection' }
246
+ });
247
+ const collectionUrl = new URL(`/space/${spaceId}/${collectionId}/`, ctx.serverUrl).toString();
248
+ const result = await invoke({
249
+ ctx,
250
+ signer: state.alice.signer,
251
+ url: collectionUrl,
252
+ method: 'DELETE'
253
+ });
254
+ assert.equal(result.status, 204);
255
+ const after = await invoke({
256
+ ctx,
257
+ signer: state.alice.signer,
258
+ url: `${collectionUrl}meta`,
259
+ method: 'GET'
260
+ });
261
+ assert.equal(after.status, 404, 'the Collection should be gone');
262
+ }
263
+ },
264
+ {
265
+ id: 'container-rule.collection-delete-delegated-refused',
266
+ name: '[delegated] DELETE /space/:s/:c/ is refused (404) whatever the grant',
267
+ specRefs: [CONTAINER_RULE],
268
+ run: async (ctx, state) => {
269
+ const spaceId = await provisionSpace({
270
+ ctx,
271
+ state,
272
+ name: 'Container Rule -- Delete Collection (delegated)'
273
+ });
274
+ const collectionId = ctx.generateId();
275
+ await state.alice.rootClient.request({
276
+ url: new URL(`/space/${spaceId}/`, ctx.serverUrl).toString(),
277
+ method: 'POST',
278
+ action: 'POST',
279
+ json: { id: collectionId, name: 'Kept Collection' }
280
+ });
281
+ const spaceUrl = new URL(`/space/${spaceId}/`, ctx.serverUrl).toString();
282
+ const collectionUrl = `${spaceUrl}${collectionId}/`;
283
+ // The Space-subtree grant, and the narrowest grant there is: DELETE
284
+ // alone on exactly this Collection. Delete Collection has no
285
+ // exception, so both are refused.
286
+ const grants = [
287
+ { invocationTarget: spaceUrl, allowedActions: ['DELETE'] },
288
+ { invocationTarget: collectionUrl, allowedActions: ['DELETE'] }
289
+ ];
290
+ for (const grant of grants) {
291
+ const capability = await delegateInSpace({
292
+ ctx,
293
+ state,
294
+ spaceId,
295
+ ...grant
296
+ });
297
+ const result = await invoke({
298
+ ctx,
299
+ signer: state.aliceDelegatedApp.signer,
300
+ url: collectionUrl,
301
+ method: 'DELETE',
302
+ capability
303
+ });
304
+ assertRefused({
305
+ result,
306
+ message: `a delegated DELETE targeting ${grant.invocationTarget}`
307
+ });
308
+ }
309
+ // The Collection is still there.
310
+ const after = await state.alice.rootClient.request({
311
+ url: `${collectionUrl}meta`,
312
+ method: 'GET'
313
+ });
314
+ assert.equal(after.status, 200);
315
+ assert.equal(after.data.name, 'Kept Collection');
316
+ }
317
+ },
318
+ {
319
+ id: 'container-rule.space-delete-root',
320
+ name: '[root] DELETE /space/:s/ is authorized by a direct root invocation',
321
+ specRefs: [CONTAINER_RULE],
322
+ run: async (ctx, state) => {
323
+ const spaceId = await provisionSpace({
324
+ ctx,
325
+ state,
326
+ name: 'Container Rule -- Delete Space (root)'
327
+ });
328
+ const spaceUrl = new URL(`/space/${spaceId}/`, ctx.serverUrl).toString();
329
+ const result = await invoke({
330
+ ctx,
331
+ signer: state.alice.signer,
332
+ url: spaceUrl,
333
+ method: 'DELETE'
334
+ });
335
+ assert.equal(result.status, 204);
336
+ const after = await invoke({
337
+ ctx,
338
+ signer: state.alice.signer,
339
+ url: `${spaceUrl}meta`,
340
+ method: 'GET'
341
+ });
342
+ assert.equal(after.status, 404, 'the Space should be gone');
343
+ }
344
+ },
345
+ {
346
+ id: 'container-rule.space-delete-delegated-exact',
347
+ name: '[delegated] DELETE /space/:s/ is authorized by an exact-target DELETE-only grant',
348
+ specRefs: [CONTAINER_RULE],
349
+ run: async (ctx, state) => {
350
+ const spaceId = await provisionSpace({
351
+ ctx,
352
+ state,
353
+ name: 'Container Rule -- Delete Space (delegated)'
354
+ });
355
+ const spaceUrl = new URL(`/space/${spaceId}/`, ctx.serverUrl).toString();
356
+ const capability = await delegateInSpace({
357
+ ctx,
358
+ state,
359
+ spaceId,
360
+ invocationTarget: spaceUrl,
361
+ allowedActions: ['DELETE']
362
+ });
363
+ const result = await invoke({
364
+ ctx,
365
+ signer: state.aliceDelegatedApp.signer,
366
+ url: spaceUrl,
367
+ method: 'DELETE',
368
+ capability
369
+ });
370
+ assert.equal(result.status, 204, 'the first container-rule exception must be honored');
371
+ const after = await invoke({
372
+ ctx,
373
+ signer: state.alice.signer,
374
+ url: `${spaceUrl}meta`,
375
+ method: 'GET'
376
+ });
377
+ assert.equal(after.status, 404, 'the Space should be gone');
378
+ }
379
+ },
380
+ {
381
+ id: 'container-rule.space-delete-delegated-two-verb-refused',
382
+ name: '[delegated] DELETE /space/:s/ under a two-verb grant on the Space URL is refused (404)',
383
+ specRefs: [CONTAINER_RULE],
384
+ run: async (ctx, state) => {
385
+ const spaceId = await provisionSpace({
386
+ ctx,
387
+ state,
388
+ name: 'Container Rule -- Delete Space (two-verb)'
389
+ });
390
+ const spaceUrl = new URL(`/space/${spaceId}/`, ctx.serverUrl).toString();
391
+ // Exactly `['DELETE']` is what the exception names. A grant carrying
392
+ // DELETE alongside a read verb is a data grant, and is refused.
393
+ const capability = await delegateInSpace({
394
+ ctx,
395
+ state,
396
+ spaceId,
397
+ invocationTarget: spaceUrl,
398
+ allowedActions: ['GET', 'DELETE']
399
+ });
400
+ const result = await invoke({
401
+ ctx,
402
+ signer: state.aliceDelegatedApp.signer,
403
+ url: spaceUrl,
404
+ method: 'DELETE',
405
+ capability
406
+ });
407
+ assertRefused({
408
+ result,
409
+ message: 'a delegated DELETE under a GET/DELETE grant'
410
+ });
411
+ // The Space survived the refusal.
412
+ const after = await state.alice.rootClient.request({
413
+ url: `${spaceUrl}meta`,
414
+ method: 'GET'
415
+ });
416
+ assert.equal(after.status, 200);
417
+ assert.equal(after.data.controller, state.alice.did);
418
+ }
419
+ },
420
+ {
421
+ id: 'container-rule.collection-meta-put-root',
422
+ name: '[root] PUT /space/:s/:c/meta is authorized by a direct root invocation',
423
+ specRefs: [CONTAINER_RULE],
424
+ run: async (ctx, state) => {
425
+ const spaceId = await provisionSpace({
426
+ ctx,
427
+ state,
428
+ name: 'Container Rule -- Collection Metadata (root)'
429
+ });
430
+ const collectionId = ctx.generateId();
431
+ const metaUrl = new URL(`/space/${spaceId}/${collectionId}/meta`, ctx.serverUrl).toString();
432
+ const result = await invoke({
433
+ ctx,
434
+ signer: state.alice.signer,
435
+ url: metaUrl,
436
+ method: 'PUT',
437
+ json: { id: collectionId, name: 'Written By The Controller' }
438
+ });
439
+ assert.ok(result.status === 200 || result.status === 201, `expected the controller's own PUT to succeed, got ${result.status}`);
440
+ const after = await state.alice.rootClient.request({
441
+ url: metaUrl,
442
+ method: 'GET'
443
+ });
444
+ assert.equal(after.data.name, 'Written By The Controller');
445
+ }
446
+ },
447
+ {
448
+ id: 'container-rule.collection-meta-put-delegated-space-target',
449
+ name: '[delegated] PUT /space/:s/:c/meta is authorized by an exact-target grant on the Space URL',
450
+ specRefs: [CONTAINER_RULE],
451
+ run: async (ctx, state) => {
452
+ const spaceId = await provisionSpace({
453
+ ctx,
454
+ state,
455
+ name: 'Container Rule -- Collection Metadata (delegated)'
456
+ });
457
+ const spaceUrl = new URL(`/space/${spaceId}/`, ctx.serverUrl).toString();
458
+ const collectionId = ctx.generateId();
459
+ const metaUrl = `${spaceUrl}${collectionId}/meta`;
460
+ const capability = await delegateInSpace({
461
+ ctx,
462
+ state,
463
+ spaceId,
464
+ invocationTarget: spaceUrl,
465
+ allowedActions: ['GET', 'HEAD', 'POST', 'PUT', 'DELETE']
466
+ });
467
+ const result = await invoke({
468
+ ctx,
469
+ signer: state.aliceDelegatedApp.signer,
470
+ url: metaUrl,
471
+ method: 'PUT',
472
+ capability,
473
+ json: { id: collectionId, name: 'Written By A Delegate' }
474
+ });
475
+ assert.ok(result.status === 200 || result.status === 201, 'the second container-rule exception must be honored, got ' +
476
+ result.status);
477
+ const after = await state.alice.rootClient.request({
478
+ url: metaUrl,
479
+ method: 'GET'
480
+ });
481
+ assert.equal(after.data.name, 'Written By A Delegate');
482
+ }
483
+ },
484
+ {
485
+ id: 'container-rule.collection-meta-put-delegated-collection-target-refused',
486
+ name: '[delegated] PUT /space/:s/:c/meta under a grant on the Collection URL is refused (404)',
487
+ specRefs: [CONTAINER_RULE],
488
+ run: async (ctx, state) => {
489
+ const spaceId = await provisionSpace({
490
+ ctx,
491
+ state,
492
+ name: 'Container Rule -- Collection Metadata (collection target)'
493
+ });
494
+ const collectionId = ctx.generateId();
495
+ await state.alice.rootClient.request({
496
+ url: new URL(`/space/${spaceId}/`, ctx.serverUrl).toString(),
497
+ method: 'POST',
498
+ action: 'POST',
499
+ json: { id: collectionId, name: 'Unchanged Collection' }
500
+ });
501
+ const collectionUrl = new URL(`/space/${spaceId}/${collectionId}/`, ctx.serverUrl).toString();
502
+ const metaUrl = `${collectionUrl}meta`;
503
+ // A Collection-level data grant: exactly the shape the rule refuses,
504
+ // since it cannot tell writing the container's description apart from
505
+ // writing a Resource inside it.
506
+ const capability = await delegateInSpace({
507
+ ctx,
508
+ state,
509
+ spaceId,
510
+ invocationTarget: collectionUrl,
511
+ allowedActions: ['GET', 'HEAD', 'POST', 'PUT', 'DELETE']
512
+ });
513
+ const result = await invoke({
514
+ ctx,
515
+ signer: state.aliceDelegatedApp.signer,
516
+ url: metaUrl,
517
+ method: 'PUT',
518
+ capability,
519
+ json: { id: collectionId, name: 'Rewritten By A Delegate' }
520
+ });
521
+ assertRefused({
522
+ result,
523
+ message: 'a delegated PUT under a Collection-URL grant'
524
+ });
525
+ const after = await state.alice.rootClient.request({
526
+ url: metaUrl,
527
+ method: 'GET'
528
+ });
529
+ assert.equal(after.status, 200);
530
+ assert.equal(after.data.name, 'Unchanged Collection');
531
+ }
532
+ },
533
+ {
534
+ id: 'container-rule.collection-create-delegable',
535
+ name: '[delegated] POST /space/:s/ still creates a Collection under an exact-target Space grant',
536
+ specRefs: [
537
+ CONTAINER_RULE,
538
+ 'https://wallet.storage/spec#create-collection-operation'
539
+ ],
540
+ run: async (ctx, state) => {
541
+ const spaceId = await provisionSpace({
542
+ ctx,
543
+ state,
544
+ name: 'Container Rule -- Create Collection (delegated)'
545
+ });
546
+ const spaceUrl = new URL(`/space/${spaceId}/`, ctx.serverUrl).toString();
547
+ const collectionId = ctx.generateId();
548
+ const capability = await delegateInSpace({
549
+ ctx,
550
+ state,
551
+ spaceId,
552
+ invocationTarget: spaceUrl,
553
+ allowedActions: ['POST']
554
+ });
555
+ const result = await invoke({
556
+ ctx,
557
+ signer: state.aliceDelegatedApp.signer,
558
+ url: spaceUrl,
559
+ method: 'POST',
560
+ capability,
561
+ json: { id: collectionId, name: 'Created By A Delegate' }
562
+ });
563
+ assert.equal(result.status, 201, 'Create Collection is unaffected by the container rule');
564
+ const after = await state.alice.rootClient.request({
565
+ url: `${spaceUrl}${collectionId}/meta`,
566
+ method: 'GET'
567
+ });
568
+ assert.equal(after.status, 200);
569
+ assert.equal(after.data.name, 'Created By A Delegate');
570
+ }
571
+ }
572
+ ]
573
+ };
574
+ //# sourceMappingURL=container-rule-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-rule-api.js","sourceRoot":"","sources":["../../src/suites/container-rule-api.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { clientResources } from './client-resources.js';
13
13
  import { clientSpaces } from './client-spaces.js';
14
14
  import { collectionApi } from './collection-api.js';
15
15
  import { conditionalRequestsApi } from './conditional-requests-api.js';
16
+ import { containerRuleApi } from './container-rule-api.js';
16
17
  import { delegationCryptosuitesApi } from './delegation-cryptosuites-api.js';
17
18
  import { denialReasonsApi } from './denial-reasons-api.js';
18
19
  import { digestApi } from './digest-api.js';
@@ -31,5 +32,5 @@ import { writeValidationApi } from './write-validation-api.js';
31
32
  * original file-alphabetical execution order of the ported suite).
32
33
  */
33
34
  export declare const suites: Array<Suite<any>>;
34
- export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, denialReasonsApi, digestApi, encryptionDescriptorApi, governedLogApi, invocationTargetApi, plaintextDeclarationApi, policyApi, reservedMethodsApi, resourceApi, server, spacesApi, writeValidationApi };
35
+ export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, containerRuleApi, delegationCryptosuitesApi, denialReasonsApi, digestApi, encryptionDescriptorApi, governedLogApi, invocationTargetApi, plaintextDeclarationApi, policyApi, reservedMethodsApi, resourceApi, server, spacesApi, writeValidationApi };
35
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAyBpC,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CA0BpC,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
@@ -9,6 +9,7 @@ import { clientResources } from './client-resources.js';
9
9
  import { clientSpaces } from './client-spaces.js';
10
10
  import { collectionApi } from './collection-api.js';
11
11
  import { conditionalRequestsApi } from './conditional-requests-api.js';
12
+ import { containerRuleApi } from './container-rule-api.js';
12
13
  import { delegationCryptosuitesApi } from './delegation-cryptosuites-api.js';
13
14
  import { denialReasonsApi } from './denial-reasons-api.js';
14
15
  import { digestApi } from './digest-api.js';
@@ -38,6 +39,7 @@ export const suites = [
38
39
  clientSpaces,
39
40
  collectionApi,
40
41
  conditionalRequestsApi,
42
+ containerRuleApi,
41
43
  delegationCryptosuitesApi,
42
44
  denialReasonsApi,
43
45
  digestApi,
@@ -52,5 +54,5 @@ export const suites = [
52
54
  spacesApi,
53
55
  writeValidationApi
54
56
  ];
55
- export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, denialReasonsApi, digestApi, encryptionDescriptorApi, governedLogApi, invocationTargetApi, plaintextDeclarationApi, policyApi, reservedMethodsApi, resourceApi, server, spacesApi, writeValidationApi };
57
+ export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, containerRuleApi, delegationCryptosuitesApi, denialReasonsApi, digestApi, encryptionDescriptorApi, governedLogApi, invocationTargetApi, plaintextDeclarationApi, policyApi, reservedMethodsApi, resourceApi, server, spacesApi, writeValidationApi };
56
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,aAAa;IACb,sBAAsB;IACtB,yBAAyB;IACzB,gBAAgB;IAChB,SAAS;IACT,uBAAuB;IACvB,cAAc;IACd,mBAAmB;IACnB,uBAAuB;IACvB,SAAS;IACT,kBAAkB;IAClB,WAAW;IACX,MAAM;IACN,SAAS;IACT,kBAAkB;CACnB,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/suites/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,aAAa;IACb,sBAAsB;IACtB,gBAAgB;IAChB,yBAAyB;IACzB,gBAAgB;IAChB,SAAS;IACT,uBAAuB;IACvB,cAAc;IACd,mBAAmB;IACnB,uBAAuB;IACvB,SAAS;IACT,kBAAkB;IAClB,WAAW;IACX,MAAM;IACN,SAAS;IACT,kBAAkB;CACnB,CAAA;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@interop/was-conformance-suite",
3
3
  "description": "Conformance test suite for Wallet Attached Storage (WAS) servers, runnable as a CLI or in the browser.",
4
- "version": "0.16.0",
4
+ "version": "0.17.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",