@powersync/service-core-tests 0.14.0 → 0.15.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/test-utils/general-utils.d.ts +9 -2
  3. package/dist/test-utils/general-utils.js +26 -2
  4. package/dist/test-utils/general-utils.js.map +1 -1
  5. package/dist/tests/register-compacting-tests.d.ts +1 -1
  6. package/dist/tests/register-compacting-tests.js +122 -68
  7. package/dist/tests/register-compacting-tests.js.map +1 -1
  8. package/dist/tests/register-data-storage-checkpoint-tests.d.ts +1 -1
  9. package/dist/tests/register-data-storage-checkpoint-tests.js +38 -6
  10. package/dist/tests/register-data-storage-checkpoint-tests.js.map +1 -1
  11. package/dist/tests/register-data-storage-data-tests.d.ts +2 -2
  12. package/dist/tests/register-data-storage-data-tests.js +666 -142
  13. package/dist/tests/register-data-storage-data-tests.js.map +1 -1
  14. package/dist/tests/register-data-storage-parameter-tests.d.ts +1 -1
  15. package/dist/tests/register-data-storage-parameter-tests.js +60 -33
  16. package/dist/tests/register-data-storage-parameter-tests.js.map +1 -1
  17. package/dist/tests/register-parameter-compacting-tests.d.ts +1 -1
  18. package/dist/tests/register-parameter-compacting-tests.js +8 -4
  19. package/dist/tests/register-parameter-compacting-tests.js.map +1 -1
  20. package/dist/tests/register-sync-tests.d.ts +2 -1
  21. package/dist/tests/register-sync-tests.js +40 -18
  22. package/dist/tests/register-sync-tests.js.map +1 -1
  23. package/dist/tests/util.d.ts +5 -4
  24. package/dist/tests/util.js +27 -12
  25. package/dist/tests/util.js.map +1 -1
  26. package/package.json +3 -3
  27. package/src/test-utils/general-utils.ts +41 -3
  28. package/src/tests/register-compacting-tests.ts +127 -82
  29. package/src/tests/register-data-storage-checkpoint-tests.ts +64 -11
  30. package/src/tests/register-data-storage-data-tests.ts +640 -52
  31. package/src/tests/register-data-storage-parameter-tests.ts +101 -47
  32. package/src/tests/register-parameter-compacting-tests.ts +9 -4
  33. package/src/tests/register-sync-tests.ts +45 -19
  34. package/src/tests/util.ts +46 -17
  35. package/tsconfig.tsbuildinfo +1 -1
@@ -54,8 +54,10 @@ import { storage, updateSyncRulesFromYaml } from '@powersync/service-core';
54
54
  import { ScopedParameterLookup } from '@powersync/service-sync-rules';
55
55
  import { expect, test } from 'vitest';
56
56
  import * as test_utils from '../test-utils/test-utils-index.js';
