@powersync/service-core-tests 0.0.0-dev-20250214100224 → 0.0.0-dev-20250227082606
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/CHANGELOG.md +45 -3
- package/README.md +1 -1
- package/dist/tests/register-compacting-tests.d.ts +1 -1
- package/dist/tests/register-compacting-tests.js +135 -4
- package/dist/tests/register-compacting-tests.js.map +1 -1
- package/dist/tests/register-data-storage-tests.js +30 -126
- package/dist/tests/register-data-storage-tests.js.map +1 -1
- package/dist/tests/register-sync-tests.js +316 -58
- package/dist/tests/register-sync-tests.js.map +1 -1
- package/package.json +5 -5
- package/src/tests/register-compacting-tests.ts +142 -7
- package/src/tests/register-data-storage-tests.ts +18 -94
- package/src/tests/register-sync-tests.ts +266 -18
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,53 @@
|
|
|
1
1
|
# @powersync/service-core-tests
|
|
2
2
|
|
|
3
|
-
## 0.0.0-dev-
|
|
3
|
+
## 0.0.0-dev-20250227082606
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7f8d223: Make some service limits configurable.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [7f8d223]
|
|
12
|
+
- @powersync/service-core@0.0.0-dev-20250227082606
|
|
13
|
+
|
|
14
|
+
## 0.6.0
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- 346382e: Added compacting test for interleaved bucket operations.
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 346382e: Unified compacting options between storage providers.
|
|
23
|
+
- Updated dependencies [b4fe4ae]
|
|
24
|
+
- Updated dependencies [88ab679]
|
|
25
|
+
- Updated dependencies [2f75fd7]
|
|
26
|
+
- Updated dependencies [346382e]
|
|
27
|
+
- Updated dependencies [9b1868d]
|
|
28
|
+
- @powersync/service-core@1.7.1
|
|
29
|
+
|
|
30
|
+
## 0.5.0
|
|
31
|
+
|
|
32
|
+
### Minor Changes
|
|
33
|
+
|
|
34
|
+
- 436eee6: Minor optimizations to new checkpoint calulations.
|
|
35
|
+
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- Updated dependencies [436eee6]
|
|
39
|
+
- Updated dependencies [15283d4]
|
|
40
|
+
- Updated dependencies [88d4cb3]
|
|
41
|
+
- Updated dependencies [f55e36a]
|
|
42
|
+
- @powersync/service-core@1.7.0
|
|
43
|
+
- @powersync/service-sync-rules@0.24.0
|
|
44
|
+
|
|
45
|
+
## 0.4.1
|
|
4
46
|
|
|
5
47
|
### Patch Changes
|
|
6
48
|
|
|
7
|
-
- Updated dependencies [
|
|
8
|
-
- @powersync/service-core@0.
|
|
49
|
+
- Updated dependencies [ffc8d98]
|
|
50
|
+
- @powersync/service-core@0.18.1
|
|
9
51
|
|
|
10
52
|
## 0.4.0
|
|
11
53
|
|
package/README.md
CHANGED
|
@@ -10,4 +10,4 @@ import { storage } from '@powersync/service-core';
|
|
|
10
10
|
* compactTests(() => new MongoStorageFactory(), { clearBatchLimit: 2, moveBatchLimit: 1, moveBatchQueryLimit: 1 }));
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
|
13
|
-
export declare function registerCompactTests
|
|
13
|
+
export declare function registerCompactTests(generateStorageFactory: storage.TestStorageFactory): void;
|
|
@@ -65,7 +65,7 @@ const TEST_TABLE = test_utils.makeTestTable('test', ['id']);
|
|
|
65
65
|
* compactTests(() => new MongoStorageFactory(), { clearBatchLimit: 2, moveBatchLimit: 1, moveBatchQueryLimit: 1 }));
|
|
66
66
|
* ```
|
|
67
67
|
*/
|
|
68
|
-
export function registerCompactTests(generateStorageFactory
|
|
68
|
+
export function registerCompactTests(generateStorageFactory) {
|
|
69
69
|
test('compacting (1)', async () => {
|
|
70
70
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
71
71
|
try {
|
|
@@ -126,7 +126,11 @@ bucket_definitions:
|
|
|
126
126
|
op_id: '3'
|
|
127
127
|
}
|
|
128
128
|
]);
|
|
129
|
-
await bucketStorage.compact(
|
|
129
|
+
await bucketStorage.compact({
|
|
130
|
+
clearBatchLimit: 2,
|
|
131
|
+
moveBatchLimit: 1,
|
|
132
|
+
moveBatchQueryLimit: 1
|
|
133
|
+
});
|
|
130
134
|
const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, new Map([['global[]', '0']])));
|
|
131
135
|
const dataAfter = batchAfter.batch.data;
|
|
132
136
|
const checksumAfter = await bucketStorage.getChecksums(checkpoint, ['global[]']);
|
|
@@ -237,7 +241,11 @@ bucket_definitions:
|
|
|
237
241
|
op_id: '4'
|
|
238
242
|
}
|
|
239
243
|
]);
|
|
240
|
-
await bucketStorage.compact(
|
|
244
|
+
await bucketStorage.compact({
|
|
245
|
+
clearBatchLimit: 2,
|
|
246
|
+
moveBatchLimit: 1,
|
|
247
|
+
moveBatchQueryLimit: 1
|
|
248
|
+
});
|
|
241
249
|
const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, new Map([['global[]', '0']])));
|
|
242
250
|
const dataAfter = batchAfter.batch.data;
|
|
243
251
|
const checksumAfter = await bucketStorage.getChecksums(checkpoint, ['global[]']);
|
|
@@ -317,7 +325,11 @@ bucket_definitions:
|
|
|
317
325
|
});
|
|
318
326
|
});
|
|
319
327
|
const checkpoint2 = result2.flushed_op;
|
|
320
|
-
await bucketStorage.compact(
|
|
328
|
+
await bucketStorage.compact({
|
|
329
|
+
clearBatchLimit: 2,
|
|
330
|
+
moveBatchLimit: 1,
|
|
331
|
+
moveBatchQueryLimit: 1
|
|
332
|
+
});
|
|
321
333
|
const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint2, new Map([['global[]', '0']])));
|
|
322
334
|
const dataAfter = batchAfter.batch.data;
|
|
323
335
|
const checksumAfter = await bucketStorage.getChecksums(checkpoint2, ['global[]']);
|
|
@@ -345,5 +357,124 @@ bucket_definitions:
|
|
|
345
357
|
await result_3;
|
|
346
358
|
}
|
|
347
359
|
});
|
|
360
|
+
test('compacting (4)', async () => {
|
|
361
|
+
const env_4 = { stack: [], error: void 0, hasError: false };
|
|
362
|
+
try {
|
|
363
|
+
const sync_rules = test_utils.testRules(/* yaml */ ` bucket_definitions:
|
|
364
|
+
grouped:
|
|
365
|
+
# The parameter query here is not important
|
|
366
|
+
# We specifically don't want to create bucket_parameter records here
|
|
367
|
+
# since the op_ids for bucket_data could vary between storage implementations.
|
|
368
|
+
parameters: select 'b' as b
|
|
369
|
+
data:
|
|
370
|
+
- select * from test where b = bucket.b`);
|
|
371
|
+
const factory = __addDisposableResource(env_4, await generateStorageFactory(), true);
|
|
372
|
+
const bucketStorage = factory.getInstance(sync_rules);
|
|
373
|
+
const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
374
|
+
/**
|
|
375
|
+
* Repeatedly create operations which fall into different buckets.
|
|
376
|
+
* The bucket operations are purposely interleaved as the op_id increases.
|
|
377
|
+
* A large amount of operations are created here.
|
|
378
|
+
* The configured window of compacting operations is 100. This means the initial window will
|
|
379
|
+
* contain operations from multiple buckets.
|
|
380
|
+
*/
|
|
381
|
+
for (let count = 0; count < 100; count++) {
|
|
382
|
+
await batch.save({
|
|
383
|
+
sourceTable: TEST_TABLE,
|
|
384
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
385
|
+
after: {
|
|
386
|
+
id: 't1',
|
|
387
|
+
b: 'b1',
|
|
388
|
+
value: 'start'
|
|
389
|
+
},
|
|
390
|
+
afterReplicaId: test_utils.rid('t1')
|
|
391
|
+
});
|
|
392
|
+
await batch.save({
|
|
393
|
+
sourceTable: TEST_TABLE,
|
|
394
|
+
tag: storage.SaveOperationTag.UPDATE,
|
|
395
|
+
after: {
|
|
396
|
+
id: 't1',
|
|
397
|
+
b: 'b1',
|
|
398
|
+
value: 'intermediate'
|
|
399
|
+
},
|
|
400
|
+
afterReplicaId: test_utils.rid('t1')
|
|
401
|
+
});
|
|
402
|
+
await batch.save({
|
|
403
|
+
sourceTable: TEST_TABLE,
|
|
404
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
405
|
+
after: {
|
|
406
|
+
id: 't2',
|
|
407
|
+
b: 'b2',
|
|
408
|
+
value: 'start'
|
|
409
|
+
},
|
|
410
|
+
afterReplicaId: test_utils.rid('t2')
|
|
411
|
+
});
|
|
412
|
+
await batch.save({
|
|
413
|
+
sourceTable: TEST_TABLE,
|
|
414
|
+
tag: storage.SaveOperationTag.UPDATE,
|
|
415
|
+
after: {
|
|
416
|
+
id: 't1',
|
|
417
|
+
b: 'b1',
|
|
418
|
+
value: 'final'
|
|
419
|
+
},
|
|
420
|
+
afterReplicaId: test_utils.rid('t1')
|
|
421
|
+
});
|
|
422
|
+
await batch.save({
|
|
423
|
+
sourceTable: TEST_TABLE,
|
|
424
|
+
tag: storage.SaveOperationTag.UPDATE,
|
|
425
|
+
after: {
|
|
426
|
+
id: 't2',
|
|
427
|
+
b: 'b2',
|
|
428
|
+
value: 'final'
|
|
429
|
+
},
|
|
430
|
+
afterReplicaId: test_utils.rid('t2')
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
});
|
|
434
|
+
const checkpoint = result.flushed_op;
|
|
435
|
+
await bucketStorage.compact({
|
|
436
|
+
clearBatchLimit: 100,
|
|
437
|
+
moveBatchLimit: 100,
|
|
438
|
+
moveBatchQueryLimit: 100 // Larger limit for a larger window of operations
|
|
439
|
+
});
|
|
440
|
+
const batchAfter = await test_utils.fromAsync(bucketStorage.getBucketDataBatch(checkpoint, new Map([
|
|
441
|
+
['grouped["b1"]', '0'],
|
|
442
|
+
['grouped["b2"]', '0']
|
|
443
|
+
])));
|
|
444
|
+
const dataAfter = batchAfter.flatMap((b) => b.batch.data);
|
|
445
|
+
// The op_ids will vary between MongoDB and Postgres storage
|
|
446
|
+
expect(dataAfter).toMatchObject(expect.arrayContaining([
|
|
447
|
+
{ op_id: '497', op: 'CLEAR', checksum: -937074151 },
|
|
448
|
+
{
|
|
449
|
+
op_id: '499',
|
|
450
|
+
op: 'PUT',
|
|
451
|
+
object_type: 'test',
|
|
452
|
+
object_id: 't1',
|
|
453
|
+
checksum: 52221819,
|
|
454
|
+
subkey: '6544e3899293153fa7b38331/117ab485-4b42-58a2-ab32-0053a22c3423',
|
|
455
|
+
data: '{"id":"t1","b":"b1","value":"final"}'
|
|
456
|
+
},
|
|
457
|
+
{ op_id: '498', op: 'CLEAR', checksum: -234380197 },
|
|
458
|
+
{
|
|
459
|
+
op_id: '500',
|
|
460
|
+
op: 'PUT',
|
|
461
|
+
object_type: 'test',
|
|
462
|
+
object_id: 't2',
|
|
463
|
+
checksum: 2126669493,
|
|
464
|
+
subkey: '6544e3899293153fa7b38331/ec27c691-b47a-5d92-927a-9944feb89eee',
|
|
465
|
+
data: '{"id":"t2","b":"b2","value":"final"}'
|
|
466
|
+
}
|
|
467
|
+
]));
|
|
468
|
+
}
|
|
469
|
+
catch (e_4) {
|
|
470
|
+
env_4.error = e_4;
|
|
471
|
+
env_4.hasError = true;
|
|
472
|
+
}
|
|
473
|
+
finally {
|
|
474
|
+
const result_4 = __disposeResources(env_4);
|
|
475
|
+
if (result_4)
|
|
476
|
+
await result_4;
|
|
477
|
+
}
|
|
478
|
+
});
|
|
348
479
|
}
|
|
349
480
|
//# sourceMappingURL=register-compacting-tests.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-compacting-tests.js","sourceRoot":"","sources":["../../src/tests/register-compacting-tests.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,mCAAmC,CAAC;AAEhE,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,sBAAkD,EAClD,cAA8B;IAE9B,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;;;YAChC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;;;;KAIvC,CAAC,CAAC;YAEH,MAAY,OAAO,kCAAG,MAAM,sBAAsB,EAAE,OAAA,CAAC;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAO,CAAC,UAAU,CAAC;YAEtC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,YAAY,CAC/C,aAAa,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;YACF,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YAC1C,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAElF,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;gBAC/B;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE5C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAC9C,aAAa,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAEjF,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gBAC9B;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAE9E,UAAU,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;;;;;;;;;;;KAC3D,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;;;YAChC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;;;;KAIvC,CAAC,CAAC;YAEH,MAAY,OAAO,kCAAG,MAAM,sBAAsB,EAAE,OAAA,CAAC;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,MAAM,EAAE;wBACN,EAAE,EAAE,IAAI;qBACT;oBACD,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACtC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAO,CAAC,UAAU,CAAC;YAEtC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,YAAY,CAC/C,aAAa,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;YACF,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YAC1C,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAElF,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;gBAC/B;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,QAAQ;oBACZ,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE5C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAC9C,aAAa,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAEjF,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gBAC9B;oBACE,QAAQ,EAAE,CAAC,UAAU;oBACrB,EAAE,EAAE,OAAO;oBACX,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAE9E,UAAU,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;;;;;;;;;;;KAC3D,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;;;YAChC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;;;;KAIvC,CAAC,CAAC;YAEH,MAAY,OAAO,kCAAG,MAAM,sBAAsB,EAAE,OAAA,CAAC;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,MAAM,EAAE;wBACN,EAAE,EAAE,IAAI;qBACT;oBACD,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAO,CAAC,UAAU,CAAC;YACvC,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAEnF,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,MAAM,EAAE;wBACN,EAAE,EAAE,IAAI;qBACT;oBACD,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,OAAQ,CAAC,UAAU,CAAC;YAExC,MAAM,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE5C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAC9C,aAAa,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC5E,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAElF,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gBAC9B;oBACE,QAAQ,EAAE,UAAU;oBACpB,EAAE,EAAE,OAAO;oBACX,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5C,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;;;;;;;;;;;KACJ,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"register-compacting-tests.js","sourceRoot":"","sources":["../../src/tests/register-compacting-tests.ts"],"names":[],"mappings":"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"}
|
|
@@ -200,7 +200,7 @@ bucket_definitions:
|
|
|
200
200
|
data: []
|
|
201
201
|
`);
|
|
202
202
|
const factory = __addDisposableResource(env_3, await generateStorageFactory(), true);
|
|
203
|
-
const bucketStorage =
|
|
203
|
+
const bucketStorage = factory.getInstance(sync_rules);
|
|
204
204
|
const table = test_utils.makeTestTable('todos', ['id', 'list_id']);
|
|
205
205
|
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
206
206
|
// Create two todos which initially belong to different lists
|
|
@@ -455,13 +455,12 @@ bucket_definitions:
|
|
|
455
455
|
expect(lookups).toEqual([['by_workspace', '1', 'u1']]);
|
|
456
456
|
const parameter_sets = await bucketStorage.getParameterSets(checkpoint, lookups);
|
|
457
457
|
expect(parameter_sets).toEqual([{ workspace_id: 'workspace1' }]);
|
|
458
|
-
const buckets = await sync_rules.
|
|
458
|
+
const buckets = await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
|
|
459
459
|
getParameterSets(lookups) {
|
|
460
460
|
return bucketStorage.getParameterSets(checkpoint, lookups);
|
|
461
|
-
}
|
|
462
|
-
parameters
|
|
461
|
+
}
|
|
463
462
|
});
|
|
464
|
-
expect(buckets).toEqual(['by_workspace["workspace1"]']);
|
|
463
|
+
expect(buckets).toEqual([{ bucket: 'by_workspace["workspace1"]', priority: 3 }]);
|
|
465
464
|
}
|
|
466
465
|
catch (e_7) {
|
|
467
466
|
env_7.error = e_7;
|
|
@@ -525,14 +524,16 @@ bucket_definitions:
|
|
|
525
524
|
const parameter_sets = await bucketStorage.getParameterSets(checkpoint, lookups);
|
|
526
525
|
parameter_sets.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
|
|
527
526
|
expect(parameter_sets).toEqual([{ workspace_id: 'workspace1' }, { workspace_id: 'workspace3' }]);
|
|
528
|
-
const buckets = await sync_rules.
|
|
527
|
+
const buckets = await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
|
|
529
528
|
getParameterSets(lookups) {
|
|
530
529
|
return bucketStorage.getParameterSets(checkpoint, lookups);
|
|
531
|
-
}
|
|
532
|
-
parameters
|
|
530
|
+
}
|
|
533
531
|
});
|
|
534
|
-
buckets.sort();
|
|
535
|
-
expect(buckets).toEqual([
|
|
532
|
+
buckets.sort((a, b) => a.bucket.localeCompare(b.bucket));
|
|
533
|
+
expect(buckets).toEqual([
|
|
534
|
+
{ bucket: 'by_public_workspace["workspace1"]', priority: 3 },
|
|
535
|
+
{ bucket: 'by_public_workspace["workspace3"]', priority: 3 }
|
|
536
|
+
]);
|
|
536
537
|
}
|
|
537
538
|
catch (e_8) {
|
|
538
539
|
env_8.error = e_8;
|
|
@@ -617,12 +618,11 @@ bucket_definitions:
|
|
|
617
618
|
parameter_sets2.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
|
|
618
619
|
expect(parameter_sets2).toEqual([{ workspace_id: 'workspace3' }]);
|
|
619
620
|
// Test final values - the important part
|
|
620
|
-
const buckets = await sync_rules.
|
|
621
|
+
const buckets = (await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
|
|
621
622
|
getParameterSets(lookups) {
|
|
622
623
|
return bucketStorage.getParameterSets(checkpoint, lookups);
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
});
|
|
624
|
+
}
|
|
625
|
+
})).map((e) => e.bucket);
|
|
626
626
|
buckets.sort();
|
|
627
627
|
expect(buckets).toEqual(['by_workspace["workspace1"]', 'by_workspace["workspace3"]']);
|
|
628
628
|
}
|
|
@@ -1444,106 +1444,10 @@ bucket_definitions:
|
|
|
1444
1444
|
await result_18;
|
|
1445
1445
|
}
|
|
1446
1446
|
});
|
|
1447
|
-
test('batch should be disposed automatically', async () => {
|
|
1448
|
-
const env_19 = { stack: [], error: void 0, hasError: false };
|
|
1449
|
-
try {
|
|
1450
|
-
const sync_rules = test_utils.testRules(`
|
|
1451
|
-
bucket_definitions:
|
|
1452
|
-
global:
|
|
1453
|
-
data: []
|
|
1454
|
-
`);
|
|
1455
|
-
const factory = __addDisposableResource(env_19, await generateStorageFactory(), true);
|
|
1456
|
-
const bucketStorage = factory.getInstance(sync_rules);
|
|
1457
|
-
let isDisposed = false;
|
|
1458
|
-
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
1459
|
-
batch.registerListener({
|
|
1460
|
-
disposed: () => {
|
|
1461
|
-
isDisposed = true;
|
|
1462
|
-
}
|
|
1463
|
-
});
|
|
1464
|
-
});
|
|
1465
|
-
expect(isDisposed).true;
|
|
1466
|
-
isDisposed = false;
|
|
1467
|
-
let errorCaught = false;
|
|
1468
|
-
try {
|
|
1469
|
-
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
1470
|
-
batch.registerListener({
|
|
1471
|
-
disposed: () => {
|
|
1472
|
-
isDisposed = true;
|
|
1473
|
-
}
|
|
1474
|
-
});
|
|
1475
|
-
throw new Error(`Testing exceptions`);
|
|
1476
|
-
});
|
|
1477
|
-
}
|
|
1478
|
-
catch (ex) {
|
|
1479
|
-
errorCaught = true;
|
|
1480
|
-
expect(ex.message.includes('Testing')).true;
|
|
1481
|
-
}
|
|
1482
|
-
expect(errorCaught).true;
|
|
1483
|
-
expect(isDisposed).true;
|
|
1484
|
-
}
|
|
1485
|
-
catch (e_19) {
|
|
1486
|
-
env_19.error = e_19;
|
|
1487
|
-
env_19.hasError = true;
|
|
1488
|
-
}
|
|
1489
|
-
finally {
|
|
1490
|
-
const result_19 = __disposeResources(env_19);
|
|
1491
|
-
if (result_19)
|
|
1492
|
-
await result_19;
|
|
1493
|
-
}
|
|
1494
|
-
});
|
|
1495
|
-
test('batch should be disposed automatically', async () => {
|
|
1496
|
-
const env_20 = { stack: [], error: void 0, hasError: false };
|
|
1497
|
-
try {
|
|
1498
|
-
const sync_rules = test_utils.testRules(`
|
|
1499
|
-
bucket_definitions:
|
|
1500
|
-
global:
|
|
1501
|
-
data: []
|
|
1502
|
-
`);
|
|
1503
|
-
const factory = __addDisposableResource(env_20, await generateStorageFactory(), true);
|
|
1504
|
-
const bucketStorage = factory.getInstance(sync_rules);
|
|
1505
|
-
let isDisposed = false;
|
|
1506
|
-
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
1507
|
-
batch.registerListener({
|
|
1508
|
-
disposed: () => {
|
|
1509
|
-
isDisposed = true;
|
|
1510
|
-
}
|
|
1511
|
-
});
|
|
1512
|
-
});
|
|
1513
|
-
expect(isDisposed).true;
|
|
1514
|
-
isDisposed = false;
|
|
1515
|
-
let errorCaught = false;
|
|
1516
|
-
try {
|
|
1517
|
-
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
1518
|
-
batch.registerListener({
|
|
1519
|
-
disposed: () => {
|
|
1520
|
-
isDisposed = true;
|
|
1521
|
-
}
|
|
1522
|
-
});
|
|
1523
|
-
throw new Error(`Testing exceptions`);
|
|
1524
|
-
});
|
|
1525
|
-
}
|
|
1526
|
-
catch (ex) {
|
|
1527
|
-
errorCaught = true;
|
|
1528
|
-
expect(ex.message.includes('Testing')).true;
|
|
1529
|
-
}
|
|
1530
|
-
expect(errorCaught).true;
|
|
1531
|
-
expect(isDisposed).true;
|
|
1532
|
-
}
|
|
1533
|
-
catch (e_20) {
|
|
1534
|
-
env_20.error = e_20;
|
|
1535
|
-
env_20.hasError = true;
|
|
1536
|
-
}
|
|
1537
|
-
finally {
|
|
1538
|
-
const result_20 = __disposeResources(env_20);
|
|
1539
|
-
if (result_20)
|
|
1540
|
-
await result_20;
|
|
1541
|
-
}
|
|
1542
|
-
});
|
|
1543
1447
|
test('empty storage metrics', async () => {
|
|
1544
|
-
const
|
|
1448
|
+
const env_19 = { stack: [], error: void 0, hasError: false };
|
|
1545
1449
|
try {
|
|
1546
|
-
const f = __addDisposableResource(
|
|
1450
|
+
const f = __addDisposableResource(env_19, await generateStorageFactory({ dropAll: true }), true);
|
|
1547
1451
|
const metrics = await f.getStorageMetrics();
|
|
1548
1452
|
expect(metrics).toEqual({
|
|
1549
1453
|
operations_size_bytes: 0,
|
|
@@ -1556,18 +1460,18 @@ bucket_definitions:
|
|
|
1556
1460
|
const metrics2 = await f.getStorageMetrics();
|
|
1557
1461
|
expect(metrics2).toMatchSnapshot();
|
|
1558
1462
|
}
|
|
1559
|
-
catch (
|
|
1560
|
-
|
|
1561
|
-
|
|
1463
|
+
catch (e_19) {
|
|
1464
|
+
env_19.error = e_19;
|
|
1465
|
+
env_19.hasError = true;
|
|
1562
1466
|
}
|
|
1563
1467
|
finally {
|
|
1564
|
-
const
|
|
1565
|
-
if (
|
|
1566
|
-
await
|
|
1468
|
+
const result_19 = __disposeResources(env_19);
|
|
1469
|
+
if (result_19)
|
|
1470
|
+
await result_19;
|
|
1567
1471
|
}
|
|
1568
1472
|
});
|
|
1569
1473
|
test('invalidate cached parsed sync rules', async () => {
|
|
1570
|
-
const
|
|
1474
|
+
const env_20 = { stack: [], error: void 0, hasError: false };
|
|
1571
1475
|
try {
|
|
1572
1476
|
const sync_rules_content = test_utils.testRules(`
|
|
1573
1477
|
bucket_definitions:
|
|
@@ -1577,7 +1481,7 @@ bucket_definitions:
|
|
|
1577
1481
|
workspace."userId" = token_parameters.user_id
|
|
1578
1482
|
data: []
|
|
1579
1483
|
`);
|
|
1580
|
-
const bucketStorageFactory = __addDisposableResource(
|
|
1484
|
+
const bucketStorageFactory = __addDisposableResource(env_20, await generateStorageFactory(), true);
|
|
1581
1485
|
const syncBucketStorage = bucketStorageFactory.getInstance(sync_rules_content);
|
|
1582
1486
|
const parsedSchema1 = syncBucketStorage.getParsedSyncRules({
|
|
1583
1487
|
defaultSchema: 'public'
|
|
@@ -1595,14 +1499,14 @@ bucket_definitions:
|
|
|
1595
1499
|
expect(parsedSchema3).not.equals(parsedSchema2);
|
|
1596
1500
|
expect(parsedSchema3.getSourceTables()[0].schema).equals('databasename');
|
|
1597
1501
|
}
|
|
1598
|
-
catch (
|
|
1599
|
-
|
|
1600
|
-
|
|
1502
|
+
catch (e_20) {
|
|
1503
|
+
env_20.error = e_20;
|
|
1504
|
+
env_20.hasError = true;
|
|
1601
1505
|
}
|
|
1602
1506
|
finally {
|
|
1603
|
-
const
|
|
1604
|
-
if (
|
|
1605
|
-
await
|
|
1507
|
+
const result_20 = __disposeResources(env_20);
|
|
1508
|
+
if (result_20)
|
|
1509
|
+
await result_20;
|
|
1606
1510
|
}
|
|
1607
1511
|
});
|
|
1608
1512
|
}
|