@interop/was-conformance-suite 0.7.0 → 0.9.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 +1 -0
- package/dist/suites/encryption-descriptor-api.d.ts.map +1 -1
- package/dist/suites/encryption-descriptor-api.js +233 -0
- package/dist/suites/encryption-descriptor-api.js.map +1 -1
- package/dist/suites/index.d.ts +2 -1
- package/dist/suites/index.d.ts.map +1 -1
- package/dist/suites/index.js +3 -1
- package/dist/suites/index.js.map +1 -1
- package/dist/suites/plaintext-declaration-api.d.ts +12 -0
- package/dist/suites/plaintext-declaration-api.d.ts.map +1 -0
- package/dist/suites/plaintext-declaration-api.js +371 -0
- package/dist/suites/plaintext-declaration-api.js.map +1 -0
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -138,6 +138,7 @@ The available suite ids (for `--suite`) are:
|
|
|
138
138
|
| `digest-api` | Request body integrity (Digest) negatives |
|
|
139
139
|
| `encryption-descriptor-api` | Encryption descriptor API |
|
|
140
140
|
| `invocation-target-api` | Capability invocationTarget binding |
|
|
141
|
+
| `plaintext-declaration-api` | Plaintext declaration API |
|
|
141
142
|
| `policy-api` | Access-control policy API |
|
|
142
143
|
| `resource-api` | Resource API |
|
|
143
144
|
| `server` | Server |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption-descriptor-api.d.ts","sourceRoot":"","sources":["../../src/suites/encryption-descriptor-api.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"encryption-descriptor-api.d.ts","sourceRoot":"","sources":["../../src/suites/encryption-descriptor-api.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAyChD,UAAU,KAAK;IACb,KAAK,EAAE,GAAG,CAAA;IACV,GAAG,EAAE,GAAG,CAAA;IACR,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACjD;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CA+6BhD,CAAA"}
|
|
@@ -17,6 +17,29 @@ const edvDocument = {
|
|
|
17
17
|
indexed: [],
|
|
18
18
|
jwe: { protected: 'eyJhbGciOiJkaXI', ciphertext: 'c1phertext' }
|
|
19
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* A descriptor recipient entry (the JWE recipients-entry shape an epoch and
|
|
22
|
+
* the blinding-key `hmac` member share).
|
|
23
|
+
*/
|
|
24
|
+
function recipient(kid) {
|
|
25
|
+
return {
|
|
26
|
+
header: { kid, alg: 'ECDH-ES+A256KW' },
|
|
27
|
+
encrypted_key: `wrapped-${kid}`
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A valid `edv` descriptor carrying a blinding-key `hmac` member.
|
|
32
|
+
*/
|
|
33
|
+
function hmacDescriptor() {
|
|
34
|
+
return {
|
|
35
|
+
scheme: 'edv',
|
|
36
|
+
hmac: {
|
|
37
|
+
id: 'urn:uuid:blinding-key-1',
|
|
38
|
+
type: 'Sha256HmacKey2019',
|
|
39
|
+
recipients: [recipient('did:key:zApp1#ka')]
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
20
43
|
export const encryptionDescriptorApi = {
|
|
21
44
|
id: 'encryption-descriptor-api',
|
|
22
45
|
name: 'Encryption descriptor API',
|
|
@@ -593,6 +616,216 @@ export const encryptionDescriptorApi = {
|
|
|
593
616
|
assert.equal(read.data.encryption.version, 99);
|
|
594
617
|
}
|
|
595
618
|
}
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
id: 'encryption.hmac-persist-echo',
|
|
622
|
+
name: '[root] persists and echoes the blinding-key hmac member verbatim',
|
|
623
|
+
specRefs: [
|
|
624
|
+
'https://wallet.storage/spec#blinding-key-member',
|
|
625
|
+
'https://wallet.storage/spec#collection-data-model'
|
|
626
|
+
],
|
|
627
|
+
run: async (ctx, state) => {
|
|
628
|
+
const { serverUrl } = ctx;
|
|
629
|
+
const { alice, createCollection } = state;
|
|
630
|
+
const response = await createCollection({
|
|
631
|
+
id: 'hmac-vault',
|
|
632
|
+
encryption: hmacDescriptor()
|
|
633
|
+
});
|
|
634
|
+
assert.equal(response.status, 201);
|
|
635
|
+
const read = await alice.rootClient.request({
|
|
636
|
+
url: new URL(`/space/${alice.space1.id}/hmac-vault`, serverUrl).toString(),
|
|
637
|
+
method: 'GET'
|
|
638
|
+
});
|
|
639
|
+
assert.deepStrictEqual(read.data.encryption, hmacDescriptor());
|
|
640
|
+
}
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
id: 'encryption.hmac-malformed-400',
|
|
644
|
+
name: '[root] rejects a malformed hmac member (400 invalid-request-body)',
|
|
645
|
+
specRefs: [
|
|
646
|
+
'https://wallet.storage/spec#key-epoch-server-validation',
|
|
647
|
+
'https://wallet.storage/spec#invalid-request-body'
|
|
648
|
+
],
|
|
649
|
+
run: async (ctx, state) => {
|
|
650
|
+
const { createCollection } = state;
|
|
651
|
+
// Each case violates one rule of the hmac shape: a non-empty string
|
|
652
|
+
// `id` and `type`, a non-empty `recipients` array, and the epoch
|
|
653
|
+
// recipients-entry shape for every entry.
|
|
654
|
+
const cases = [
|
|
655
|
+
[
|
|
656
|
+
'missing-id',
|
|
657
|
+
{ type: 'Sha256HmacKey2019', recipients: [recipient('k')] }
|
|
658
|
+
],
|
|
659
|
+
['missing-type', { id: 'urn:k', recipients: [recipient('k')] }],
|
|
660
|
+
[
|
|
661
|
+
'empty-recipients',
|
|
662
|
+
{ id: 'urn:k', type: 'Sha256HmacKey2019', recipients: [] }
|
|
663
|
+
],
|
|
664
|
+
[
|
|
665
|
+
'bad-recipient',
|
|
666
|
+
{ id: 'urn:k', type: 'Sha256HmacKey2019', recipients: [{ foo: 1 }] }
|
|
667
|
+
]
|
|
668
|
+
];
|
|
669
|
+
for (const [label, hmac] of cases) {
|
|
670
|
+
let expectedError;
|
|
671
|
+
try {
|
|
672
|
+
await createCollection({
|
|
673
|
+
id: `hmac-${label}`,
|
|
674
|
+
encryption: { scheme: 'edv', hmac }
|
|
675
|
+
});
|
|
676
|
+
}
|
|
677
|
+
catch (err) {
|
|
678
|
+
expectedError = err;
|
|
679
|
+
}
|
|
680
|
+
assert.ok(expectedError, `expected hmac with ${label} to be rejected`);
|
|
681
|
+
assert.equal(expectedError.response.status, 400, label);
|
|
682
|
+
assert.equal(expectedError.data.type, 'https://wallet.storage/spec#invalid-request-body', label);
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
id: 'encryption.hmac-id-change-immutable',
|
|
688
|
+
name: '[root] an update cannot change the hmac id (409 encryption-immutable)',
|
|
689
|
+
specRefs: [
|
|
690
|
+
'https://wallet.storage/spec#key-epoch-server-validation',
|
|
691
|
+
'https://wallet.storage/spec#encryption-immutable'
|
|
692
|
+
],
|
|
693
|
+
run: async (ctx, state) => {
|
|
694
|
+
const { serverUrl } = ctx;
|
|
695
|
+
const { alice, createCollection } = state;
|
|
696
|
+
const created = await createCollection({
|
|
697
|
+
id: 'hmac-id-locked',
|
|
698
|
+
encryption: hmacDescriptor()
|
|
699
|
+
});
|
|
700
|
+
assert.equal(created.status, 201);
|
|
701
|
+
const changed = hmacDescriptor();
|
|
702
|
+
changed.hmac.id = 'urn:uuid:blinding-key-2';
|
|
703
|
+
let expectedError;
|
|
704
|
+
try {
|
|
705
|
+
await alice.rootClient.request({
|
|
706
|
+
url: new URL(`/space/${alice.space1.id}/hmac-id-locked`, serverUrl).toString(),
|
|
707
|
+
method: 'PUT',
|
|
708
|
+
action: 'PUT',
|
|
709
|
+
json: { id: 'hmac-id-locked', encryption: changed }
|
|
710
|
+
});
|
|
711
|
+
}
|
|
712
|
+
catch (err) {
|
|
713
|
+
expectedError = err;
|
|
714
|
+
}
|
|
715
|
+
assert.ok(expectedError, 'expected the hmac id change to be rejected');
|
|
716
|
+
assert.equal(expectedError.response.status, 409);
|
|
717
|
+
assert.equal(expectedError.data.type, 'https://wallet.storage/spec#encryption-immutable');
|
|
718
|
+
const read = await alice.rootClient.request({
|
|
719
|
+
url: new URL(`/space/${alice.space1.id}/hmac-id-locked`, serverUrl).toString(),
|
|
720
|
+
method: 'GET'
|
|
721
|
+
});
|
|
722
|
+
assert.deepStrictEqual(read.data.encryption, hmacDescriptor());
|
|
723
|
+
}
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
id: 'encryption.hmac-remove-immutable',
|
|
727
|
+
name: '[root] an update cannot remove the hmac member (409 encryption-immutable)',
|
|
728
|
+
specRefs: [
|
|
729
|
+
'https://wallet.storage/spec#key-epoch-server-validation',
|
|
730
|
+
'https://wallet.storage/spec#encryption-immutable'
|
|
731
|
+
],
|
|
732
|
+
run: async (ctx, state) => {
|
|
733
|
+
const { serverUrl } = ctx;
|
|
734
|
+
const { alice, createCollection } = state;
|
|
735
|
+
const created = await createCollection({
|
|
736
|
+
id: 'hmac-remove-locked',
|
|
737
|
+
encryption: hmacDescriptor()
|
|
738
|
+
});
|
|
739
|
+
assert.equal(created.status, 201);
|
|
740
|
+
let expectedError;
|
|
741
|
+
try {
|
|
742
|
+
await alice.rootClient.request({
|
|
743
|
+
url: new URL(`/space/${alice.space1.id}/hmac-remove-locked`, serverUrl).toString(),
|
|
744
|
+
method: 'PUT',
|
|
745
|
+
action: 'PUT',
|
|
746
|
+
json: { id: 'hmac-remove-locked', encryption: { scheme: 'edv' } }
|
|
747
|
+
});
|
|
748
|
+
}
|
|
749
|
+
catch (err) {
|
|
750
|
+
expectedError = err;
|
|
751
|
+
}
|
|
752
|
+
assert.ok(expectedError, 'expected the hmac removal to be rejected');
|
|
753
|
+
assert.equal(expectedError.response.status, 409);
|
|
754
|
+
assert.equal(expectedError.data.type, 'https://wallet.storage/spec#encryption-immutable');
|
|
755
|
+
const read = await alice.rootClient.request({
|
|
756
|
+
url: new URL(`/space/${alice.space1.id}/hmac-remove-locked`, serverUrl).toString(),
|
|
757
|
+
method: 'GET'
|
|
758
|
+
});
|
|
759
|
+
assert.deepStrictEqual(read.data.encryption, hmacDescriptor());
|
|
760
|
+
}
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
id: 'encryption.hmac-recipients-change-accepted',
|
|
764
|
+
name: '[root] an update may change the hmac recipients',
|
|
765
|
+
specRefs: [
|
|
766
|
+
'https://wallet.storage/spec#key-epoch-server-validation',
|
|
767
|
+
'https://wallet.storage/spec#blinding-key-member'
|
|
768
|
+
],
|
|
769
|
+
run: async (ctx, state) => {
|
|
770
|
+
const { serverUrl } = ctx;
|
|
771
|
+
const { alice, createCollection } = state;
|
|
772
|
+
const created = await createCollection({
|
|
773
|
+
id: 'hmac-rewrap',
|
|
774
|
+
encryption: hmacDescriptor()
|
|
775
|
+
});
|
|
776
|
+
assert.equal(created.status, 201);
|
|
777
|
+
// Adding a reader wraps the blinding key to it; the key itself (its
|
|
778
|
+
// `id` and `type`) is unchanged.
|
|
779
|
+
const rewrapped = hmacDescriptor();
|
|
780
|
+
rewrapped.hmac.recipients = [
|
|
781
|
+
recipient('did:key:zApp1#ka'),
|
|
782
|
+
recipient('did:key:zApp3#ka')
|
|
783
|
+
];
|
|
784
|
+
const response = await alice.rootClient.request({
|
|
785
|
+
url: new URL(`/space/${alice.space1.id}/hmac-rewrap`, serverUrl).toString(),
|
|
786
|
+
method: 'PUT',
|
|
787
|
+
action: 'PUT',
|
|
788
|
+
json: { id: 'hmac-rewrap', encryption: rewrapped }
|
|
789
|
+
});
|
|
790
|
+
assert.ok(response.status >= 200 && response.status < 300, `expected the recipients change to be accepted, got ${response.status}`);
|
|
791
|
+
const read = await alice.rootClient.request({
|
|
792
|
+
url: new URL(`/space/${alice.space1.id}/hmac-rewrap`, serverUrl).toString(),
|
|
793
|
+
method: 'GET'
|
|
794
|
+
});
|
|
795
|
+
assert.deepStrictEqual(read.data.encryption, rewrapped);
|
|
796
|
+
}
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
id: 'encryption.hmac-late-introduction-accepted',
|
|
800
|
+
name: '[root] an update may introduce hmac on a descriptor that lacks it',
|
|
801
|
+
specRefs: [
|
|
802
|
+
'https://wallet.storage/spec#key-epoch-server-validation',
|
|
803
|
+
'https://wallet.storage/spec#blinding-key-member'
|
|
804
|
+
],
|
|
805
|
+
run: async (ctx, state) => {
|
|
806
|
+
const { serverUrl } = ctx;
|
|
807
|
+
const { alice, createCollection } = state;
|
|
808
|
+
// Whether a client may install the key after provisioning is a
|
|
809
|
+
// client-profile rule; the server treats late introduction as a first
|
|
810
|
+
// declaration and accepts it.
|
|
811
|
+
const created = await createCollection({
|
|
812
|
+
id: 'hmac-late',
|
|
813
|
+
encryption: { scheme: 'edv' }
|
|
814
|
+
});
|
|
815
|
+
assert.equal(created.status, 201);
|
|
816
|
+
const response = await alice.rootClient.request({
|
|
817
|
+
url: new URL(`/space/${alice.space1.id}/hmac-late`, serverUrl).toString(),
|
|
818
|
+
method: 'PUT',
|
|
819
|
+
action: 'PUT',
|
|
820
|
+
json: { id: 'hmac-late', encryption: hmacDescriptor() }
|
|
821
|
+
});
|
|
822
|
+
assert.ok(response.status >= 200 && response.status < 300, `expected the late hmac introduction to be accepted, got ${response.status}`);
|
|
823
|
+
const read = await alice.rootClient.request({
|
|
824
|
+
url: new URL(`/space/${alice.space1.id}/hmac-late`, serverUrl).toString(),
|
|
825
|
+
method: 'GET'
|
|
826
|
+
});
|
|
827
|
+
assert.deepStrictEqual(read.data.encryption, hmacDescriptor());
|
|
828
|
+
}
|
|
596
829
|
}
|
|
597
830
|
]
|
|
598
831
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption-descriptor-api.js","sourceRoot":"","sources":["../../src/suites/encryption-descriptor-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"encryption-descriptor-api.js","sourceRoot":"","sources":["../../src/suites/encryption-descriptor-api.ts"],"names":[],"mappings":"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"}
|
package/dist/suites/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import { delegationCryptosuitesApi } from './delegation-cryptosuites-api.js';
|
|
|
17
17
|
import { digestApi } from './digest-api.js';
|
|
18
18
|
import { encryptionDescriptorApi } from './encryption-descriptor-api.js';
|
|
19
19
|
import { invocationTargetApi } from './invocation-target-api.js';
|
|
20
|
+
import { plaintextDeclarationApi } from './plaintext-declaration-api.js';
|
|
20
21
|
import { policyApi } from './policy-api.js';
|
|
21
22
|
import { resourceApi } from './resource-api.js';
|
|
22
23
|
import { server } from './server.js';
|
|
@@ -27,5 +28,5 @@ import { writeValidationApi } from './write-validation-api.js';
|
|
|
27
28
|
* original file-alphabetical execution order of the ported suite).
|
|
28
29
|
*/
|
|
29
30
|
export declare const suites: Array<Suite<any>>;
|
|
30
|
-
export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, digestApi, encryptionDescriptorApi, invocationTargetApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
|
|
31
|
+
export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, digestApi, encryptionDescriptorApi, invocationTargetApi, plaintextDeclarationApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
|
|
31
32
|
//# 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,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,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,
|
|
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,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,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,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,CAsBpC,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,SAAS,EACT,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
|
package/dist/suites/index.js
CHANGED
|
@@ -13,6 +13,7 @@ import { delegationCryptosuitesApi } from './delegation-cryptosuites-api.js';
|
|
|
13
13
|
import { digestApi } from './digest-api.js';
|
|
14
14
|
import { encryptionDescriptorApi } from './encryption-descriptor-api.js';
|
|
15
15
|
import { invocationTargetApi } from './invocation-target-api.js';
|
|
16
|
+
import { plaintextDeclarationApi } from './plaintext-declaration-api.js';
|
|
16
17
|
import { policyApi } from './policy-api.js';
|
|
17
18
|
import { resourceApi } from './resource-api.js';
|
|
18
19
|
import { server } from './server.js';
|
|
@@ -38,11 +39,12 @@ export const suites = [
|
|
|
38
39
|
digestApi,
|
|
39
40
|
encryptionDescriptorApi,
|
|
40
41
|
invocationTargetApi,
|
|
42
|
+
plaintextDeclarationApi,
|
|
41
43
|
policyApi,
|
|
42
44
|
resourceApi,
|
|
43
45
|
server,
|
|
44
46
|
spacesApi,
|
|
45
47
|
writeValidationApi
|
|
46
48
|
];
|
|
47
|
-
export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, digestApi, encryptionDescriptorApi, invocationTargetApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
|
|
49
|
+
export { authzOrderingApi, blindedIndexApi, changesQueryApi, chunksApi, clientBackends, clientDelegation, clientExportImport, clientResources, clientSpaces, collectionApi, conditionalRequestsApi, delegationCryptosuitesApi, digestApi, encryptionDescriptorApi, invocationTargetApi, plaintextDeclarationApi, policyApi, resourceApi, server, spacesApi, writeValidationApi };
|
|
48
50
|
//# sourceMappingURL=index.js.map
|
package/dist/suites/index.js.map
CHANGED
|
@@ -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,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,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,SAAS;IACT,uBAAuB;IACvB,mBAAmB;IACnB,SAAS;IACT,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,SAAS,EACT,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,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,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,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,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,SAAS;IACT,uBAAuB;IACvB,mBAAmB;IACnB,uBAAuB;IACvB,SAAS;IACT,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,SAAS,EACT,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,kBAAkB,EACnB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Suite } from '../harness/types.js';
|
|
2
|
+
interface State {
|
|
3
|
+
alice: any;
|
|
4
|
+
collectionUrl: (collectionId: string) => string;
|
|
5
|
+
resourceUrl: (collectionId: string, resourceId: string) => string;
|
|
6
|
+
createCollection: (json: object) => Promise<any>;
|
|
7
|
+
putCollection: (collectionId: string, json: object) => Promise<any>;
|
|
8
|
+
readCollection: (collectionId: string) => Promise<any>;
|
|
9
|
+
}
|
|
10
|
+
export declare const plaintextDeclarationApi: Suite<State>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=plaintext-declaration-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plaintext-declaration-api.d.ts","sourceRoot":"","sources":["../../src/suites/plaintext-declaration-api.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,UAAU,KAAK;IACb,KAAK,EAAE,GAAG,CAAA;IACV,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/C,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAA;IACjE,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAChD,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACnE,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACvD;AAoBD,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAkZhD,CAAA"}
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* WAS conformance tests -- the Collection `plaintext` member and its `indexes`
|
|
6
|
+
* declaration (server-side plaintext indexing for the `equality` query
|
|
7
|
+
* profile). `plaintext` is the counterpart of `encryption`: at most one of the
|
|
8
|
+
* two is present on a Collection Description, by presence, so an empty
|
|
9
|
+
* `plaintext` object still excludes `encryption`. Unlike the set-once
|
|
10
|
+
* `encryption`, `plaintext` is updatable for the Collection's life; `{}` is
|
|
11
|
+
* its empty state.
|
|
12
|
+
*
|
|
13
|
+
* The suite is optional until the spec text for `plaintext` and the `equality`
|
|
14
|
+
* profile is published; the shape is settled by the spec's decision record on
|
|
15
|
+
* plaintext and encryption counterparts.
|
|
16
|
+
*/
|
|
17
|
+
import assert from '../harness/assert.js';
|
|
18
|
+
/**
|
|
19
|
+
* Runs a request expected to fail and returns the thrown error, failing the
|
|
20
|
+
* test when the request unexpectedly succeeds.
|
|
21
|
+
* @param request {Promise<unknown>}
|
|
22
|
+
* @param message {string}
|
|
23
|
+
* @returns {Promise<any>}
|
|
24
|
+
*/
|
|
25
|
+
async function rejection(request, message) {
|
|
26
|
+
let expectedError;
|
|
27
|
+
try {
|
|
28
|
+
await request;
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
expectedError = err;
|
|
32
|
+
}
|
|
33
|
+
assert.ok(expectedError, message);
|
|
34
|
+
return expectedError;
|
|
35
|
+
}
|
|
36
|
+
export const plaintextDeclarationApi = {
|
|
37
|
+
id: 'plaintext-declaration-api',
|
|
38
|
+
name: 'Plaintext declaration API',
|
|
39
|
+
optional: true,
|
|
40
|
+
specRefs: ['https://wallet.storage/spec#collection-data-model'],
|
|
41
|
+
setup: async (ctx) => {
|
|
42
|
+
const { serverUrl } = ctx;
|
|
43
|
+
const alice = { ...ctx.actors.alice };
|
|
44
|
+
alice.space1 = { id: ctx.generateId() };
|
|
45
|
+
await ctx.createSpace({
|
|
46
|
+
spaceDescription: {
|
|
47
|
+
id: alice.space1.id,
|
|
48
|
+
name: "Alice's Plaintext Space",
|
|
49
|
+
controller: alice.did
|
|
50
|
+
},
|
|
51
|
+
rootClient: alice.rootClient
|
|
52
|
+
});
|
|
53
|
+
function collectionUrl(collectionId) {
|
|
54
|
+
return new URL(`/space/${alice.space1.id}/${collectionId}`, serverUrl).toString();
|
|
55
|
+
}
|
|
56
|
+
function resourceUrl(collectionId, resourceId) {
|
|
57
|
+
return new URL(`/space/${alice.space1.id}/${collectionId}/${resourceId}`, serverUrl).toString();
|
|
58
|
+
}
|
|
59
|
+
/** POSTs a Collection (raw, so a `plaintext` member can be sent). */
|
|
60
|
+
function createCollection(json) {
|
|
61
|
+
return alice.rootClient.request({
|
|
62
|
+
url: new URL(`/space/${alice.space1.id}/`, serverUrl).toString(),
|
|
63
|
+
method: 'POST',
|
|
64
|
+
action: 'POST',
|
|
65
|
+
json
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/** PUTs a Collection Description by id (create-by-id or update). */
|
|
69
|
+
function putCollection(collectionId, json) {
|
|
70
|
+
return alice.rootClient.request({
|
|
71
|
+
url: collectionUrl(collectionId),
|
|
72
|
+
method: 'PUT',
|
|
73
|
+
action: 'PUT',
|
|
74
|
+
json
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function readCollection(collectionId) {
|
|
78
|
+
return alice.rootClient.request({
|
|
79
|
+
url: collectionUrl(collectionId),
|
|
80
|
+
method: 'GET'
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
alice,
|
|
85
|
+
collectionUrl,
|
|
86
|
+
resourceUrl,
|
|
87
|
+
createCollection,
|
|
88
|
+
putCollection,
|
|
89
|
+
readCollection
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
teardown: async (ctx, state) => {
|
|
93
|
+
const { alice } = state;
|
|
94
|
+
try {
|
|
95
|
+
await alice.rootClient.request({
|
|
96
|
+
url: new URL(`/space/${alice.space1.id}`, ctx.serverUrl).toString(),
|
|
97
|
+
method: 'DELETE'
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
/* best-effort cleanup */
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
tests: [
|
|
105
|
+
{
|
|
106
|
+
id: 'plaintext.persist-echo-post',
|
|
107
|
+
name: '[root] persists and echoes plaintext.indexes on POST create and on GET',
|
|
108
|
+
specRefs: ['https://wallet.storage/spec#collection-data-model'],
|
|
109
|
+
run: async (ctx, state) => {
|
|
110
|
+
const { createCollection, readCollection } = state;
|
|
111
|
+
const plaintext = {
|
|
112
|
+
indexes: [
|
|
113
|
+
'parentId',
|
|
114
|
+
{ name: 'author' },
|
|
115
|
+
{ name: 'slug', source: 'content', unique: true }
|
|
116
|
+
]
|
|
117
|
+
};
|
|
118
|
+
const response = await createCollection({
|
|
119
|
+
id: 'posts',
|
|
120
|
+
name: 'Posts',
|
|
121
|
+
plaintext
|
|
122
|
+
});
|
|
123
|
+
assert.equal(response.status, 201);
|
|
124
|
+
assert.deepStrictEqual(response.data.plaintext, plaintext);
|
|
125
|
+
assert.equal(response.data.encryption, undefined);
|
|
126
|
+
const read = await readCollection('posts');
|
|
127
|
+
assert.deepStrictEqual(read.data.plaintext, plaintext);
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
id: 'plaintext.persist-echo-put',
|
|
132
|
+
name: '[root] persists and echoes plaintext.indexes on PUT create-by-id',
|
|
133
|
+
specRefs: ['https://wallet.storage/spec#collection-data-model'],
|
|
134
|
+
run: async (ctx, state) => {
|
|
135
|
+
const { putCollection, readCollection } = state;
|
|
136
|
+
const response = await putCollection('posts-put', {
|
|
137
|
+
id: 'posts-put',
|
|
138
|
+
name: 'Posts (PUT)',
|
|
139
|
+
plaintext: { indexes: ['parentId'] }
|
|
140
|
+
});
|
|
141
|
+
assert.equal(response.status, 201);
|
|
142
|
+
assert.deepStrictEqual(response.data.plaintext, {
|
|
143
|
+
indexes: ['parentId']
|
|
144
|
+
});
|
|
145
|
+
const read = await readCollection('posts-put');
|
|
146
|
+
assert.deepStrictEqual(read.data.plaintext, { indexes: ['parentId'] });
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
id: 'plaintext.both-on-create-400',
|
|
151
|
+
name: '[root] plaintext and encryption both present on create is invalid-request-body (400), even an empty plaintext',
|
|
152
|
+
specRefs: [
|
|
153
|
+
'https://wallet.storage/spec#collection-data-model',
|
|
154
|
+
'https://wallet.storage/spec#invalid-request-body'
|
|
155
|
+
],
|
|
156
|
+
run: async (ctx, state) => {
|
|
157
|
+
const { createCollection, putCollection } = state;
|
|
158
|
+
const bodies = [
|
|
159
|
+
{
|
|
160
|
+
id: 'both-post',
|
|
161
|
+
plaintext: { indexes: ['parentId'] },
|
|
162
|
+
encryption: { scheme: 'edv' }
|
|
163
|
+
},
|
|
164
|
+
// Exclusion is by presence: an empty `plaintext` still excludes.
|
|
165
|
+
{
|
|
166
|
+
id: 'both-post-empty',
|
|
167
|
+
plaintext: {},
|
|
168
|
+
encryption: { scheme: 'edv' }
|
|
169
|
+
}
|
|
170
|
+
];
|
|
171
|
+
for (const body of bodies) {
|
|
172
|
+
const postError = await rejection(createCollection(body), `expected the POST create of ${body.id} to be rejected`);
|
|
173
|
+
assert.equal(postError.response.status, 400);
|
|
174
|
+
assert.equal(postError.data.type, 'https://wallet.storage/spec#invalid-request-body');
|
|
175
|
+
const putError = await rejection(putCollection(body.id, body), `expected the PUT create of ${body.id} to be rejected`);
|
|
176
|
+
assert.equal(putError.response.status, 400);
|
|
177
|
+
assert.equal(putError.data.type, 'https://wallet.storage/spec#invalid-request-body');
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
id: 'plaintext.both-on-update-400',
|
|
183
|
+
name: '[root] an update whose result carries both plaintext and encryption is invalid-request-body (400), in either direction',
|
|
184
|
+
specRefs: [
|
|
185
|
+
'https://wallet.storage/spec#collection-data-model',
|
|
186
|
+
'https://wallet.storage/spec#invalid-request-body'
|
|
187
|
+
],
|
|
188
|
+
run: async (ctx, state) => {
|
|
189
|
+
const { createCollection, putCollection, readCollection } = state;
|
|
190
|
+
// Adding `plaintext` (even empty) to an encrypted Collection.
|
|
191
|
+
await createCollection({
|
|
192
|
+
id: 'enc-first',
|
|
193
|
+
encryption: { scheme: 'edv' }
|
|
194
|
+
});
|
|
195
|
+
for (const plaintext of [{ indexes: ['parentId'] }, {}]) {
|
|
196
|
+
const err = await rejection(putCollection('enc-first', { id: 'enc-first', plaintext }), 'expected adding plaintext to an encrypted Collection to be rejected');
|
|
197
|
+
assert.equal(err.response.status, 400);
|
|
198
|
+
assert.equal(err.data.type, 'https://wallet.storage/spec#invalid-request-body');
|
|
199
|
+
}
|
|
200
|
+
const encrypted = await readCollection('enc-first');
|
|
201
|
+
assert.deepStrictEqual(encrypted.data.encryption, { scheme: 'edv' });
|
|
202
|
+
assert.equal(encrypted.data.plaintext, undefined);
|
|
203
|
+
// Adding `encryption` to a Collection carrying `plaintext`.
|
|
204
|
+
await createCollection({ id: 'plain-first', plaintext: {} });
|
|
205
|
+
const err = await rejection(putCollection('plain-first', {
|
|
206
|
+
id: 'plain-first',
|
|
207
|
+
encryption: { scheme: 'edv' }
|
|
208
|
+
}), 'expected adding encryption to a plaintext-declared Collection to be rejected');
|
|
209
|
+
assert.equal(err.response.status, 400);
|
|
210
|
+
assert.equal(err.data.type, 'https://wallet.storage/spec#invalid-request-body');
|
|
211
|
+
const plain = await readCollection('plain-first');
|
|
212
|
+
assert.deepStrictEqual(plain.data.plaintext, {});
|
|
213
|
+
assert.equal(plain.data.encryption, undefined);
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
id: 'plaintext.malformed-400',
|
|
218
|
+
name: '[root] rejects a malformed plaintext member (400 invalid-request-body)',
|
|
219
|
+
specRefs: ['https://wallet.storage/spec#invalid-request-body'],
|
|
220
|
+
run: async (ctx, state) => {
|
|
221
|
+
const { createCollection, readCollection } = state;
|
|
222
|
+
const malformed = [
|
|
223
|
+
{ label: 'a non-object plaintext', plaintext: ['parentId'] },
|
|
224
|
+
{ label: 'a non-array indexes', plaintext: { indexes: 'parentId' } },
|
|
225
|
+
{ label: 'an empty-string entry', plaintext: { indexes: [''] } },
|
|
226
|
+
{
|
|
227
|
+
label: 'an object entry without a name',
|
|
228
|
+
plaintext: { indexes: [{ source: 'content' }] }
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
label: 'a duplicate name across sources',
|
|
232
|
+
plaintext: { indexes: ['tag', { name: 'tag', source: 'custom' }] }
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
label: 'an unknown source',
|
|
236
|
+
plaintext: { indexes: [{ name: 'x', source: 'elsewhere' }] }
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
label: 'a non-boolean unique',
|
|
240
|
+
plaintext: { indexes: [{ name: 'x', unique: 'yes' }] }
|
|
241
|
+
}
|
|
242
|
+
];
|
|
243
|
+
for (const { label, plaintext } of malformed) {
|
|
244
|
+
const err = await rejection(createCollection({ id: 'malformed', plaintext }), `expected ${label} to be rejected`);
|
|
245
|
+
assert.equal(err.response.status, 400, label);
|
|
246
|
+
assert.equal(err.data.type, 'https://wallet.storage/spec#invalid-request-body', label);
|
|
247
|
+
}
|
|
248
|
+
// None of the rejected creates left a Collection behind.
|
|
249
|
+
const err = await rejection(readCollection('malformed'), 'expected no Collection to exist after the rejected creates');
|
|
250
|
+
assert.equal(err.response.status, 404);
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
id: 'plaintext.updatable',
|
|
255
|
+
name: '[root] plaintext is updatable on an existing Collection: added, changed, and emptied with {}; an absent member is left untouched',
|
|
256
|
+
specRefs: ['https://wallet.storage/spec#collection-data-model'],
|
|
257
|
+
run: async (ctx, state) => {
|
|
258
|
+
const { createCollection, putCollection, readCollection } = state;
|
|
259
|
+
// Born without `plaintext`.
|
|
260
|
+
await createCollection({ id: 'evolving', name: 'Evolving' });
|
|
261
|
+
let read = await readCollection('evolving');
|
|
262
|
+
assert.equal(read.data.plaintext, undefined);
|
|
263
|
+
// Add.
|
|
264
|
+
await putCollection('evolving', {
|
|
265
|
+
id: 'evolving',
|
|
266
|
+
plaintext: { indexes: ['parentId'] }
|
|
267
|
+
});
|
|
268
|
+
read = await readCollection('evolving');
|
|
269
|
+
assert.deepStrictEqual(read.data.plaintext, { indexes: ['parentId'] });
|
|
270
|
+
// An update that omits `plaintext` leaves it untouched.
|
|
271
|
+
await putCollection('evolving', { id: 'evolving', name: 'Renamed' });
|
|
272
|
+
read = await readCollection('evolving');
|
|
273
|
+
assert.equal(read.data.name, 'Renamed');
|
|
274
|
+
assert.deepStrictEqual(read.data.plaintext, { indexes: ['parentId'] });
|
|
275
|
+
// Change: the supplied object replaces the stored one.
|
|
276
|
+
await putCollection('evolving', {
|
|
277
|
+
id: 'evolving',
|
|
278
|
+
plaintext: { indexes: ['author', { name: 'slug', unique: true }] }
|
|
279
|
+
});
|
|
280
|
+
read = await readCollection('evolving');
|
|
281
|
+
assert.deepStrictEqual(read.data.plaintext, {
|
|
282
|
+
indexes: ['author', { name: 'slug', unique: true }]
|
|
283
|
+
});
|
|
284
|
+
// `{}` is the empty state: still present, no declaration.
|
|
285
|
+
await putCollection('evolving', { id: 'evolving', plaintext: {} });
|
|
286
|
+
read = await readCollection('evolving');
|
|
287
|
+
assert.deepStrictEqual(read.data.plaintext, {});
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
id: 'plaintext.unique-conflict-409',
|
|
292
|
+
name: '[root] a write claiming a held unique plaintext attribute value is id-conflict (409)',
|
|
293
|
+
specRefs: [
|
|
294
|
+
'https://wallet.storage/spec#collection-data-model',
|
|
295
|
+
'https://wallet.storage/spec#id-conflict'
|
|
296
|
+
],
|
|
297
|
+
run: async (ctx, state) => {
|
|
298
|
+
const { alice, createCollection, resourceUrl } = state;
|
|
299
|
+
await createCollection({
|
|
300
|
+
id: 'unique-slugs',
|
|
301
|
+
plaintext: { indexes: [{ name: 'slug', unique: true }] }
|
|
302
|
+
});
|
|
303
|
+
const holder = await alice.rootClient.request({
|
|
304
|
+
url: resourceUrl('unique-slugs', 'holder'),
|
|
305
|
+
method: 'PUT',
|
|
306
|
+
action: 'PUT',
|
|
307
|
+
json: { id: 'holder', slug: 'hello-world' }
|
|
308
|
+
});
|
|
309
|
+
assert.ok([200, 201, 204].includes(holder.status));
|
|
310
|
+
// A different Resource claiming the same `(slug, 'hello-world')`.
|
|
311
|
+
const conflictError = await rejection(alice.rootClient.request({
|
|
312
|
+
url: resourceUrl('unique-slugs', 'claimant'),
|
|
313
|
+
method: 'PUT',
|
|
314
|
+
action: 'PUT',
|
|
315
|
+
json: { id: 'claimant', slug: 'hello-world' }
|
|
316
|
+
}), 'expected the conflicting claim to be rejected');
|
|
317
|
+
assert.equal(conflictError.response.status, 409);
|
|
318
|
+
assert.equal(conflictError.data.type, 'https://wallet.storage/spec#id-conflict');
|
|
319
|
+
// The holder re-asserting its own value never self-conflicts.
|
|
320
|
+
const reassert = await alice.rootClient.request({
|
|
321
|
+
url: resourceUrl('unique-slugs', 'holder'),
|
|
322
|
+
method: 'PUT',
|
|
323
|
+
action: 'PUT',
|
|
324
|
+
json: { id: 'holder', slug: 'hello-world', edited: true }
|
|
325
|
+
});
|
|
326
|
+
assert.ok([200, 201, 204].includes(reassert.status));
|
|
327
|
+
// A different value coexists freely.
|
|
328
|
+
const other = await alice.rootClient.request({
|
|
329
|
+
url: resourceUrl('unique-slugs', 'other'),
|
|
330
|
+
method: 'PUT',
|
|
331
|
+
action: 'PUT',
|
|
332
|
+
json: { id: 'other', slug: 'second-post' }
|
|
333
|
+
});
|
|
334
|
+
assert.ok([200, 201, 204].includes(other.status));
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
id: 'plaintext.unique-declare-conflict-409',
|
|
339
|
+
name: '[root] promoting an attribute to unique over Resources that already collide is id-conflict (409)',
|
|
340
|
+
specRefs: [
|
|
341
|
+
'https://wallet.storage/spec#collection-data-model',
|
|
342
|
+
'https://wallet.storage/spec#id-conflict'
|
|
343
|
+
],
|
|
344
|
+
run: async (ctx, state) => {
|
|
345
|
+
const { alice, createCollection, putCollection, readCollection, resourceUrl } = state;
|
|
346
|
+
await createCollection({
|
|
347
|
+
id: 'late-unique',
|
|
348
|
+
plaintext: { indexes: ['slug'] }
|
|
349
|
+
});
|
|
350
|
+
for (const resourceId of ['first', 'second']) {
|
|
351
|
+
await alice.rootClient.request({
|
|
352
|
+
url: resourceUrl('late-unique', resourceId),
|
|
353
|
+
method: 'PUT',
|
|
354
|
+
action: 'PUT',
|
|
355
|
+
json: { id: resourceId, slug: 'same' }
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
const err = await rejection(putCollection('late-unique', {
|
|
359
|
+
id: 'late-unique',
|
|
360
|
+
plaintext: { indexes: [{ name: 'slug', unique: true }] }
|
|
361
|
+
}), 'expected the unique promotion over colliding Resources to be rejected');
|
|
362
|
+
assert.equal(err.response.status, 409);
|
|
363
|
+
assert.equal(err.data.type, 'https://wallet.storage/spec#id-conflict');
|
|
364
|
+
// The stored declaration is unchanged.
|
|
365
|
+
const read = await readCollection('late-unique');
|
|
366
|
+
assert.deepStrictEqual(read.data.plaintext, { indexes: ['slug'] });
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
]
|
|
370
|
+
};
|
|
371
|
+
//# sourceMappingURL=plaintext-declaration-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plaintext-declaration-api.js","sourceRoot":"","sources":["../../src/suites/plaintext-declaration-api.ts"],"names":[],"mappings":"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"}
|
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.
|
|
4
|
+
"version": "0.9.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "pnpm run clear && tsc",
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@digitalcredentials/bnid": "^5.0.0",
|
|
45
45
|
"@interop/data-integrity-core": "^8.7.1",
|
|
46
|
-
"@interop/ed25519-signature": "^7.2.
|
|
47
|
-
"@interop/ed25519-verification-key": "^8.0
|
|
48
|
-
"@interop/ezcap": "^7.4.
|
|
46
|
+
"@interop/ed25519-signature": "^7.2.1",
|
|
47
|
+
"@interop/ed25519-verification-key": "^8.1.0",
|
|
48
|
+
"@interop/ezcap": "^7.4.6",
|
|
49
49
|
"@interop/http-digest-header": "^3.1.0",
|
|
50
|
-
"@interop/http-signature-zcap-invoke": "^6.2.
|
|
51
|
-
"@interop/x25519-key-agreement-key": "^5.
|
|
50
|
+
"@interop/http-signature-zcap-invoke": "^6.2.6",
|
|
51
|
+
"@interop/x25519-key-agreement-key": "^5.3.0",
|
|
52
52
|
"assert": "^2.1.0",
|
|
53
53
|
"uuid": "^14.0.0"
|
|
54
54
|
},
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@eslint/js": "^10.0.1",
|
|
60
|
-
"@interop/was-client": "^0.
|
|
60
|
+
"@interop/was-client": "^0.49.0",
|
|
61
61
|
"@playwright/test": "^1.60.0",
|
|
62
62
|
"@types/node": "^26.0.1",
|
|
63
63
|
"@vitest/coverage-v8": "^4.1.7",
|