57
- const TEST_TABLE = test_utils.makeTestTable('test', ['id']);
58
- export function registerParameterCompactTests(generateStorageFactory) {
57
+ import { parameterLookupScope } from './util.js';
58
+ export function registerParameterCompactTests(config) {
59
+ const generateStorageFactory = config.factory;
60
+ const TEST_TABLE = test_utils.makeTestTable('test', ['id'], config);
59
61
  test('compacting parameters', async () => {
60
62
  const env_1 = { stack: [], error: void 0, hasError: false };
61
63
  try {
@@ -68,6 +70,7 @@ bucket_definitions:
68
70
  `));
69
71
  const bucketStorage = factory.getInstance(syncRules);
70
72
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
73
+ await batch.markAllSnapshotDone('1/1');
71
74
  await batch.save({
72
75
  sourceTable: TEST_TABLE,
73
76
  tag: storage.SaveOperationTag.INSERT,
@@ -86,7 +89,7 @@ bucket_definitions:
86
89
  });
87
90
  await batch.commit('1/1');
88
91
  });
89
- const lookup = ScopedParameterLookup.direct({ lookupName: 'test', queryId: '1' }, ['t1']);
92
+ const lookup = ScopedParameterLookup.direct(parameterLookupScope('test', '1'), ['t1']);
90
93
  const checkpoint1 = await bucketStorage.getCheckpoint();
91
94
  const parameters1 = await checkpoint1.getParameterSets([lookup]);
92
95
  expect(parameters1).toEqual([{ id: 't1' }]);
@@ -150,6 +153,7 @@ bucket_definitions:
150
153
  `));
151
154
  const bucketStorage = factory.getInstance(syncRules);
152
155
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
156
+ await batch.markAllSnapshotDone('1/1');
153
157
  await batch.save({
154
158
  sourceTable: TEST_TABLE,
155
159
  tag: storage.SaveOperationTag.INSERT,
@@ -195,7 +199,7 @@ bucket_definitions:
195
199
  });
196
200
  await batch.commit('3/1');
197
201
  });
198
- const lookup = ScopedParameterLookup.direct({ lookupName: 'test', queryId: '1' }, ['u1']);
202
+ const lookup = ScopedParameterLookup.direct(parameterLookupScope('test', '1'), ['u1']);
199
203
  const checkpoint1 = await bucketStorage.getCheckpoint();
200
204
  const parameters1 = await checkpoint1.getParameterSets([lookup]);
201
205
  expect(parameters1).toEqual([]);
@@ -1 +1 @@
1
- {"version":3,"file":"register-parameter-compacting-tests.js","sourceRoot":"","sources":["../../src/tests/register-parameter-compacting-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-parameter-compacting-tests.js","sourceRoot":"","sources":["../../src/tests/register-parameter-compacting-tests.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,UAAU,6BAA6B,CAAC,MAAiC;IAC7E,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC;IAE9C,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpE,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;;YACvC,MAAY,OAAO,kCAAG,MAAM,sBAAsB,EAAE,OAAA,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,eAAe,CAC7C,uBAAuB,CAAC;;;;;KAKzB,CAAC,CACD,CAAC;YACF,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAErD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACvC,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,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAEvF,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACjE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE5C,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,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;oBACrB,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;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACjE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEhC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACpE,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5D,oBAAoB;YACpB,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEjC,qBAAqB;YACrB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACnE,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;;;;;;;;;;;KAC1F,CAAC,CAAC;IAEH,KAAK,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,iDAAiD,UAAU,EAAE,EAAE,KAAK,IAAI,EAAE;;;gBAC7E,MAAY,OAAO,kCAAG,MAAM,sBAAsB,EAAE,OAAA,CAAC;gBACrD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,eAAe,CAC7C,uBAAuB,CAAC;;;;;KAK3B,CAAC,CACC,CAAC;gBACF,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAErD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACvE,MAAM,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,IAAI;4BACR,GAAG,EAAE,IAAI;yBACV;wBACD,cAAc,EAAE,IAAI;qBACrB,CAAC,CAAC;oBACH,qFAAqF;oBACrF,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,IAAI;4BACR,GAAG,EAAE,IAAI;yBACV;wBACD,cAAc,EAAE,IAAI;qBACrB,CAAC,CAAC;oBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,MAAM,EAAE;4BACN,EAAE,EAAE,IAAI;4BACR,GAAG,EAAE,IAAI;yBACV;wBACD,eAAe,EAAE,IAAI;qBACtB,CAAC,CAAC;oBACH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,IAAI;4BACR,GAAG,EAAE,IAAI;yBACV;wBACD,cAAc,EAAE,IAAI;qBACrB,CAAC,CAAC;oBACH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEvF,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAEhC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACpE,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC,CAAC;gBAEpG,oBAAoB;gBACpB,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAEjC,qBAAqB;gBACrB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACnE,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;;;;;;;;;;;SAC1F,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -8,6 +8,7 @@ export declare const SYNC_SNAPSHOT_PATH: string;
8
8
  * });
9
9
  * ```
10
10
  */
11
- export declare function registerSyncTests(factory: storage.TestStorageFactory, options?: {
11
+ export declare function registerSyncTests(configOrFactory: storage.TestStorageConfig | storage.TestStorageFactory, options?: {
12
12
  storageVersion?: number;
13
+ tableIdStrings?: boolean;
13
14
  }): void;
@@ -57,11 +57,9 @@ import * as timers from 'timers/promises';
57
57
  import { fileURLToPath } from 'url';
58
58
  import { expect, test } from 'vitest';
59
59
  import * as test_utils from '../test-utils/test-utils-index.js';
60
- import { METRICS_HELPER } from '../test-utils/test-utils-index.js';
61
- import { bucketRequest } from './util.js';
60
+ import { bucketRequest, METRICS_HELPER } from '../test-utils/test-utils-index.js';
62
61
  const __filename = fileURLToPath(import.meta.url);
63
62
  const __dirname = path.dirname(__filename);
64
- const TEST_TABLE = test_utils.makeTestTable('test', ['id']);
65
63
  const BASIC_SYNC_RULES = `
66
64
  bucket_definitions:
67
65
  mybucket:
@@ -77,7 +75,11 @@ export const SYNC_SNAPSHOT_PATH = path.resolve(__dirname, '../__snapshots/sync.t
77
75
  * });
78
76
  * ```
79
77
  */
80
- export function registerSyncTests(factory, options = {}) {
78
+ export function registerSyncTests(configOrFactory, options = {}) {
79
+ const config = typeof configOrFactory == 'function'
80
+ ? { factory: configOrFactory, tableIdStrings: options.tableIdStrings ?? true }
81
+ : configOrFactory;
82
+ const factory = config.factory;
81
83
  createCoreAPIMetrics(METRICS_HELPER.metricsEngine);
82
84
  const tracker = new sync.RequestTracker(METRICS_HELPER.metricsEngine);
83
85
  const syncContext = new sync.SyncContext({
@@ -85,6 +87,7 @@ export function registerSyncTests(factory, options = {}) {
85
87
  maxParameterQueryResults: 10,
86
88
  maxDataFetchConcurrency: 2
87
89
  });
90
+ const TEST_TABLE = test_utils.makeTestTable('test', ['id'], config);
88
91
  const updateSyncRules = (bucketStorageFactory, updateOptions) => {
89
92
  return bucketStorageFactory.updateSyncRules(updateSyncRulesFromYaml(updateOptions.content, {
90
93
  validate: true,
@@ -99,7 +102,8 @@ export function registerSyncTests(factory, options = {}) {
99
102
  content: BASIC_SYNC_RULES
100
103
  });
101
104
  const bucketStorage = f.getInstance(syncRules);
102
- const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
105
+ await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
106
+ await batch.markAllSnapshotDone('0/1');
103
107
  await batch.save({
104
108
  sourceTable: TEST_TABLE,
105
109
  tag: storage.SaveOperationTag.INSERT,
@@ -164,7 +168,8 @@ bucket_definitions:
164
168
  `
165
169
  });
