@powersync/service-core-tests 0.15.4 → 0.16.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 (33) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/test-utils/AbstractStreamTestContext.d.ts +51 -0
  3. package/dist/test-utils/AbstractStreamTestContext.js +143 -0
  4. package/dist/test-utils/AbstractStreamTestContext.js.map +1 -0
  5. package/dist/test-utils/StorageDataHelpers.d.ts +8 -0
  6. package/dist/test-utils/StorageDataHelpers.js +33 -0
  7. package/dist/test-utils/StorageDataHelpers.js.map +1 -0
  8. package/dist/test-utils/general-utils.d.ts +3 -8
  9. package/dist/test-utils/general-utils.js +28 -26
  10. package/dist/test-utils/general-utils.js.map +1 -1
  11. package/dist/test-utils/test-utils-index.d.ts +2 -0
  12. package/dist/test-utils/test-utils-index.js +2 -0
  13. package/dist/test-utils/test-utils-index.js.map +1 -1
  14. package/dist/tests/register-data-storage-data-tests.js +3 -3
  15. package/dist/tests/register-data-storage-data-tests.js.map +1 -1
  16. package/dist/tests/register-data-storage-parameter-tests.js +436 -65
  17. package/dist/tests/register-data-storage-parameter-tests.js.map +1 -1
  18. package/dist/tests/register-parameter-compacting-tests.js +8 -8
  19. package/dist/tests/register-parameter-compacting-tests.js.map +1 -1
  20. package/dist/tests/util.d.ts +1 -2
  21. package/dist/tests/util.js +8 -5
  22. package/dist/tests/util.js.map +1 -1
  23. package/package.json +7 -6
  24. package/src/test-utils/AbstractStreamTestContext.ts +179 -0
  25. package/src/test-utils/StorageDataHelpers.ts +44 -0
  26. package/src/test-utils/general-utils.ts +31 -31
  27. package/src/test-utils/test-utils-index.ts +2 -0
  28. package/src/tests/register-data-storage-data-tests.ts +3 -3
  29. package/src/tests/register-data-storage-parameter-tests.ts +519 -67
  30. package/src/tests/register-parameter-compacting-tests.ts +8 -8
  31. package/src/tests/util.ts +12 -9
  32. package/tsconfig.json +3 -0
  33. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"register-data-storage-parameter-tests.js","sourceRoot":"","sources":["../../src/tests/register-data-storage-parameter-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-data-storage-parameter-tests.js","sourceRoot":"","sources":["../../src/tests/register-data-storage-parameter-tests.ts"],"names":[],"mappings":"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"}
@@ -35,8 +35,8 @@ bucket_definitions:
35
35
  await writer.commit('1/1');
36
36
  const lookup = ScopedParameterLookup.direct({ lookupName: 'test', queryId: '1', source: null }, ['t1']);
37
37
  const checkpoint1 = await bucketStorage.getCheckpoint();
38
- const parameters1 = await checkpoint1.getParameterSets([lookup]);
39
- expect(parameters1).toEqual([{ id: 't1' }]);
38
+ const parameters1 = await checkpoint1.getParameterSets([lookup], 1000);
39
+ expect(parameters1).toEqual([{ lookup, rows: [{ id: 't1' }] }]);
40
40
  await writer.save({
41
41
  sourceTable: testTable,
42
42
  tag: storage.SaveOperationTag.UPDATE,
@@ -59,14 +59,14 @@ bucket_definitions:
59
59
  });
60
60
  await writer.commit('1/2');
61
61
  const checkpoint2 = await bucketStorage.getCheckpoint();
62
- const parameters2 = await checkpoint2.getParameterSets([lookup]);
62
+ const parameters2 = await checkpoint2.getParameterSets([lookup], 1000);
63
63
  expect(parameters2).toEqual([]);
64
64
  const statsBefore = await bucketStorage.factory.getStorageMetrics();
65
65
  await bucketStorage.compact({ compactParameterData: true });
66
66
  // Check consistency
