@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 CHANGED
@@ -1,11 +1,53 @@
1
1
  # @powersync/service-core-tests
2
2
 
3
- ## 0.0.0-dev-20250214100224
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 [84d03b8]
8
- - @powersync/service-core@0.0.0-dev-20250214100224
49
+ - Updated dependencies [ffc8d98]
50
+ - @powersync/service-core@0.18.1
9
51
 
10
52
  ## 0.4.0
11
53
 
package/README.md CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  A small helper package which exposes common unit tests and test utility functions.
4
4
 
5
- This package is used in various modules for their unit tests.
5
+ This package is used in various modules for their unit tests.
@@ -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<CompactOptions extends storage.CompactOptions = storage.CompactOptions>(generateStorageFactory: storage.TestStorageFactory, compactOptions: CompactOptions): void;
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, compactOptions) {
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(compactOptions);
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(compactOptions);
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(compactOptions);
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":"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"}
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 = __addDisposableResource(env_3, factory.getInstance(sync_rules), true);
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.queryBucketIds({
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.queryBucketIds({
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(['by_public_workspace["workspace1"]', 'by_public_workspace["workspace3"]']);
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.queryBucketIds({
621
+ const buckets = (await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
621
622
  getParameterSets(lookups) {
622
623
  return bucketStorage.getParameterSets(checkpoint, lookups);
623
- },
624
- parameters
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 env_21 = { stack: [], error: void 0, hasError: false };
1448
+ const env_19 = { stack: [], error: void 0, hasError: false };
1545
1449
  try {
1546
- const f = __addDisposableResource(env_21, await generateStorageFactory({ dropAll: true }), true);
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 (e_21) {
1560
- env_21.error = e_21;
1561
- env_21.hasError = true;
1463
+ catch (e_19) {
1464
+ env_19.error = e_19;
1465
+ env_19.hasError = true;
1562
1466
  }
1563
1467
  finally {
1564
- const result_21 = __disposeResources(env_21);
1565
- if (result_21)
1566
- await result_21;
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 env_22 = { stack: [], error: void 0, hasError: false };
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(env_22, await generateStorageFactory(), true);
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 (e_22) {
1599
- env_22.error = e_22;
1600
- env_22.hasError = true;
1502
+ catch (e_20) {
1503
+ env_20.error = e_20;
1504
+ env_20.hasError = true;
1601
1505
  }
1602
1506
  finally {
1603
- const result_22 = __disposeResources(env_22);
1604
- if (result_22)
1605
- await result_22;
1507
+ const result_20 = __disposeResources(env_20);
1508
+ if (result_20)
1509
+ await result_20;
1606
1510
  }
1607
1511
  });
1608
1512
  }