166
170
  const bucketStorage = f.getInstance(syncRules);
167
- const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
171
+ await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
172
+ await batch.markAllSnapshotDone('0/1');
168
173
  await batch.save({
169
174
  sourceTable: TEST_TABLE,
170
175
  tag: storage.SaveOperationTag.INSERT,
@@ -230,6 +235,7 @@ bucket_definitions:
230
235
  });
231
236
  const bucketStorage = f.getInstance(syncRules);
232
237
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
238
+ await batch.markAllSnapshotDone('0/1');
233
239
  // Initial data: Add one priority row and 10k low-priority rows.
234
240
  await batch.save({
235
241
  sourceTable: TEST_TABLE,
@@ -341,6 +347,7 @@ bucket_definitions:
341
347
  });
342
348
  const bucketStorage = f.getInstance(syncRules);
343
349
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
350
+ await batch.markAllSnapshotDone('0/1');
344
351
  // Initial data: Add one priority row and 10k low-priority rows.
345
352
  await batch.save({
346
353
  sourceTable: TEST_TABLE,
@@ -480,6 +487,7 @@ bucket_definitions:
480
487
  });
481
488
  const bucketStorage = f.getInstance(syncRules);
482
489
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
490
+ await batch.markAllSnapshotDone('0/1');
483
491
  // Initial data: Add one priority row and 10k low-priority rows.
484
492
  await batch.save({
485
493
  sourceTable: TEST_TABLE,
@@ -608,6 +616,7 @@ bucket_definitions:
608
616
  });
609
617
  const bucketStorage = f.getInstance(syncRules);
610
618
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
619
+ await batch.markAllSnapshotDone('0/1');
611
620
  await batch.save({
612
621
  sourceTable: TEST_TABLE,
613
622
  tag: storage.SaveOperationTag.INSERT,
@@ -674,6 +683,7 @@ bucket_definitions:
674
683
  });
675
684
  const bucketStorage = await f.getInstance(syncRules);
676
685
  const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
686
+ await batch.markAllSnapshotDone('0/1');
677
687
  await batch.save({
678
688
  sourceTable: TEST_TABLE,
679
689
  tag: storage.SaveOperationTag.INSERT,
@@ -748,6 +758,7 @@ bucket_definitions:
748
758
  const bucketStorage = await f.getInstance(syncRules);
749
759
  // Activate
750
760
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
761
+ await batch.markAllSnapshotDone('0/0');
751
762
  await batch.keepalive('0/0');
752
763
  });
