cojson 0.18.32 → 0.18.33
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +9 -0
- package/dist/SyncStateManager.d.ts.map +1 -1
- package/dist/SyncStateManager.js +2 -2
- package/dist/SyncStateManager.js.map +1 -1
- package/dist/coValueCore/SessionMap.d.ts +1 -0
- package/dist/coValueCore/SessionMap.d.ts.map +1 -1
- package/dist/coValueCore/SessionMap.js +17 -1
- package/dist/coValueCore/SessionMap.js.map +1 -1
- package/dist/coValueCore/coValueCore.d.ts +14 -9
- package/dist/coValueCore/coValueCore.d.ts.map +1 -1
- package/dist/coValueCore/coValueCore.js +62 -47
- package/dist/coValueCore/coValueCore.js.map +1 -1
- package/dist/coValueCore/verifiedState.d.ts +2 -2
- package/dist/coValueCore/verifiedState.d.ts.map +1 -1
- package/dist/coValueCore/verifiedState.js +86 -75
- package/dist/coValueCore/verifiedState.js.map +1 -1
- package/dist/coValues/group.d.ts +1 -0
- package/dist/coValues/group.d.ts.map +1 -1
- package/dist/coValues/group.js +24 -4
- package/dist/coValues/group.js.map +1 -1
- package/dist/knownState.d.ts +1 -1
- package/dist/knownState.d.ts.map +1 -1
- package/dist/knownState.js +1 -1
- package/dist/knownState.js.map +1 -1
- package/dist/localNode.d.ts.map +1 -1
- package/dist/localNode.js +1 -2
- package/dist/localNode.js.map +1 -1
- package/dist/queue/LocalTransactionsSyncQueue.d.ts.map +1 -1
- package/dist/queue/LocalTransactionsSyncQueue.js +16 -1
- package/dist/queue/LocalTransactionsSyncQueue.js.map +1 -1
- package/dist/storage/knownState.js +2 -2
- package/dist/storage/knownState.js.map +1 -1
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +8 -2
- package/dist/sync.js.map +1 -1
- package/dist/tests/PureJSCrypto.test.js +1 -1
- package/dist/tests/PureJSCrypto.test.js.map +1 -1
- package/dist/tests/StorageApiAsync.test.js +11 -11
- package/dist/tests/StorageApiAsync.test.js.map +1 -1
- package/dist/tests/StorageApiSync.test.js +3 -3
- package/dist/tests/StorageApiSync.test.js.map +1 -1
- package/dist/tests/WasmCrypto.test.js +1 -1
- package/dist/tests/WasmCrypto.test.js.map +1 -1
- package/dist/tests/coPlainText.test.js +1 -1
- package/dist/tests/coStream.test.js +12 -12
- package/dist/tests/coStream.test.js.map +1 -1
- package/dist/tests/coValueCore.isCompletelyDownloaded.test.d.ts +2 -0
- package/dist/tests/coValueCore.isCompletelyDownloaded.test.d.ts.map +1 -0
- package/dist/tests/coValueCore.isCompletelyDownloaded.test.js +421 -0
- package/dist/tests/coValueCore.isCompletelyDownloaded.test.js.map +1 -0
- package/dist/tests/coValueCore.isStreaming.test.d.ts +2 -0
- package/dist/tests/coValueCore.isStreaming.test.d.ts.map +1 -0
- package/dist/tests/coValueCore.isStreaming.test.js +181 -0
- package/dist/tests/coValueCore.isStreaming.test.js.map +1 -0
- package/dist/tests/coValueCore.newContentSince.test.d.ts +2 -0
- package/dist/tests/coValueCore.newContentSince.test.d.ts.map +1 -0
- package/dist/tests/coValueCore.newContentSince.test.js +808 -0
- package/dist/tests/coValueCore.newContentSince.test.js.map +1 -0
- package/dist/tests/coreWasm.test.js +2 -2
- package/dist/tests/coreWasm.test.js.map +1 -1
- package/dist/tests/group.childKeyRotation.test.d.ts +2 -0
- package/dist/tests/group.childKeyRotation.test.d.ts.map +1 -0
- package/dist/tests/group.childKeyRotation.test.js +261 -0
- package/dist/tests/group.childKeyRotation.test.js.map +1 -0
- package/dist/tests/group.removeMember.test.js +1 -114
- package/dist/tests/group.removeMember.test.js.map +1 -1
- package/dist/tests/knownState.test.js +11 -11
- package/dist/tests/knownState.test.js.map +1 -1
- package/dist/tests/sync.auth.test.js +6 -6
- package/dist/tests/sync.load.test.js +68 -5
- package/dist/tests/sync.load.test.js.map +1 -1
- package/dist/tests/sync.mesh.test.js +11 -17
- package/dist/tests/sync.mesh.test.js.map +1 -1
- package/dist/tests/sync.peerReconciliation.test.js +1 -1
- package/dist/tests/sync.storage.test.js +7 -7
- package/dist/tests/sync.storage.test.js.map +1 -1
- package/dist/tests/sync.storageAsync.test.js +4 -4
- package/dist/tests/sync.storageAsync.test.js.map +1 -1
- package/dist/tests/sync.upload.test.js +96 -40
- package/dist/tests/sync.upload.test.js.map +1 -1
- package/dist/tests/testUtils.d.ts +2 -0
- package/dist/tests/testUtils.d.ts.map +1 -1
- package/dist/tests/testUtils.js +22 -1
- package/dist/tests/testUtils.js.map +1 -1
- package/package.json +3 -3
- package/src/SyncStateManager.ts +2 -5
- package/src/coValueCore/SessionMap.ts +24 -0
- package/src/coValueCore/coValueCore.ts +77 -55
- package/src/coValueCore/verifiedState.ts +123 -108
- package/src/coValues/group.ts +27 -4
- package/src/knownState.ts +1 -1
- package/src/localNode.ts +1 -2
- package/src/queue/LocalTransactionsSyncQueue.ts +25 -0
- package/src/storage/knownState.ts +2 -2
- package/src/sync.ts +7 -2
- package/src/tests/PureJSCrypto.test.ts +1 -2
- package/src/tests/StorageApiAsync.test.ts +11 -11
- package/src/tests/StorageApiSync.test.ts +3 -3
- package/src/tests/WasmCrypto.test.ts +1 -2
- package/src/tests/coPlainText.test.ts +1 -1
- package/src/tests/coStream.test.ts +12 -12
- package/src/tests/coValueCore.isCompletelyDownloaded.test.ts +589 -0
- package/src/tests/coValueCore.isStreaming.test.ts +271 -0
- package/src/tests/coValueCore.newContentSince.test.ts +966 -0
- package/src/tests/coreWasm.test.ts +2 -2
- package/src/tests/group.childKeyRotation.test.ts +431 -0
- package/src/tests/group.removeMember.test.ts +1 -184
- package/src/tests/knownState.test.ts +11 -11
- package/src/tests/sync.auth.test.ts +6 -6
- package/src/tests/sync.load.test.ts +80 -5
- package/src/tests/sync.mesh.test.ts +11 -17
- package/src/tests/sync.peerReconciliation.test.ts +1 -1
- package/src/tests/sync.storage.test.ts +7 -7
- package/src/tests/sync.storageAsync.test.ts +4 -4
- package/src/tests/sync.upload.test.ts +106 -40
- package/src/tests/testUtils.ts +24 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coValueCore.newContentSince.test.js","sourceRoot":"","sources":["../../src/tests/coValueCore.newContentSince.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ describe("SessionLog WASM", () => {
|
|
|
23
23
|
it("test_add_from_example_json", () => {
|
|
24
24
|
const { agent, session, node } = createTestNode();
|
|
25
25
|
const group = node.createGroup();
|
|
26
|
-
const sessionContent = group.core.
|
|
26
|
+
const sessionContent = group.core.newContentSince(undefined)?.[0]?.new[session];
|
|
27
27
|
assert(sessionContent);
|
|
28
28
|
let log = wasmCrypto.createSessionLog(group.id, session, agent.currentSignerID());
|
|
29
29
|
log.tryAdd(sessionContent.newTransactions, sessionContent.lastSignature, false);
|
|
@@ -31,7 +31,7 @@ describe("SessionLog WASM", () => {
|
|
|
31
31
|
it("test_add_new_transaction", () => {
|
|
32
32
|
const { agent, session, node } = createTestNode();
|
|
33
33
|
const group = node.createGroup();
|
|
34
|
-
const sessionContent = group.core.
|
|
34
|
+
const sessionContent = group.core.newContentSince(undefined)?.[0]?.new[session];
|
|
35
35
|
assert(sessionContent);
|
|
36
36
|
let log = wasmCrypto.createSessionLog(group.id, session, agent.currentSignerID());
|
|
37
37
|
const changesJson = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreWasm.test.js","sourceRoot":"","sources":["../../src/tests/coreWasm.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAa,SAAS,EAAa,MAAM,YAAY,CAAC;AAC7D,OAAO,EACL,2BAA2B,GAE5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;AAC7C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;AAE7C,MAAM,WAAW,GACf,uHAAuH,CAAC;AAE1H,SAAS,cAAc;IACrB,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAClE,OAAO;QACL,KAAK;QACL,OAAO;QACP,IAAI,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;QAClB,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAEpE,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CACzC,UAAiB,EACjB,SAAS,EACT,KAAK,CAAC,eAAe,EAAE,CACxB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;QAElD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,cAAc,GAClB,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"coreWasm.test.js","sourceRoot":"","sources":["../../src/tests/coreWasm.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group.childKeyRotation.test.d.ts","sourceRoot":"","sources":["../../src/tests/group.childKeyRotation.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import { assert, beforeEach, describe, expect, test } from "vitest";
|
|
2
|
+
import { setCoValueLoadingRetryDelay } from "../config.js";
|
|
3
|
+
import { SyncMessagesLog, TEST_NODE_CONFIG, loadCoValueOrFail, setupTestAccount, setupTestNode, waitFor, } from "./testUtils.js";
|
|
4
|
+
// We want to simulate a real world communication that happens asynchronously
|
|
5
|
+
TEST_NODE_CONFIG.withAsyncPeers = true;
|
|
6
|
+
setCoValueLoadingRetryDelay(10);
|
|
7
|
+
let jazzCloud;
|
|
8
|
+
beforeEach(async () => {
|
|
9
|
+
SyncMessagesLog.clear();
|
|
10
|
+
jazzCloud = setupTestNode({ isSyncServer: true });
|
|
11
|
+
});
|
|
12
|
+
describe("Group.childKeyRotation", () => {
|
|
13
|
+
let admin;
|
|
14
|
+
let bob;
|
|
15
|
+
let alice;
|
|
16
|
+
let charlie;
|
|
17
|
+
let aliceOnAdminNode;
|
|
18
|
+
let bobOnAdminNode;
|
|
19
|
+
let charlieOnAdminNode;
|
|
20
|
+
beforeEach(async () => {
|
|
21
|
+
admin = await setupTestAccount({
|
|
22
|
+
connected: true,
|
|
23
|
+
});
|
|
24
|
+
alice = await setupTestAccount({
|
|
25
|
+
connected: true,
|
|
26
|
+
});
|
|
27
|
+
bob = await setupTestAccount({
|
|
28
|
+
connected: true,
|
|
29
|
+
});
|
|
30
|
+
charlie = await setupTestAccount({
|
|
31
|
+
connected: true,
|
|
32
|
+
});
|
|
33
|
+
aliceOnAdminNode = await loadCoValueOrFail(admin.node, alice.accountID);
|
|
34
|
+
bobOnAdminNode = await loadCoValueOrFail(admin.node, bob.accountID);
|
|
35
|
+
charlieOnAdminNode = await loadCoValueOrFail(admin.node, charlie.accountID);
|
|
36
|
+
});
|
|
37
|
+
test("removing a member should rotate the readKey on available child groups", async () => {
|
|
38
|
+
const group = admin.node.createGroup();
|
|
39
|
+
const childGroup = admin.node.createGroup();
|
|
40
|
+
group.addMember(aliceOnAdminNode, "reader");
|
|
41
|
+
childGroup.extend(group);
|
|
42
|
+
group.removeMember(aliceOnAdminNode);
|
|
43
|
+
// ReadKey rotated, now alice can't read the map
|
|
44
|
+
const map = childGroup.createMap();
|
|
45
|
+
map.set("test", "Not readable by alice");
|
|
46
|
+
await map.core.waitForSync();
|
|
47
|
+
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
48
|
+
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
49
|
+
});
|
|
50
|
+
test("removing a member should rotate the readKey on unloaded child groups", async () => {
|
|
51
|
+
const group = admin.node.createGroup();
|
|
52
|
+
let childGroup = bob.node.createGroup();
|
|
53
|
+
group.addMember(bobOnAdminNode, "reader");
|
|
54
|
+
group.addMember(aliceOnAdminNode, "reader");
|
|
55
|
+
const groupOnBobNode = await loadCoValueOrFail(bob.node, group.id);
|
|
56
|
+
childGroup.extend(groupOnBobNode);
|
|
57
|
+
await childGroup.core.waitForSync();
|
|
58
|
+
group.removeMember(aliceOnAdminNode);
|
|
59
|
+
// Spinning a new session for bob, to be sure to trigger the group migration
|
|
60
|
+
// that handles the key rotation
|
|
61
|
+
const newBobSession = await bob.spawnNewSession();
|
|
62
|
+
const childGroupOnNewBobNode = await loadCoValueOrFail(newBobSession, childGroup.id);
|
|
63
|
+
// The key should be rotated at this point, so alice can't read the map
|
|
64
|
+
const map = childGroupOnNewBobNode.createMap();
|
|
65
|
+
map.set("test", "Not readable by alice");
|
|
66
|
+
await map.core.waitForSync();
|
|
67
|
+
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
68
|
+
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
69
|
+
});
|
|
70
|
+
test("removing a member on a large group should rotate the readKey on unloaded child group", async () => {
|
|
71
|
+
const group = admin.node.createGroup();
|
|
72
|
+
const childGroup = bob.node.createGroup();
|
|
73
|
+
group.addMember(bobOnAdminNode, "reader");
|
|
74
|
+
group.addMember(aliceOnAdminNode, "reader");
|
|
75
|
+
const groupOnBobNode = await loadCoValueOrFail(bob.node, group.id);
|
|
76
|
+
childGroup.extend(groupOnBobNode);
|
|
77
|
+
await childGroup.core.waitForSync();
|
|
78
|
+
// Disconnect the admin node to sync the content manually and simulate the delay of the last chunk
|
|
79
|
+
admin.disconnect();
|
|
80
|
+
// Make the group to become large enough to require multiple messages to be synced
|
|
81
|
+
for (let i = 0; i < 100; i++) {
|
|
82
|
+
// @ts-expect-error - test property is not part of the group shape
|
|
83
|
+
group.set("test", "1".repeat(1024));
|
|
84
|
+
}
|
|
85
|
+
expect(group.core.verified.newContentSince(undefined)?.length).toBe(2);
|
|
86
|
+
group.removeMember(aliceOnAdminNode);
|
|
87
|
+
const content = group.core.verified.newContentSince(undefined);
|
|
88
|
+
assert(content);
|
|
89
|
+
const lastChunk = content.pop();
|
|
90
|
+
assert(lastChunk);
|
|
91
|
+
// Spinning a new session for bob, to be sure to trigger the group migration
|
|
92
|
+
const newBobSession = await bob.spawnNewSession();
|
|
93
|
+
for (const chunk of content) {
|
|
94
|
+
newBobSession.syncManager.handleNewContent(chunk, "import");
|
|
95
|
+
}
|
|
96
|
+
const childGroupOnNewBobNode = await loadCoValueOrFail(newBobSession, childGroup.id);
|
|
97
|
+
newBobSession.syncManager.handleNewContent(lastChunk, "import");
|
|
98
|
+
// The migration waits for the group to be completely downloaded
|
|
99
|
+
await childGroupOnNewBobNode.core.waitForAsync((core) => core.isCompletelyDownloaded());
|
|
100
|
+
// The key should be rotated at this point, so alice can't read the map
|
|
101
|
+
const map = childGroupOnNewBobNode.createMap();
|
|
102
|
+
map.set("test", "Not readable by alice");
|
|
103
|
+
await map.core.waitForSync();
|
|
104
|
+
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
105
|
+
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
106
|
+
});
|
|
107
|
+
test("removing a member on a large parent group should rotate the readKey on unloaded grandChild group", async () => {
|
|
108
|
+
const parentGroup = admin.node.createGroup();
|
|
109
|
+
const group = bob.node.createGroup();
|
|
110
|
+
const childGroup = bob.node.createGroup();
|
|
111
|
+
parentGroup.addMember(bobOnAdminNode, "reader");
|
|
112
|
+
parentGroup.addMember(aliceOnAdminNode, "reader");
|
|
113
|
+
const parentGroupOnBobNode = await loadCoValueOrFail(bob.node, parentGroup.id);
|
|
114
|
+
group.extend(parentGroupOnBobNode);
|
|
115
|
+
childGroup.extend(group);
|
|
116
|
+
await childGroup.core.waitForSync();
|
|
117
|
+
// Disconnect the admin node to sync the content manually and simulate the delay of the last chunk
|
|
118
|
+
admin.disconnect();
|
|
119
|
+
// Make the parent group to become large enough to require multiple messages to be synced
|
|
120
|
+
for (let i = 0; i < 200; i++) {
|
|
121
|
+
// @ts-expect-error - test property is not part of the group shape
|
|
122
|
+
parentGroup.set("test", "1".repeat(1024));
|
|
123
|
+
}
|
|
124
|
+
expect(parentGroup.core.verified.newContentSince(undefined)?.length).toBe(3);
|
|
125
|
+
parentGroup.removeMember(aliceOnAdminNode);
|
|
126
|
+
const content = parentGroup.core.verified.newContentSince(undefined);
|
|
127
|
+
assert(content);
|
|
128
|
+
const lastChunk = content.pop();
|
|
129
|
+
assert(lastChunk);
|
|
130
|
+
// Spinning a new session for bob, to be sure to trigger the group migration
|
|
131
|
+
const newBobSession = await bob.spawnNewSession();
|
|
132
|
+
for (const chunk of content) {
|
|
133
|
+
newBobSession.syncManager.handleNewContent(chunk, "import");
|
|
134
|
+
}
|
|
135
|
+
const childGroupOnNewBobNode = await loadCoValueOrFail(newBobSession, childGroup.id);
|
|
136
|
+
newBobSession.syncManager.handleNewContent(lastChunk, "import");
|
|
137
|
+
// The migration waits for the group to be completely downloaded, this includes full streaming of the parent group
|
|
138
|
+
await childGroupOnNewBobNode.core.waitForAsync((core) => core.isCompletelyDownloaded());
|
|
139
|
+
// The key should be rotated at this point, so alice can't read the map
|
|
140
|
+
const map = childGroupOnNewBobNode.createMap();
|
|
141
|
+
map.set("test", "Not readable by alice");
|
|
142
|
+
await map.core.waitForSync();
|
|
143
|
+
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
144
|
+
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
145
|
+
});
|
|
146
|
+
test("non-admin accounts can't trigger the unloaded child group key rotation", async () => {
|
|
147
|
+
const group = admin.node.createGroup();
|
|
148
|
+
const childGroup = bob.node.createGroup();
|
|
149
|
+
group.addMember(bobOnAdminNode, "writer");
|
|
150
|
+
group.addMember(aliceOnAdminNode, "writer");
|
|
151
|
+
group.addMember(charlieOnAdminNode, "writer");
|
|
152
|
+
await group.core.waitForSync();
|
|
153
|
+
const groupOnBobNode = await loadCoValueOrFail(bob.node, group.id);
|
|
154
|
+
childGroup.extend(groupOnBobNode);
|
|
155
|
+
await childGroup.core.waitForSync();
|
|
156
|
+
await groupOnBobNode.core.waitForSync();
|
|
157
|
+
group.removeMember(charlieOnAdminNode);
|
|
158
|
+
await group.core.waitForSync();
|
|
159
|
+
// Alice only have writer access to the child group, so she can't rotate the readKey
|
|
160
|
+
const childGroupOnAliceNode = await loadCoValueOrFail(alice.node, childGroup.id);
|
|
161
|
+
const map = childGroupOnAliceNode.createMap();
|
|
162
|
+
map.set("test", "Readable by charlie");
|
|
163
|
+
await map.core.waitForSync();
|
|
164
|
+
// This means that Charlie can read what Alice wrote
|
|
165
|
+
const mapOnCharlieNode = await loadCoValueOrFail(charlie.node, map.id);
|
|
166
|
+
expect(mapOnCharlieNode.get("test")).toBe("Readable by charlie");
|
|
167
|
+
// Instead Bob is an admin, so when loading the child group he can rotate the readKey
|
|
168
|
+
const newBobSession = await bob.spawnNewSession();
|
|
169
|
+
const mapOnNewBobNode = await loadCoValueOrFail(newBobSession, map.id);
|
|
170
|
+
mapOnNewBobNode.set("test", "Not readable by charlie");
|
|
171
|
+
await mapOnNewBobNode.core.waitForSync();
|
|
172
|
+
const updatedMapOnCharlieNode = await loadCoValueOrFail(charlie.node, map.id);
|
|
173
|
+
// Ensure that the map is fully synced
|
|
174
|
+
await waitFor(async () => {
|
|
175
|
+
expect(updatedMapOnCharlieNode.core.knownState()).toEqual(mapOnNewBobNode.core.knownState());
|
|
176
|
+
});
|
|
177
|
+
// Charlie should not be able to read what Bob wrote
|
|
178
|
+
expect(updatedMapOnCharlieNode.get("test")).toBe("Readable by charlie");
|
|
179
|
+
});
|
|
180
|
+
test("direct manager account can trigger the unloaded child group key rotation", async () => {
|
|
181
|
+
const group = admin.node.createGroup();
|
|
182
|
+
const childGroup = bob.node.createGroup();
|
|
183
|
+
group.addMember(bobOnAdminNode, "writer");
|
|
184
|
+
group.addMember(aliceOnAdminNode, "reader");
|
|
185
|
+
await group.core.waitForSync();
|
|
186
|
+
const groupOnBobNode = await loadCoValueOrFail(bob.node, group.id);
|
|
187
|
+
childGroup.extend(groupOnBobNode);
|
|
188
|
+
const charlieOnBobNode = await loadCoValueOrFail(bob.node, charlie.accountID);
|
|
189
|
+
childGroup.addMember(charlieOnBobNode, "manager");
|
|
190
|
+
await childGroup.core.waitForSync();
|
|
191
|
+
await groupOnBobNode.core.waitForSync();
|
|
192
|
+
group.removeMember(aliceOnAdminNode);
|
|
193
|
+
await group.core.waitForSync();
|
|
194
|
+
const childGroupOnCharlieNode = await loadCoValueOrFail(charlie.node, childGroup.id);
|
|
195
|
+
const map = childGroupOnCharlieNode.createMap();
|
|
196
|
+
map.set("test", "Not readable by alice");
|
|
197
|
+
await map.core.waitForSync();
|
|
198
|
+
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
199
|
+
// Ensure that the map is fully synced
|
|
200
|
+
await waitFor(async () => {
|
|
201
|
+
expect(mapOnAliceNode.core.knownState()).toEqual(map.core.knownState());
|
|
202
|
+
});
|
|
203
|
+
// Charlie should not be able to read what Bob wrote because key was rotated
|
|
204
|
+
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
205
|
+
});
|
|
206
|
+
test("inherited admin account triggers the unloaded child group key rotation", async () => {
|
|
207
|
+
const group = admin.node.createGroup();
|
|
208
|
+
const childGroup = bob.node.createGroup();
|
|
209
|
+
// Alice is admin on parent group (will inherit to child), but not directly on child
|
|
210
|
+
group.addMember(aliceOnAdminNode, "admin");
|
|
211
|
+
group.addMember(bobOnAdminNode, "writer");
|
|
212
|
+
group.addMember(charlieOnAdminNode, "reader");
|
|
213
|
+
await group.core.waitForSync();
|
|
214
|
+
const groupOnBobNode = await loadCoValueOrFail(bob.node, group.id);
|
|
215
|
+
childGroup.extend(groupOnBobNode);
|
|
216
|
+
await childGroup.core.waitForSync();
|
|
217
|
+
await groupOnBobNode.core.waitForSync();
|
|
218
|
+
group.removeMember(charlieOnAdminNode);
|
|
219
|
+
await group.core.waitForSync();
|
|
220
|
+
// Alice has inherited admin access but is not a direct admin on the child group
|
|
221
|
+
// So she can't trigger key rotation
|
|
222
|
+
const childGroupOnNewAliceNode = await loadCoValueOrFail(alice.node, childGroup.id);
|
|
223
|
+
const map = childGroupOnNewAliceNode.createMap();
|
|
224
|
+
map.set("test", "Readable by charlie");
|
|
225
|
+
await map.core.waitForSync();
|
|
226
|
+
// Charlie should be able to read what Alice wrote because key wasn't rotated
|
|
227
|
+
const mapOnCharlieNode = await loadCoValueOrFail(charlie.node, map.id);
|
|
228
|
+
expect(mapOnCharlieNode.get("test")).toBe(undefined);
|
|
229
|
+
});
|
|
230
|
+
// TODO: In this case the child can't detect the parent group rotation, because it doesn't have access to the parent group readKey
|
|
231
|
+
// We need to replace the writeOnlyKey with an asymmetric key sealing mechanism to cover this case
|
|
232
|
+
test.skip("removing a member should rotate the writeOnlyKey on child group", async () => {
|
|
233
|
+
const admin = await setupTestAccount({
|
|
234
|
+
connected: true,
|
|
235
|
+
});
|
|
236
|
+
const bob = await setupTestAccount({
|
|
237
|
+
connected: true,
|
|
238
|
+
});
|
|
239
|
+
const alice = await setupTestAccount({
|
|
240
|
+
connected: true,
|
|
241
|
+
});
|
|
242
|
+
const aliceOnAdminNode = await loadCoValueOrFail(admin.node, alice.accountID);
|
|
243
|
+
const group = admin.node.createGroup();
|
|
244
|
+
const childGroup = bob.node.createGroup();
|
|
245
|
+
group.addMember(aliceOnAdminNode, "reader");
|
|
246
|
+
await group.core.waitForSync();
|
|
247
|
+
const groupOnBobNode = await loadCoValueOrFail(bob.node, group.id);
|
|
248
|
+
childGroup.extend(groupOnBobNode);
|
|
249
|
+
await childGroup.core.waitForSync();
|
|
250
|
+
group.removeMember(aliceOnAdminNode);
|
|
251
|
+
await group.core.waitForSync();
|
|
252
|
+
const newBobSession = await bob.spawnNewSession();
|
|
253
|
+
const childGroupOnNewBobNode = await loadCoValueOrFail(newBobSession, childGroup.id);
|
|
254
|
+
const map = childGroupOnNewBobNode.createMap();
|
|
255
|
+
map.set("test", "Not readable by alice");
|
|
256
|
+
await map.core.waitForSync();
|
|
257
|
+
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
258
|
+
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
//# sourceMappingURL=group.childKeyRotation.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group.childKeyRotation.test.js","sourceRoot":"","sources":["../../src/tests/group.childKeyRotation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, test } from "vitest";
|
|
2
2
|
import { setCoValueLoadingRetryDelay } from "../config.js";
|
|
3
|
-
import { SyncMessagesLog,
|
|
4
|
-
import { expectGroup } from "../typeUtils/expectGroup.js";
|
|
3
|
+
import { SyncMessagesLog, loadCoValueOrFail, setupTestAccount, setupTestNode, waitFor, } from "./testUtils.js";
|
|
5
4
|
setCoValueLoadingRetryDelay(10);
|
|
6
5
|
let jazzCloud;
|
|
7
6
|
beforeEach(async () => {
|
|
@@ -198,117 +197,5 @@ describe("Group.removeMember", () => {
|
|
|
198
197
|
await childGroupOnChildAdminNode.removeMember(readerOnChildAdminNode);
|
|
199
198
|
expect(childGroupOnChildAdminNode.roleOf(reader.accountID)).toEqual(undefined);
|
|
200
199
|
});
|
|
201
|
-
test("removing a member should rotate the readKey on available child groups", async () => {
|
|
202
|
-
const admin = await setupTestAccount({
|
|
203
|
-
connected: true,
|
|
204
|
-
});
|
|
205
|
-
const alice = await setupTestAccount({
|
|
206
|
-
connected: true,
|
|
207
|
-
});
|
|
208
|
-
const aliceOnAdminNode = await loadCoValueOrFail(admin.node, alice.accountID);
|
|
209
|
-
const group = admin.node.createGroup();
|
|
210
|
-
const childGroup = admin.node.createGroup();
|
|
211
|
-
group.addMember(aliceOnAdminNode, "reader");
|
|
212
|
-
childGroup.extend(group);
|
|
213
|
-
group.removeMember(aliceOnAdminNode);
|
|
214
|
-
const map = childGroup.createMap();
|
|
215
|
-
map.set("test", "Not readable by alice");
|
|
216
|
-
await map.core.waitForSync();
|
|
217
|
-
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
218
|
-
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
219
|
-
});
|
|
220
|
-
test.skip("removing a member should rotate the readKey on unloaded child groups", async () => {
|
|
221
|
-
const admin = await setupTestAccount({
|
|
222
|
-
connected: true,
|
|
223
|
-
});
|
|
224
|
-
const bob = await setupTestAccount({
|
|
225
|
-
connected: true,
|
|
226
|
-
});
|
|
227
|
-
const alice = await setupTestAccount({
|
|
228
|
-
connected: true,
|
|
229
|
-
});
|
|
230
|
-
const bobOnAdminNode = await loadCoValueOrFail(admin.node, bob.accountID);
|
|
231
|
-
const aliceOnAdminNode = await loadCoValueOrFail(admin.node, alice.accountID);
|
|
232
|
-
const group = admin.node.createGroup();
|
|
233
|
-
let childGroup = bob.node.createGroup();
|
|
234
|
-
group.addMember(bobOnAdminNode, "reader");
|
|
235
|
-
group.addMember(aliceOnAdminNode, "reader");
|
|
236
|
-
const groupOnBobNode = await loadCoValueOrFail(bob.node, group.id);
|
|
237
|
-
childGroup.extend(groupOnBobNode);
|
|
238
|
-
await childGroup.core.waitForSync();
|
|
239
|
-
group.removeMember(aliceOnAdminNode);
|
|
240
|
-
// Rotating the child group keys is async when the child group is not loaded
|
|
241
|
-
await admin.node.syncManager.waitForAllCoValuesSync();
|
|
242
|
-
// Reload the group the trigger the loading checks
|
|
243
|
-
childGroup.core.resetParsedTransactions();
|
|
244
|
-
childGroup = expectGroup(childGroup.core.getCurrentContent());
|
|
245
|
-
const map = childGroup.createMap();
|
|
246
|
-
map.set("test", "Not readable by alice");
|
|
247
|
-
await map.core.waitForSync();
|
|
248
|
-
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
249
|
-
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
250
|
-
});
|
|
251
|
-
test("removing a member should work even if there are partially available child groups", async () => {
|
|
252
|
-
const admin = await setupTestAccount({
|
|
253
|
-
connected: true,
|
|
254
|
-
});
|
|
255
|
-
const bob = await setupTestAccount();
|
|
256
|
-
const { peer } = bob.connectToSyncServer();
|
|
257
|
-
const alice = await setupTestAccount({
|
|
258
|
-
connected: true,
|
|
259
|
-
});
|
|
260
|
-
const bobOnAdminNode = await loadCoValueOrFail(admin.node, bob.accountID);
|
|
261
|
-
const aliceOnAdminNode = await loadCoValueOrFail(admin.node, alice.accountID);
|
|
262
|
-
const group = admin.node.createGroup();
|
|
263
|
-
const childGroup = bob.node.createGroup();
|
|
264
|
-
group.addMember(bobOnAdminNode, "reader");
|
|
265
|
-
group.addMember(aliceOnAdminNode, "reader");
|
|
266
|
-
await group.core.waitForSync();
|
|
267
|
-
blockMessageTypeOnOutgoingPeer(peer, "content", {
|
|
268
|
-
id: childGroup.id,
|
|
269
|
-
});
|
|
270
|
-
const groupOnBobNode = await loadCoValueOrFail(bob.node, group.id);
|
|
271
|
-
childGroup.extend(groupOnBobNode);
|
|
272
|
-
await groupOnBobNode.core.waitForSync();
|
|
273
|
-
group.removeMember(aliceOnAdminNode);
|
|
274
|
-
await admin.node.syncManager.waitForAllCoValuesSync();
|
|
275
|
-
const map = group.createMap();
|
|
276
|
-
map.set("test", "Not readable by alice");
|
|
277
|
-
await map.core.waitForSync();
|
|
278
|
-
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
279
|
-
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
280
|
-
});
|
|
281
|
-
test("removing a member should work even if there are unavailable child groups", async () => {
|
|
282
|
-
const admin = await setupTestAccount({
|
|
283
|
-
connected: true,
|
|
284
|
-
});
|
|
285
|
-
const { peerOnServer } = admin.connectToSyncServer();
|
|
286
|
-
const bob = await setupTestAccount({
|
|
287
|
-
connected: true,
|
|
288
|
-
});
|
|
289
|
-
const alice = await setupTestAccount({
|
|
290
|
-
connected: true,
|
|
291
|
-
});
|
|
292
|
-
const bobOnAdminNode = await loadCoValueOrFail(admin.node, bob.accountID);
|
|
293
|
-
const aliceOnAdminNode = await loadCoValueOrFail(admin.node, alice.accountID);
|
|
294
|
-
const group = admin.node.createGroup();
|
|
295
|
-
const childGroup = bob.node.createGroup();
|
|
296
|
-
blockMessageTypeOnOutgoingPeer(peerOnServer, "content", {
|
|
297
|
-
id: childGroup.id,
|
|
298
|
-
});
|
|
299
|
-
group.addMember(bobOnAdminNode, "reader");
|
|
300
|
-
group.addMember(aliceOnAdminNode, "reader");
|
|
301
|
-
await group.core.waitForSync();
|
|
302
|
-
const groupOnBobNode = await loadCoValueOrFail(bob.node, group.id);
|
|
303
|
-
childGroup.extend(groupOnBobNode);
|
|
304
|
-
await groupOnBobNode.core.waitForSync();
|
|
305
|
-
group.removeMember(aliceOnAdminNode);
|
|
306
|
-
await group.core.waitForSync();
|
|
307
|
-
const map = group.createMap();
|
|
308
|
-
map.set("test", "Not readable by alice");
|
|
309
|
-
await map.core.waitForSync();
|
|
310
|
-
const mapOnAliceNode = await loadCoValueOrFail(alice.node, map.id);
|
|
311
|
-
expect(mapOnAliceNode.get("test")).toBeUndefined();
|
|
312
|
-
});
|
|
313
200
|
});
|
|
314
201
|
//# sourceMappingURL=group.removeMember.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.removeMember.test.js","sourceRoot":"","sources":["../../src/tests/group.removeMember.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"group.removeMember.test.js","sourceRoot":"","sources":["../../src/tests/group.removeMember.test.ts"],"names":[],"mappings":"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"}
|