67
- const parameters1b = await checkpoint1.getParameterSets([lookup]);
68
- const parameters2b = await checkpoint2.getParameterSets([lookup]);
69
- expect(parameters1b).toEqual([{ id: 't1' }]);
67
+ const parameters1b = await checkpoint1.getParameterSets([lookup], 1000);
68
+ const parameters2b = await checkpoint2.getParameterSets([lookup], 1000);
69
+ expect(parameters1b).toEqual([{ lookup, rows: [{ id: 't1' }] }]);
70
70
  expect(parameters2b).toEqual([]);
71
71
  // Check storage size
72
72
  const statsAfter = await bucketStorage.factory.getStorageMetrics();
@@ -127,12 +127,12 @@ bucket_definitions:
127
127
  await writer.commit('3/1');
128
128
  const lookup = ScopedParameterLookup.direct({ lookupName: 'test', queryId: '1', source: null }, ['u1']);
129
129
  const checkpoint1 = await bucketStorage.getCheckpoint();
130
- const parameters1 = await checkpoint1.getParameterSets([lookup]);
130
+ const parameters1 = await checkpoint1.getParameterSets([lookup], 1000);
131
131
  expect(parameters1).toEqual([]);
132
132
  const statsBefore = await bucketStorage.factory.getStorageMetrics();
133
133
  await bucketStorage.compact({ compactParameterData: true, compactParameterCacheLimit: cacheLimit });
134
134
  // Check consistency
135
- const parameters1b = await checkpoint1.getParameterSets([lookup]);
135
+ const parameters1b = await checkpoint1.getParameterSets([lookup], 1000);
136
136
  expect(parameters1b).toEqual([]);
137
137
  // Check storage size
138
138
  const statsAfter = await bucketStorage.factory.getStorageMetrics();
@@ -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;AAEhE,MAAM,UAAU,6BAA6B,CAAC,MAAiC;IAC7E,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC;IAE9C,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,YAAY,OAAO,GAAG,MAAM,sBAAsB,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,eAAe,CAC7C,uBAAuB,CAAC;;;;;KAKzB,CAAC,CACD,CAAC;QACF,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACrD,YAAY,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAEpF,MAAM,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,MAAM,CAAC,IAAI,CAAC;YAChB,WAAW,EAAE,SAAS;YACtB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;YACpC,KAAK,EAAE;gBACL,EAAE,EAAE,IAAI;aACT;YACD,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,IAAI,CAAC;YAChB,WAAW,EAAE,SAAS;YACtB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;YACpC,KAAK,EAAE;gBACL,EAAE,EAAE,IAAI;aACT;YACD,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/G,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhE,MAAM,MAAM,CAAC,IAAI,CAAC;YAChB,WAAW,EAAE,SAAS;YACtB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;YACpC,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;aACT;YACD,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE;gBACL,EAAE,EAAE,IAAI;aACT;YACD,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,IAAI,CAAC;YAChB,WAAW,EAAE,SAAS;YACtB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;YACpC,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;aACT;YACD,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACpE,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,oBAAoB;QACpB,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEjC,qBAAqB;QACrB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnE,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAC3F,CAAC,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;YAC7E,YAAY,OAAO,GAAG,MAAM,sBAAsB,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,eAAe,CAC7C,uBAAuB,CAAC;;;;;KAK3B,CAAC,CACC,CAAC;YACF,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,YAAY,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAChF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAEpF,MAAM,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,MAAM,CAAC,IAAI,CAAC;gBAChB,WAAW,EAAE,SAAS;gBACtB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;gBACpC,KAAK,EAAE;oBACL,EAAE,EAAE,IAAI;oBACR,GAAG,EAAE,IAAI;iBACV;gBACD,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,qFAAqF;YACrF,MAAM,MAAM,CAAC,IAAI,CAAC;gBAChB,WAAW,EAAE,SAAS;gBACtB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;gBACpC,KAAK,EAAE;oBACL,EAAE,EAAE,IAAI;oBACR,GAAG,EAAE,IAAI;iBACV;gBACD,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE3B,MAAM,MAAM,CAAC,IAAI,CAAC;gBAChB,WAAW,EAAE,SAAS;gBACtB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;gBACpC,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI;oBACR,GAAG,EAAE,IAAI;iBACV;gBACD,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE3B,MAAM,MAAM,CAAC,IAAI,CAAC;gBAChB,WAAW,EAAE,SAAS;gBACtB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;gBACpC,KAAK,EAAE;oBACL,EAAE,EAAE,IAAI;oBACR,GAAG,EAAE,IAAI;iBACV;gBACD,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE3B,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAE/G,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YACvE,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,0BAA0B,EAAE,UAAU,EAAE,CAAC,CAAC;YAEpG,oBAAoB;YACpB,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YACxE,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;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { storage } from '@powersync/service-core';
2
- import { ParameterIndexLookupCreator } from '@powersync/service-sync-rules';
3
- import { ParameterLookupScope } from '@powersync/service-sync-rules/src/HydrationState.js';
2
+ import { ParameterIndexLookupCreator, ParameterLookupScope } from '@powersync/service-sync-rules';
4
3
  export declare function bucketRequestMap(syncRules: storage.PersistedSyncRulesContent, buckets: Iterable<readonly [string, bigint]>): storage.BucketDataRequest[];