753
764
  const stream = sync.streamResponse({
@@ -817,11 +828,12 @@ bucket_definitions:
817
828
  - select * from lists where user_id = bucket.user_id
818
829
  `
819
830
  });
820
- const usersTable = test_utils.makeTestTable('users', ['id']);
821
- const listsTable = test_utils.makeTestTable('lists', ['id']);
831
+ const usersTable = test_utils.makeTestTable('users', ['id'], config);
832
+ const listsTable = test_utils.makeTestTable('lists', ['id'], config);
822
833
  const bucketStorage = await f.getInstance(syncRules);
823
834
  // Activate
824
835
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
836
+ await batch.markAllSnapshotDone('0/0');
825
837
  await batch.keepalive('0/0');
826
838
  });
827
839
  const stream = sync.streamResponse({
@@ -858,8 +870,9 @@ bucket_definitions:
858
870
  });
859
871
  await batch.commit('0/1');
860
872
  });
873
+ const { bucket } = bucketRequest(syncRules, 'by_user["user1"]');
861
874
  const checkpoint2 = await getCheckpointLines(iter);
862
- expect(checkpoint2[0].checkpoint_diff?.updated_buckets?.map((b) => b.bucket)).toEqual([bucketRequest(syncRules, 'by_user["user1"]')]);
875
+ expect(checkpoint2[0].checkpoint_diff?.updated_buckets?.map((b) => b.bucket)).toEqual([bucket]);
863
876
  expect(checkpoint2).toMatchSnapshot();
864
877
  }
865
878
  catch (e_9) {
@@ -884,10 +897,11 @@ bucket_definitions:
884
897
  - select * from lists where user_id = bucket.user_id
885
898
  `
886
899
  });
887
- const usersTable = test_utils.makeTestTable('users', ['id']);
888
- const listsTable = test_utils.makeTestTable('lists', ['id']);
900
+ const usersTable = test_utils.makeTestTable('users', ['id'], config);
901
+ const listsTable = test_utils.makeTestTable('lists', ['id'], config);
889
902
  const bucketStorage = await f.getInstance(syncRules);
890
903
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
904
+ await batch.markAllSnapshotDone('0/1');
891
905
  await batch.save({
892
906
  sourceTable: usersTable,
893
907
  tag: storage.SaveOperationTag.INSERT,
@@ -916,10 +930,9 @@ bucket_definitions:
916
930
  context.onTestFinished(() => {
917
931
  iter.return?.();
918
932
  });
933
+ const { bucket } = bucketRequest(syncRules, 'by_user["user1"]');
919
934
  const checkpoint1 = await getCheckpointLines(iter);
920
- expect(checkpoint1[0].checkpoint?.buckets?.map((b) => b.bucket)).toEqual([
921
- bucketRequest(syncRules, 'by_user["user1"]')
922
- ]);
935
+ expect(checkpoint1[0].checkpoint?.buckets?.map((b) => b.bucket)).toEqual([bucket]);
923
936
  expect(checkpoint1).toMatchSnapshot();
924
937
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
925
938
  await batch.save({
@@ -935,7 +948,7 @@ bucket_definitions:
935
948
  await batch.commit('0/1');
936
949
  });
937
950
  const checkpoint2 = await getCheckpointLines(iter);
938
- expect(checkpoint2[0].checkpoint_diff?.updated_buckets?.map((b) => b.bucket)).toEqual([bucketRequest(syncRules, 'by_user["user1"]')]);
951
+ expect(checkpoint2[0].checkpoint_diff?.updated_buckets?.map((b) => b.bucket)).toEqual([bucket]);
939
952
  expect(checkpoint2).toMatchSnapshot();
940
953
  }
941
954
  catch (e_10) {
@@ -960,11 +973,12 @@ bucket_definitions:
960
973
  - select * from lists where user_id = bucket.user_id
961
974
  `
962
975
  });
963
- const usersTable = test_utils.makeTestTable('users', ['id']);
964
- const listsTable = test_utils.makeTestTable('lists', ['id']);
976
+ const usersTable = test_utils.makeTestTable('users', ['id'], config);
977
+ const listsTable = test_utils.makeTestTable('lists', ['id'], config);
965
978
  const bucketStorage = await f.getInstance(syncRules);
966
979
  // Activate
967
980
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
981
+ await batch.markAllSnapshotDone('0/0');
968
982
  await batch.keepalive('0/0');
969
983
  });
970
984
  const stream = sync.streamResponse({
@@ -987,6 +1001,7 @@ bucket_definitions:
987
1001
  // Initial empty checkpoint
988
1002
  expect(await getCheckpointLines(iter)).toMatchSnapshot();
989
1003
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
1004
+ await batch.markAllSnapshotDone('0/1');
990
1005
  await batch.save({
991
1006
  sourceTable: listsTable,
992
1007
  tag: storage.SaveOperationTag.INSERT,
@@ -1008,8 +1023,9 @@ bucket_definitions:
1008
1023
  });
1009
1024
  await batch.commit('0/1');
1010
1025
  });
1026
+ const { bucket } = bucketRequest(syncRules, 'by_user["user1"]');
1011
1027
  const checkpoint2 = await getCheckpointLines(iter);
1012
- expect(checkpoint2[0].checkpoint_diff?.updated_buckets?.map((b) => b.bucket)).toEqual([bucketRequest(syncRules, 'by_user["user1"]')]);
1028
+ expect(checkpoint2[0].checkpoint_diff?.updated_buckets?.map((b) => b.bucket)).toEqual([bucket]);
1013
1029
  expect(checkpoint2).toMatchSnapshot();
1014
1030
  }
1015
1031
  catch (e_11) {
@@ -1032,6 +1048,7 @@ bucket_definitions:
1032
1048
  const bucketStorage = await f.getInstance(syncRules);
1033
1049
  // Activate
1034
1050
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
1051
+ await batch.markAllSnapshotDone('0/0');
1035
1052
  await batch.keepalive('0/0');
1036
1053
  });
1037
1054
  const exp = Date.now() / 1000 + 0.1;
@@ -1080,6 +1097,7 @@ bucket_definitions:
1080
1097
  });
1081
1098
  const bucketStorage = await f.getInstance(syncRules);
1082
1099
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
1100
+ await batch.markAllSnapshotDone('0/1');
1083
1101
  await batch.save({
1084
1102
  sourceTable: TEST_TABLE,
1085
1103
  tag: storage.SaveOperationTag.INSERT,
@@ -1128,6 +1146,7 @@ bucket_definitions:
1128
1146
  // Now we save additional data AND compact before continuing.
1129
1147
  // This invalidates the checkpoint we've received above.
1130
1148
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
1149
+ await batch.markAllSnapshotDone('0/1');
1131
1150
  await batch.save({
1132
1151
  sourceTable: TEST_TABLE,
1133
1152
  tag: storage.SaveOperationTag.UPDATE,
@@ -1214,6 +1233,7 @@ bucket_definitions:
1214
1233
  });
1215
1234
  const bucketStorage = f.getInstance(syncRules);
1216
1235
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
1236
+ await batch.markAllSnapshotDone('0/1');
1217
1237
  // <= the managed write checkpoint LSN below
1218
1238
  await batch.commit('0/1');
1219
1239
  });
@@ -1245,6 +1265,7 @@ bucket_definitions:
1245
1265
  })
1246
1266
  });
1247
1267
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
1268
+ await batch.markAllSnapshotDone('0/1');
1248
1269
  // must be >= the managed write checkpoint LSN
1249
1270
  await batch.commit('1/0');
1250
1271
  });
@@ -1288,6 +1309,7 @@ config:
1288
1309
  });
1289
1310
  const bucketStorage = f.getInstance(syncRules);
1290
1311
  await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
1312
+ await batch.markAllSnapshotDone('0/1');
1291
1313
  await batch.save({
1292
1314
  sourceTable: TEST_TABLE,
1293
1315
  tag: storage.SaveOperationTag.INSERT,
@@ -1 +1 @@
1
- {"version":3,"file":"register-sync-tests.js","sourceRoot":"","sources":["../../src/tests/register-sync-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-sync-tests.js","sourceRoot":"","sources":["../../src/tests/register-sync-tests.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { storage } from '@powersync/service-core';
2
- export declare const TEST_TABLE: storage.SourceTable;
3
- export declare function bucketRequest(syncRules: storage.PersistedSyncRulesContent, bucketName: string): string;
4
- export declare function bucketRequests(syncRules: storage.PersistedSyncRulesContent, bucketNames: string[]): string[];
5
- export declare function bucketRequestMap(syncRules: storage.PersistedSyncRulesContent, buckets: Iterable<readonly [string, bigint]>): Map<string, bigint>;
2
+ import { ParameterIndexLookupCreator } from '@powersync/service-sync-rules';
3
+ import { ParameterLookupScope } from '@powersync/service-sync-rules/src/HydrationState.js';
4
+ export declare function bucketRequestMap(syncRules: storage.PersistedSyncRulesContent, buckets: Iterable<readonly [string, bigint]>): storage.BucketDataRequest[];
5
+ export declare function bucketRequests(syncRules: storage.PersistedSyncRulesContent, bucketNames: string[]): storage.BucketChecksumRequest[];
6
+ export declare function parameterLookupScope(lookupName: string, queryId: string, source?: ParameterIndexLookupCreator): ParameterLookupScope;
@@ -1,17 +1,32 @@
1
- import { storage } from '@powersync/service-core';
2
- import { test_utils } from '../index.js';
3
- export const TEST_TABLE = test_utils.makeTestTable('test', ['id']);
4
- export function bucketRequest(syncRules, bucketName) {
5
- if (/^\d+#/.test(bucketName)) {
6
- return bucketName;
7
- }
8
- const versionedBuckets = storage.STORAGE_VERSION_CONFIG[syncRules.storageVersion]?.versionedBuckets ?? false;
9
- return versionedBuckets ? `${syncRules.id}#${bucketName}` : bucketName;
1
+ import { bucketRequest } from '../test-utils/general-utils.js';
2
+ export function bucketRequestMap(syncRules, buckets) {
3
+ return Array.from(buckets, ([bucketName, opId]) => bucketRequest(syncRules, bucketName, opId));
10
4
  }
11
5
  export function bucketRequests(syncRules, bucketNames) {
12
- return bucketNames.map((bucketName) => bucketRequest(syncRules, bucketName));
6
+ return bucketNames.map((bucketName) => {
7
+ const request = bucketRequest(syncRules, bucketName, 0n);
8
+ return { bucket: request.bucket, source: request.source };
9
+ });
13
10
  }
14
- export function bucketRequestMap(syncRules, buckets) {
15
- return new Map(Array.from(buckets, ([bucketName, opId]) => [bucketRequest(syncRules, bucketName), opId]));
11
+ const EMPTY_LOOKUP_SOURCE = {
12
+ get defaultLookupScope() {
13
+ return {
14
+ lookupName: 'lookup',
15
+ queryId: '0',
16
+ source: EMPTY_LOOKUP_SOURCE
17
+ };
18
+ },
19
+ getSourceTables() {
20
+ return new Set();
21
+ },
22
+ evaluateParameterRow(_sourceTable, _row) {
23
+ return [];
24
+ },
25
+ tableSyncsParameters(_table) {
26
+ return false;
27
+ }
28
+ };
29
+ export function parameterLookupScope(lookupName, queryId, source = EMPTY_LOOKUP_SOURCE) {
30
+ return { lookupName, queryId, source };
16
31
  }
17
32
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/tests/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnE,MAAM,UAAU,aAAa,CAAC,SAA4C,EAAE,UAAkB;IAC5F,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,gBAAgB,IAAI,KAAK,CAAC;IAC7G,OAAO,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAA4C,EAAE,WAAqB;IAChG,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAA4C,EAC5C,OAA4C;IAE5C,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5G,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/tests/util.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,UAAU,gBAAgB,CAC9B,SAA4C,EAC5C,OAA4C;IAE5C,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,SAA4C,EAC5C,WAAqB;IAErB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,mBAAmB,GAAgC;IACvD,IAAI,kBAAkB;QACpB,OAAO;YACL,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,mBAAmB;SAC5B,CAAC;IACJ,CAAC;IACD,eAAe;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,oBAAoB,CAAC,YAAkC,EAAE,IAAe;QACtE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,oBAAoB,CAAC,MAA4B;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,OAAe,EACf,SAAsC,mBAAmB;IAEzD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -5,14 +5,14 @@
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
- "version": "0.14.0",
8
+ "version": "0.15.0",
9
9
  "main": "dist/index.js",
10
10
  "license": "FSL-1.1-ALv2",
11
11
  "type": "module",
12
12
  "dependencies": {
13
- "@powersync/service-core": "^1.20.0",
13
+ "@powersync/service-core": "^1.20.1",
14
14
  "@powersync/service-jsonbig": "^0.17.12",
15
- "@powersync/service-sync-rules": "^0.32.0"
15
+ "@powersync/service-sync-rules": "^0.33.0"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "vitest": "^4.0.16"