5
4
  export declare function bucketRequests(syncRules: storage.PersistedSyncRulesContent, bucketNames: string[]): storage.BucketChecksumRequest[];
6
5
  export declare function parameterLookupScope(lookupName: string, queryId: string, source?: ParameterIndexLookupCreator): ParameterLookupScope;
@@ -9,18 +9,21 @@ export function bucketRequests(syncRules, bucketNames) {
9
9
  });
10
10
  }
11
11
  const EMPTY_LOOKUP_SOURCE = {
12
- get defaultLookupScope() {
12
+ get sourceId() {
13
13
  return {
14
14
  lookupName: 'lookup',
15
- queryId: '0',
16
- source: EMPTY_LOOKUP_SOURCE
15
+ queryId: '0'
17
16
  };
18
17
  },
19
18
  getSourceTables() {
20
19
  return new Set();
21
20
  },
22
- evaluateParameterRow(_sourceTable, _row) {
23
- return [];
21
+ createEvaluator(input) {
22
+ return {
23
+ evaluateParameterRow(sourceTable, row) {
24
+ return [];
25
+ }
26
+ };
24
27
  },
25
28
  tableSyncsParameters(_table) {
26
29
  return false;
@@ -1 +1 @@
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"}
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,QAAQ;QACV,OAAO;YACL,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,GAAG;SACb,CAAC;IACJ,CAAC;IACD,eAAe;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,eAAe,CAAC,KAAK;QACnB,OAAO;YACL,oBAAoB,CAAC,WAAW,EAAE,GAAG;gBACnC,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC;IACJ,CAAC;IACD,oBAAoB,CAAC,MAAsB;QACzC,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,20 +5,21 @@
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
- "version": "0.15.4",
8
+ "version": "0.16.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.5",
14
- "@powersync/service-jsonbig": "^0.17.12",
15
- "@powersync/service-sync-rules": "^0.35.0"
13
+ "@powersync/lib-services-framework": "^0.9.5",
14
+ "@powersync/service-core": "^1.22.0",
15
+ "@powersync/service-jsonbig": "^0.17.13",
16
+ "@powersync/service-sync-rules": "^0.37.0"
16
17
  },
17
18
  "peerDependencies": {
18
- "vitest": "^4.1.0"
19
+ "vitest": "^4.1.5"
19
20
  },
20
21
  "devDependencies": {
21
- "typescript": "~5.9.3",
22
+ "typescript": "~6.0.3",
22
23
  "@opentelemetry/sdk-metrics": "^1.30.1"
23
24
  },
24
25
  "scripts": {
@@ -0,0 +1,179 @@
1
+ import { ReplicationAbortedError } from '@powersync/lib-services-framework';
2
+ import {
3
+ BucketStorageFactory,
4
+ InternalOpId,
5
+ settledPromise,
6
+ storage,
7
+ SyncRulesBucketStorage,
8
+ unsettledPromise,
9
+ updateSyncRulesFromYaml
10
+ } from '@powersync/service-core';
11
+ import { StorageDataHelpers } from './StorageDataHelpers.js';
12
+ import { bucketRequest } from './general-utils.js';
13
+ import { fromAsync } from './stream_utils.js';
14
+
15
+ export abstract class AbstractStreamTestContext implements AsyncDisposable {
16
+ protected abortController = new AbortController();
17
+ protected syncRulesContent?: storage.PersistedSyncRulesContent;
18
+ public storage?: SyncRulesBucketStorage;
19
+ protected settledReplicationPromise?: Promise<PromiseSettledResult<void>>;
20
+
21
+ abstract get factory(): BucketStorageFactory;
22
+ protected abstract get storageVersion(): number;
23
+
24
+ async [Symbol.asyncDispose]() {
25
+ await this.dispose();
26
+ }
27
+
28
+ protected abstract _dispose(): Promise<void>;
29
+
30
+ async dispose() {
31
+ this.abortController.abort();
32
+ try {
33
+ await this.settledReplicationPromise;
34
+ await this._dispose();
35
+ await this.factory?.[Symbol.asyncDispose]();
36
+ } catch (e) {
37
+ // Throwing here may result in SuppressedError. The underlying errors often don't show up
38
+ // in the test output, so we log it here.
39
+ // If we could get vitest to log SuppressedError.error and SuppressedError.suppressed, we
40
+ // could remove this.
41
+ console.error('Error during ConvexStreamTestContext dispose', e);
42
+ throw e;
43
+ }
44
+ }
45
+
46
+ async updateSyncRules(content: string) {
47
+ const syncRules = await this.factory.updateSyncRules(
48
+ updateSyncRulesFromYaml(content, { validate: true, storageVersion: this.storageVersion })
49
+ );
50
+ this.syncRulesContent = syncRules;
51
+ this.storage = this.factory.getInstance(syncRules);
52
+ return this.storage!;
53
+ }
54
+
55
+ async loadNextSyncRules() {
56
+ const syncRules = await this.factory.getNextSyncRulesContent();
57
+ if (syncRules == null) {
58
+ throw new Error(`Next sync rules not available`);
59
+ }
60
+
61
+ this.syncRulesContent = syncRules;
62
+ this.storage = this.factory.getInstance(syncRules);
63
+ return this.storage!;
64
+ }
65
+
66
+ async loadActiveSyncRules() {
67
+ const syncRules = await this.factory.getActiveSyncRulesContent();
68
+ if (syncRules == null) {
69
+ throw new Error(`Active sync rules not available`);
70
+ }
71
+
72
+ this.syncRulesContent = syncRules;
73
+ this.storage = this.factory.getInstance(syncRules);
74
+ return this.storage!;
75
+ }
76
+
77
+ private getSyncRulesContent(): storage.PersistedSyncRulesContent {
78
+ if (this.syncRulesContent == null) {
79
+ throw new Error('Sync rules not configured - call updateSyncRules() first');
80
+ }
81
+ return this.syncRulesContent;
82
+ }
83
+
84
+ /**
85
+ * Replicate a snapshot, start streaming, and wait for a consistent checkpoint.
86
+ */
87
+ async initializeReplication() {
88
+ await this.replicateSnapshot();
89
+ // Make sure we're up to date
90
+ await this.getCheckpoint();
91
+ }
92
+
93
+ protected abstract triggerReplication(): Promise<void>;
94
+ protected abstract waitForInitialSnapshot(): Promise<void>;
95
+
96
+ /**
97
+ * Replicate the initial snapshot, and start streaming.
98
+ */
99
+ async replicateSnapshot() {
100
+ // Use a settledPromise to avoid unhandled rejections
101
+ this.settledReplicationPromise = settledPromise(this.triggerReplication());
102
+ try {
103
+ await Promise.race([unsettledPromise(this.settledReplicationPromise), this.waitForInitialSnapshot()]);
104
+ } catch (e) {
105
+ if (e instanceof ReplicationAbortedError && e.cause != null) {
106
+ // Edge case for tests: replicate() can throw an error, but we'd receive the ReplicationAbortedError from
107
+ // waitForInitialSnapshot() first. In that case, prioritize the cause, e.g. MissingReplicationSlotError.
108
+ // This is not a concern for production use, since we only use waitForInitialSnapshot() in tests.
109
+ throw e.cause;
110
+ }
111
+ throw e;
112
+ }
113
+ }
114
+
115
+ abstract getClientCheckpoint(options?: { timeout?: number }): Promise<bigint>;
116
+
117
+ async getCheckpoint(options?: { timeout?: number }) {
118
+ let checkpoint = await Promise.race([
119
+ this.getClientCheckpoint(options),
120
+ unsettledPromise(this.settledReplicationPromise!)
121
+ ]);
122
+ if (checkpoint == null) {
123
+ // This indicates an issue with the test setup - replicationPromise completed instead
124
+ // of getClientCheckpoint()
125
+ throw new Error('Test failure - replicationPromise completed');
126
+ }
127
+ return checkpoint;
128
+ }
129
+
130
+ async getBucketsDataBatch(buckets: Record<string, InternalOpId>, options?: { timeout?: number }) {
131
+ const helpers = new StorageDataHelpers(this.storage!, this.getSyncRulesContent());
132
+ const checkpoint = await this.getCheckpoint(options);
133
+ return helpers.getBucketsDataBatch(buckets, checkpoint);
134
+ }
135
+
136
+ /**
137
+ * This waits for a client checkpoint.
138
+ */
139
+ async getBucketData(bucket: string, start?: InternalOpId | string | undefined, options?: { timeout?: number }) {
140
+ const helpers = new StorageDataHelpers(this.storage!, this.getSyncRulesContent());
141
+ const checkpoint = await this.getCheckpoint(options);
142
+ return helpers.getBucketData(bucket, checkpoint, start);
143
+ }
144
+
145
+ async getChecksums(buckets: string[], options?: { timeout?: number }) {
146
+ const checkpoint = await this.getCheckpoint(options);
147
+ const syncRules = this.getSyncRulesContent();
148
+ const versionedBuckets = buckets.map((bucket) => bucketRequest(syncRules, bucket, 0n));
149
+ const checksums = await this.storage!.getChecksums(checkpoint, versionedBuckets);
150
+
151
+ const unversioned = new Map();
152
+ for (let i = 0; i < buckets.length; i++) {
153
+ unversioned.set(buckets[i], checksums.get(versionedBuckets[i].bucket)!);
154
+ }
155
+
156
+ return unversioned;
157
+ }
158
+
159
+ async getChecksum(bucket: string, options?: { timeout?: number }) {
160
+ const checksums = await this.getChecksums([bucket], options);
161
+ return checksums.get(bucket);
162
+ }
163
+
164
+ /**
165
+ * This does not wait for a client checkpoint.
166
+ */
167
+ async getCurrentBucketData(bucket: string, start?: InternalOpId | string | undefined) {
168
+ start ??= 0n;
169
+ if (typeof start == 'string') {
170
+ start = BigInt(start);
171
+ }
172
+ const syncRules = this.getSyncRulesContent();
173
+ const { checkpoint } = await this.storage!.getCheckpoint();
174
+ const map = [bucketRequest(syncRules, bucket, start)];
175
+ const batch = this.storage!.getBucketDataBatch(checkpoint, map);
176
+ const batches = await fromAsync(batch);
177
+ return batches[0]?.chunkData.data ?? [];
178
+ }
179
+ }
@@ -0,0 +1,44 @@
1
+ import {
2
+ InternalOpId,
3
+ OplogEntry,
4
+ PersistedSyncRules,
5
+ PersistedSyncRulesContent,
6
+ SyncRulesBucketStorage
7
+ } from '@powersync/service-core';
8
+ import { bucketRequest } from './general-utils.js';
9
+ import { fromAsync } from './stream_utils.js';
10
+
11
+ export class StorageDataHelpers {
12
+ storage: SyncRulesBucketStorage;
13
+ syncRules: PersistedSyncRulesContent | PersistedSyncRules;
14
+
15
+ constructor(storage: SyncRulesBucketStorage, syncRules: PersistedSyncRulesContent | PersistedSyncRules) {
16
+ this.storage = storage;
17
+ this.syncRules = syncRules;
18
+ }
19
+
20
+ async getBucketData(bucket: string, checkpoint: InternalOpId, start?: InternalOpId | string | undefined) {
21
+ start ??= 0n;
22
+ if (typeof start == 'string') {
23
+ start = BigInt(start);
24
+ }
25
+ let map = [bucketRequest(this.syncRules, bucket, start)];
26
+ let data: OplogEntry[] = [];
27
+ while (true) {
28
+ const batch = this.storage!.getBucketDataBatch(checkpoint, map);
29
+
30
+ const batches = await fromAsync(batch);
31
+ data = data.concat(batches[0]?.chunkData.data ?? []);
32
+ if (batches.length == 0 || !batches[0]!.chunkData.has_more) {
33
+ break;
34
+ }
35
+ map = [bucketRequest(this.syncRules, bucket, BigInt(batches[0]!.chunkData.next_after))];
36
+ }
37
+ return data;
38
+ }
39
+
40
+ async getBucketsDataBatch(buckets: Record<string, InternalOpId>, checkpoint: InternalOpId) {
41
+ const map = Object.entries(buckets).map(([bucket, start]) => bucketRequest(this.syncRules, bucket, start));
42
+ return fromAsync(this.storage!.getBucketDataBatch(checkpoint, map));
43
+ }
44
+ }
@@ -14,50 +14,50 @@ export const BATCH_OPTIONS: storage.CreateWriterOptions = {
14
14
  storeCurrentData: true
15
15
  };
16
16
 
17
- export function makeTestTable(
18
- name: string,
19
- replicaIdColumns?: string[] | undefined,
20
- options?: { tableIdStrings: boolean }
21
- ) {
22
- const relId = utils.hashData('table', name, (replicaIdColumns ?? ['id']).join(','));
23
- const id =
24
- options?.tableIdStrings == false ? new bson.ObjectId('6544e3899293153fa7b38331') : '6544e3899293153fa7b38331';
25
- return new storage.SourceTable({
26
- id: id,
27
- connectionTag: storage.SourceTable.DEFAULT_TAG,
28
- objectId: relId,
29
- schema: 'public',
30
- name: name,
31
- replicaIdColumns: (replicaIdColumns ?? ['id']).map((column) => ({ name: column, type: 'VARCHAR', typeId: 25 })),
32
- snapshotComplete: true
33
- });
34
- }
35
17
  /**
36
- * With incremental reprocessing, we need actual test tables, resolved via the writer.
37
- *
38
- * This prepares for it.
18
+ * With newer storage versions, we need actual test tables, resolved via the writer.
39
19
  */
40
20
  export async function resolveTestTable(
41
- _writer: storage.BucketStorageBatch,
21
+ writer: storage.BucketStorageBatch,
42
22
  name: string,
43
23
  replicaIdColumns: string[] | undefined,
44
24
  options: { tableIdStrings: boolean },
45
25
  idIndex: number = 1
46
26
  ) {
27
+ void idIndex;
28
+ void options;
29
+
47
30
  const relId = utils.hashData('table', name, (replicaIdColumns ?? ['id']).join(','));
48
- // Generate unique ids per test table (if idIndex is specified), without completely
49
- // breaking all the existing tests.
31
+ // Semi-hardcoded id for tests, to get consistent output.
32
+ // If the same test uses multiple tables, pass idIndex to get different ids.
50
33
  const idString = '6544e3899293153fa7b383' + (30 + idIndex).toString().padStart(2, '0');
51
34
  const id = options.tableIdStrings == false ? new bson.ObjectId(idString) : idString;
52
- return new storage.SourceTable({
53
- id: id,
35
+ let didGenerateId = false;
36
+
37
+ const source: storage.SourceEntityDescriptor = {
54
38
  connectionTag: storage.SourceTable.DEFAULT_TAG,
55
39
  objectId: relId,
56
40
  schema: 'public',
57
41
  name: name,
58
- replicaIdColumns: (replicaIdColumns ?? ['id']).map((column) => ({ name: column, type: 'VARCHAR', typeId: 25 })),
59
- snapshotComplete: true
42
+ replicaIdColumns: (replicaIdColumns ?? ['id']).map((column) => ({ name: column, type: 'VARCHAR', typeId: 25 }))
43
+ };
44
+ const resolved = await writer.resolveTables({
45
+ connection_id: 1,
46
+ source,
47
+ idGenerator: () => {
48
+ if (didGenerateId) {
49
+ throw new Error('idGenerator called multiple times - not supported in tests');
50
+ }
51
+ didGenerateId = true;
52
+ return id;
53
+ }
60
54
  });
55
+
56
+ const table = resolved.tables[0];
57
+ if (table == null) {
58
+ throw new Error(`Failed to resolve test table ${source.schema}.${source.name}`);
59
+ }
60
+ return table;
61
61
  }
62
62
 
63
63
  export function getBatchData(
@@ -80,11 +80,11 @@ export function getBatchData(
80
80
  function isParsedSyncRules(
81
81
  syncRules: storage.PersistedSyncRulesContent | storage.PersistedSyncRules
82
82
  ): syncRules is storage.PersistedSyncRules {
83
- return (syncRules as storage.PersistedSyncRules).sync_rules !== undefined;
83
+ return (syncRules as storage.PersistedSyncRules).syncConfigWithErrors !== undefined;
84
84
  }
85
85
 
86
86
  /**
87
- * Bucket names no longer purely depend on the sync rules.
87
+ * Bucket names no longer purely depend on the sync config.
88
88
  * This converts a bucket name like "global[]" into the actual bucket name, for use in tests.
89
89
  */
90
90
  export function bucketRequest(
@@ -97,7 +97,7 @@ export function bucketRequest(
97
97
  const parameterStart = bucket.indexOf('[');
98
98
  const definitionName = bucket.substring(0, parameterStart);
99
99
  const parameters = bucket.substring(parameterStart);
100
- const source = parsed.sync_rules.config.bucketDataSources.find((b) => b.uniqueName === definitionName);
100
+ const source = parsed.syncConfigWithErrors.config.bucketDataSources.find((b) => b.uniqueName === definitionName);
101
101
 
102
102
  if (source == null) {
103
103
  throw new Error(`Failed to find global bucket ${bucket}`);
@@ -1,4 +1,6 @@
1
+ export * from './AbstractStreamTestContext.js';
1
2
  export * from './bucket-validation.js';
2
3
  export * from './general-utils.js';
3
4
  export * from './MetricsHelper.js';
5
+ export * from './StorageDataHelpers.js';
4
6
  export * from './stream_utils.js';
@@ -826,7 +826,7 @@ bucket_definitions:
826
826
  const bucketStorage = factory.getInstance(syncRules);
827
827
 
828
828
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
829
- const sourceTable = test_utils.makeTestTable('test', ['id', 'description'], config);
829
+ const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id', 'description'], config);
830
830
 
831
831
  // Pre-setup
832
832
  await writer.markAllSnapshotDone('1/1');
@@ -939,7 +939,7 @@ bucket_definitions:
939
939
  const bucketStorage = factory.getInstance(syncRules);
940
940
 
941
941
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
942
- const sourceTable = test_utils.makeTestTable('test', ['id', 'description'], config);
942
+ const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id', 'description'], config);
943
943
 
944
944
  // Pre-setup
945
945
  await writer.markAllSnapshotDone('1/1');
@@ -1756,7 +1756,7 @@ streams:
1756
1756
  `)
1757
1757
  );
1758
1758
 
1759
- const { errors } = deployed.parsed({ defaultSchema: 'ignored' }).sync_rules;
1759
+ const { errors } = deployed.parsed({ defaultSchema: 'ignored' }).syncConfigWithErrors;
1760
1760
  expect(errors).toHaveLength(1);
1761
1761
  expect(errors[0].message).toStrictEqual('Expected a SELECT statement');
1762
1762
  expect(errors[0].location).toStrictEqual({