@powersync/service-core-tests 0.0.0-dev-20260225160713 → 0.0.0-dev-20260511080634

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 (55) hide show
  1. package/CHANGELOG.md +95 -3
  2. package/dist/test-utils/MetricsHelper.js +1 -1
  3. package/dist/test-utils/MetricsHelper.js.map +1 -1
  4. package/dist/test-utils/StorageDataHelpers.d.ts +8 -0
  5. package/dist/test-utils/StorageDataHelpers.js +33 -0
  6. package/dist/test-utils/StorageDataHelpers.js.map +1 -0
  7. package/dist/test-utils/general-utils.d.ts +22 -3
  8. package/dist/test-utils/general-utils.js +56 -3
  9. package/dist/test-utils/general-utils.js.map +1 -1
  10. package/dist/test-utils/stream_utils.js +2 -2
  11. package/dist/test-utils/stream_utils.js.map +1 -1
  12. package/dist/test-utils/test-utils-index.d.ts +1 -0
  13. package/dist/test-utils/test-utils-index.js +1 -0
  14. package/dist/test-utils/test-utils-index.js.map +1 -1
  15. package/dist/tests/register-compacting-tests.d.ts +1 -1
  16. package/dist/tests/register-compacting-tests.js +514 -587
  17. package/dist/tests/register-compacting-tests.js.map +1 -1
  18. package/dist/tests/register-data-storage-checkpoint-tests.d.ts +1 -1
  19. package/dist/tests/register-data-storage-checkpoint-tests.js +200 -301
  20. package/dist/tests/register-data-storage-checkpoint-tests.js.map +1 -1
  21. package/dist/tests/register-data-storage-data-tests.d.ts +2 -2
  22. package/dist/tests/register-data-storage-data-tests.js +1220 -1041
  23. package/dist/tests/register-data-storage-data-tests.js.map +1 -1
  24. package/dist/tests/register-data-storage-parameter-tests.d.ts +1 -1
  25. package/dist/tests/register-data-storage-parameter-tests.js +681 -632
  26. package/dist/tests/register-data-storage-parameter-tests.js.map +1 -1
  27. package/dist/tests/register-migration-tests.js +63 -139
  28. package/dist/tests/register-migration-tests.js.map +1 -1
  29. package/dist/tests/register-parameter-compacting-tests.d.ts +1 -1
  30. package/dist/tests/register-parameter-compacting-tests.js +121 -201
  31. package/dist/tests/register-parameter-compacting-tests.js.map +1 -1
  32. package/dist/tests/register-sync-tests.d.ts +2 -1
  33. package/dist/tests/register-sync-tests.js +974 -1136
  34. package/dist/tests/register-sync-tests.js.map +1 -1
  35. package/dist/tests/tests-index.d.ts +4 -4
  36. package/dist/tests/tests-index.js +4 -4
  37. package/dist/tests/tests-index.js.map +1 -1
  38. package/dist/tests/util.d.ts +5 -4
  39. package/dist/tests/util.js +27 -12
  40. package/dist/tests/util.js.map +1 -1
  41. package/package.json +6 -6
  42. package/src/test-utils/MetricsHelper.ts +1 -1
  43. package/src/test-utils/StorageDataHelpers.ts +44 -0
  44. package/src/test-utils/general-utils.ts +81 -4
  45. package/src/test-utils/stream_utils.ts +2 -2
  46. package/src/test-utils/test-utils-index.ts +1 -0
  47. package/src/tests/register-compacting-tests.ts +376 -322
  48. package/src/tests/register-data-storage-checkpoint-tests.ts +85 -53
  49. package/src/tests/register-data-storage-data-tests.ts +1076 -563
  50. package/src/tests/register-data-storage-parameter-tests.ts +631 -327
  51. package/src/tests/register-parameter-compacting-tests.ts +92 -96
  52. package/src/tests/register-sync-tests.ts +463 -379
  53. package/src/tests/tests-index.ts +4 -4
  54. package/src/tests/util.ts +46 -17
  55. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,98 @@
1
1
  # @powersync/service-core-tests
2
2
 
3
- ## 0.0.0-dev-20260225160713
3
+ ## 0.0.0-dev-20260511080634
4
+
5
+ ### Patch Changes
6
+
7
+ - cdb8993: Add `config.storage_version` configuration option.
8
+ - 040fffd: Improve consistency of logs and error messages
9
+ - Updated dependencies [f20f318]
10
+ - Updated dependencies [9add445]
11
+ - Updated dependencies [17503d1]
12
+ - Updated dependencies [01c29c3]
13
+ - Updated dependencies [cdb8993]
14
+ - Updated dependencies [7c7b525]
15
+ - Updated dependencies [824e229]
16
+ - Updated dependencies [040fffd]
17
+ - Updated dependencies [9e474d3]
18
+ - Updated dependencies [423822c]
19
+ - Updated dependencies [2b19fc3]
20
+ - @powersync/service-core@0.0.0-dev-20260511080634
21
+ - @powersync/service-sync-rules@0.0.0-dev-20260511080634
22
+ - @powersync/service-jsonbig@0.0.0-dev-20260511080634
23
+
24
+ ## 0.15.4
25
+
26
+ ### Patch Changes
27
+
28
+ - Updated dependencies [41875f7]
29
+ - Updated dependencies [2b72c2a]
30
+ - Updated dependencies [4611a49]
31
+ - Updated dependencies [b6a7896]
32
+ - Updated dependencies [2b72c2a]
33
+ - Updated dependencies [756746c]
34
+ - @powersync/service-core@1.20.5
35
+ - @powersync/service-sync-rules@0.35.0
36
+
37
+ ## 0.15.3
38
+
39
+ ### Patch Changes
40
+
41
+ - df451c6: Node 24.14.0 and other dependency upgrades.
42
+ - Updated dependencies [df451c6]
43
+ - Updated dependencies [dea1e00]
44
+ - Updated dependencies [ada86f2]
45
+ - Updated dependencies [11b4deb]
46
+ - @powersync/service-core@1.20.4
47
+ - @powersync/service-sync-rules@0.34.1
48
+
49
+ ## 0.15.2
50
+
51
+ ### Patch Changes
52
+
53
+ - @powersync/service-core@1.20.3
54
+
55
+ ## 0.15.1
56
+
57
+ ### Patch Changes
58
+
59
+ - 8d5d7ee: Added schema change detection and handling for the SQL Server adapter
60
+ - 4c92c24: [Internal] Add a createWriter() API to replace startBatch().
61
+ - Updated dependencies [224c35e]
62
+ - Updated dependencies [acf1486]
63
+ - Updated dependencies [391c5ef]
64
+ - Updated dependencies [7ee87d4]
65
+ - Updated dependencies [99de8be]
66
+ - Updated dependencies [9daf965]
67
+ - Updated dependencies [4c92c24]
68
+ - Updated dependencies [3d230c2]
69
+ - Updated dependencies [206633f]
70
+ - Updated dependencies [3a0627e]
71
+ - Updated dependencies [275fd5f]
72
+ - Updated dependencies [7ce1b8e]
73
+ - @powersync/service-sync-rules@0.34.0
74
+ - @powersync/service-core@1.20.2
75
+
76
+ ## 0.15.0
77
+
78
+ ### Minor Changes
79
+
80
+ - 8c5bb3b: [Internal] Allow using multiple BucketStorageBatch instances concurrently.
81
+ - c15efc7: [Internal] Track and propagate source on buckets and parameter indexes to storage APIs.
82
+
83
+ ### Patch Changes
84
+
85
+ - 642cb11: [Postgres Storage] Fix concurrency issue in compacting, leading to "[PSYNC_S1101] Unexpected PUT operation".
86
+ - Updated dependencies [8c5bb3b]
87
+ - Updated dependencies [dcddcf1]
88
+ - Updated dependencies [c15efc7]
89
+ - Updated dependencies [e7152ce]
90
+ - Updated dependencies [e150c5c]
91
+ - Updated dependencies [b410924]
92
+ - @powersync/service-core@1.20.1
93
+ - @powersync/service-sync-rules@0.33.0
94
+
95
+ ## 0.14.0
4
96
 
5
97
  ### Minor Changes
6
98
 
@@ -21,8 +113,8 @@
21
113
  - Updated dependencies [83989b2]
22
114
  - Updated dependencies [79a9729]
23
115
  - Updated dependencies [5edd95f]
24
- - @powersync/service-core@0.0.0-dev-20260225160713
25
- - @powersync/service-sync-rules@0.0.0-dev-20260225160713
116
+ - @powersync/service-core@1.20.0
117
+ - @powersync/service-sync-rules@0.32.0
26
118
 
27
119
  ## 0.13.2
28
120
 
@@ -1,5 +1,5 @@
1
- import { MetricsEngine, OpenTelemetryMetricsFactory } from '@powersync/service-core';
2
1
  import { AggregationTemporality, InMemoryMetricExporter, MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
2
+ import { MetricsEngine, OpenTelemetryMetricsFactory } from '@powersync/service-core';
3
3
  export class MetricsHelper {
4
4
  factory;
5
5
  metricsEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"MetricsHelper.js","sourceRoot":"","sources":["../../src/test-utils/MetricsHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,OAAO,aAAa;IACjB,OAAO,CAAiB;IACxB,aAAa,CAAgB;IAC5B,aAAa,CAAgB;IAC7B,QAAQ,CAAyB;IACjC,YAAY,CAAgC;IAEpD;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAE9E,IAAI,CAAC,YAAY,GAAG,IAAI,6BAA6B,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,oBAAoB,EAAE,GAAG,CAAC,2BAA2B;SACtD,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC;YACrC,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,yBAAyB,EAAE,IAAI;SAChC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3C,yCAAyC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QACxE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,cAAc,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACnG,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9D,OAAO,KAAK,EAAE,KAAe,CAAC;IAChC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"MetricsHelper.js","sourceRoot":"","sources":["../../src/test-utils/MetricsHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAkB,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAErG,MAAM,OAAO,aAAa;IACjB,OAAO,CAAiB;IACxB,aAAa,CAAgB;IAC5B,aAAa,CAAgB;IAC7B,QAAQ,CAAyB;IACjC,YAAY,CAAgC;IAEpD;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAE9E,IAAI,CAAC,YAAY,GAAG,IAAI,6BAA6B,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,oBAAoB,EAAE,GAAG,CAAC,2BAA2B;SACtD,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC;YACrC,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,yBAAyB,EAAE,IAAI;SAChC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3C,yCAAyC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QACxE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,cAAc,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACnG,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9D,OAAO,KAAK,EAAE,KAAe,CAAC;IAChC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { InternalOpId, OplogEntry, PersistedSyncRules, PersistedSyncRulesContent, SyncRulesBucketStorage } from '@powersync/service-core';
2
+ export declare class StorageDataHelpers {
3
+ storage: SyncRulesBucketStorage;
4
+ syncRules: PersistedSyncRulesContent | PersistedSyncRules;
5
+ constructor(storage: SyncRulesBucketStorage, syncRules: PersistedSyncRulesContent | PersistedSyncRules);
6
+ getBucketData(bucket: string, checkpoint: InternalOpId, start?: InternalOpId | string | undefined): Promise<OplogEntry<import("@powersync/service-core").StoredOplogData>[]>;
7
+ getBucketsDataBatch(buckets: Record<string, InternalOpId>, checkpoint: InternalOpId): Promise<import("@powersync/service-core").SyncBucketDataChunk[]>;
8
+ }
@@ -0,0 +1,33 @@
1
+ import { bucketRequest } from './general-utils.js';
2
+ import { fromAsync } from './stream_utils.js';
3
+ export class StorageDataHelpers {
4
+ storage;
5
+ syncRules;
6
+ constructor(storage, syncRules) {
7
+ this.storage = storage;
8
+ this.syncRules = syncRules;
9
+ }
10
+ async getBucketData(bucket, checkpoint, start) {
11
+ start ??= 0n;
12
+ if (typeof start == 'string') {
13
+ start = BigInt(start);
14
+ }
15
+ let map = [bucketRequest(this.syncRules, bucket, start)];
16
+ let data = [];
17
+ while (true) {
18
+ const batch = this.storage.getBucketDataBatch(checkpoint, map);
19
+ const batches = await fromAsync(batch);
20
+ data = data.concat(batches[0]?.chunkData.data ?? []);
21
+ if (batches.length == 0 || !batches[0].chunkData.has_more) {
22
+ break;
23
+ }
24
+ map = [bucketRequest(this.syncRules, bucket, BigInt(batches[0].chunkData.next_after))];
25
+ }
26
+ return data;
27
+ }
28
+ async getBucketsDataBatch(buckets, checkpoint) {
29
+ const map = Object.entries(buckets).map(([bucket, start]) => bucketRequest(this.syncRules, bucket, start));
30
+ return fromAsync(this.storage.getBucketDataBatch(checkpoint, map));
31
+ }
32
+ }
33
+ //# sourceMappingURL=StorageDataHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageDataHelpers.js","sourceRoot":"","sources":["../../src/test-utils/StorageDataHelpers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,kBAAkB;IAC7B,OAAO,CAAyB;IAChC,SAAS,CAAiD;IAE1D,YAAY,OAA+B,EAAE,SAAyD;QACpG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,UAAwB,EAAE,KAAyC;QACrG,KAAK,KAAK,EAAE,CAAC;QACb,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,GAAiB,EAAE,CAAC;QAC5B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAEhE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACrD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC3D,MAAM;YACR,CAAC;YACD,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAqC,EAAE,UAAwB;QACvF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3G,OAAO,SAAS,CAAC,IAAI,CAAC,OAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -1,16 +1,31 @@
1
- import { storage, utils } from '@powersync/service-core';
1
+ import { BucketDataRequest, InternalOpId, storage, utils } from '@powersync/service-core';
2
2
  import { GetQuerierOptions, RequestParameters } from '@powersync/service-sync-rules';
3
3
  import * as bson from 'bson';
4
4
  export declare const ZERO_LSN = "0/0";
5
5
  export declare const PARSE_OPTIONS: storage.ParseSyncRulesOptions;
6
- export declare const BATCH_OPTIONS: storage.StartBatchOptions;
7
- export declare function makeTestTable(name: string, replicaIdColumns?: string[] | undefined): storage.SourceTable;
6
+ export declare const BATCH_OPTIONS: storage.CreateWriterOptions;
7
+ export declare function makeTestTable(name: string, replicaIdColumns?: string[] | undefined, options?: {
8
+ tableIdStrings: boolean;
9
+ }): storage.SourceTable;
10
+ /**
11
+ * With incremental reprocessing, we need actual test tables, resolved via the writer.
12
+ *
13
+ * This prepares for it.
14
+ */
15
+ export declare function resolveTestTable(_writer: storage.BucketStorageBatch, name: string, replicaIdColumns: string[] | undefined, options: {
16
+ tableIdStrings: boolean;
17
+ }, idIndex?: number): Promise<storage.SourceTable>;
8
18
  export declare function getBatchData(batch: utils.SyncBucketData[] | storage.SyncBucketDataChunk[] | storage.SyncBucketDataChunk): {
9
19
  op_id: string;
10
20
  op: "PUT" | "REMOVE" | "MOVE" | "CLEAR";
11
21
  object_id: string | undefined;
12
22
  checksum: number | bigint;
13
23
  }[];
24
+ /**
25
+ * Bucket names no longer purely depend on the sync config.
26
+ * This converts a bucket name like "global[]" into the actual bucket name, for use in tests.
27
+ */
28
+ export declare function bucketRequest(syncRules: storage.PersistedSyncRulesContent | storage.PersistedSyncRules, bucket: string, start?: InternalOpId | string | number): BucketDataRequest;
14
29
  export declare function getBatchMeta(batch: utils.SyncBucketData[] | storage.SyncBucketDataChunk[] | storage.SyncBucketDataChunk): {
15
30
  has_more: boolean;
16
31
  after: string;
@@ -21,3 +36,7 @@ export declare function getBatchMeta(batch: utils.SyncBucketData[] | storage.Syn
21
36
  */
22
37
  export declare function rid(id: string): bson.UUID;
23
38
  export declare function querierOptions(globalParameters: RequestParameters): GetQuerierOptions;
39
+ export declare function requestParameters(jwtPayload: Record<string, any>, clientParameters?: Record<string, any>): RequestParameters;
40
+ export declare function removeSource<T extends {
41
+ source?: any;
42
+ }>(obj: T): Omit<T, 'source'>;
@@ -1,4 +1,5 @@
1
- import { storage, utils } from '@powersync/service-core';
1
+ import { JwtPayload, storage, utils } from '@powersync/service-core';
2
+ import { RequestParameters } from '@powersync/service-sync-rules';
2
3
  import * as bson from 'bson';
3
4
  export const ZERO_LSN = '0/0';
4
5
  export const PARSE_OPTIONS = {
@@ -9,9 +10,30 @@ export const BATCH_OPTIONS = {
9
10
  zeroLSN: ZERO_LSN,
10
11
  storeCurrentData: true
11
12
  };
12
- export function makeTestTable(name, replicaIdColumns) {
13
+ export function makeTestTable(name, replicaIdColumns, options) {
13
14
  const relId = utils.hashData('table', name, (replicaIdColumns ?? ['id']).join(','));
14
- const id = new bson.ObjectId('6544e3899293153fa7b38331');
15
+ const id = options?.tableIdStrings == false ? new bson.ObjectId('6544e3899293153fa7b38331') : '6544e3899293153fa7b38331';
16
+ return new storage.SourceTable({
17
+ id: id,
18
+ connectionTag: storage.SourceTable.DEFAULT_TAG,
19
+ objectId: relId,
20
+ schema: 'public',
21
+ name: name,
22
+ replicaIdColumns: (replicaIdColumns ?? ['id']).map((column) => ({ name: column, type: 'VARCHAR', typeId: 25 })),
23
+ snapshotComplete: true
24
+ });
25
+ }
26
+ /**
27
+ * With incremental reprocessing, we need actual test tables, resolved via the writer.
28
+ *
29
+ * This prepares for it.
30
+ */
31
+ export async function resolveTestTable(_writer, name, replicaIdColumns, options, idIndex = 1) {
32
+ const relId = utils.hashData('table', name, (replicaIdColumns ?? ['id']).join(','));
33
+ // Generate unique ids per test table (if idIndex is specified), without completely
34
+ // breaking all the existing tests.
35
+ const idString = '6544e3899293153fa7b383' + (30 + idIndex).toString().padStart(2, '0');
36
+ const id = options.tableIdStrings == false ? new bson.ObjectId(idString) : idString;
15
37
  return new storage.SourceTable({
16
38
  id: id,
17
39
  connectionTag: storage.SourceTable.DEFAULT_TAG,
@@ -36,6 +58,30 @@ export function getBatchData(batch) {
36
58
  };
37
59
  });
38
60
  }
61
+ function isParsedSyncRules(syncRules) {
62
+ return syncRules.sync_rules !== undefined;
63
+ }
64
+ /**
65
+ * Bucket names no longer purely depend on the sync config.
66
+ * This converts a bucket name like "global[]" into the actual bucket name, for use in tests.
67
+ */
68
+ export function bucketRequest(syncRules, bucket, start) {
69
+ const parsed = isParsedSyncRules(syncRules) ? syncRules : syncRules.parsed(PARSE_OPTIONS);
70
+ const hydrationState = parsed.hydrationState;
71
+ const parameterStart = bucket.indexOf('[');
72
+ const definitionName = bucket.substring(0, parameterStart);
73
+ const parameters = bucket.substring(parameterStart);
74
+ const source = parsed.sync_rules.config.bucketDataSources.find((b) => b.uniqueName === definitionName);
75
+ if (source == null) {
76
+ throw new Error(`Failed to find global bucket ${bucket}`);
77
+ }
78
+ const bucketName = hydrationState.getBucketSourceScope(source).bucketPrefix + parameters;
79
+ return {
80
+ bucket: bucketName,
81
+ start: BigInt(start ?? 0n),
82
+ source: source
83
+ };
84
+ }
39
85
  export function getBatchMeta(batch) {
40
86
  const first = getFirst(batch);
41
87
  if (first == null) {
@@ -75,4 +121,11 @@ export function querierOptions(globalParameters) {
75
121
  streams: {}
76
122
  };
77
123
  }
124
+ export function requestParameters(jwtPayload, clientParameters) {
125
+ return new RequestParameters(new JwtPayload(jwtPayload), clientParameters ?? {});
126
+ }
127
+ export function removeSource(obj) {
128
+ const { source, ...rest } = obj;
129
+ return rest;
130
+ }
78
131
  //# sourceMappingURL=general-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general-utils.js","sourceRoot":"","sources":["../../src/test-utils/general-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general-utils.js","sourceRoot":"","sources":["../../src/test-utils/general-utils.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export function putOp(table, data) {
3
3
  return {
4
4
  op: 'PUT',
5
5
  object_type: table,
6
- object_id: data.id,
6
+ object_id: String(data.id), // Object ids are always converted to strings
7
7
  data: JSONBig.stringify(data)
8
8
  };
9
9
  }
@@ -11,7 +11,7 @@ export function removeOp(table, id) {
11
11
  return {
12
12
  op: 'REMOVE',
13
13
  object_type: table,
14
- object_id: id
14
+ object_id: String(id)
15
15
  };
16
16
  }
17
17
  export function compareIds(a, b) {
@@ -1 +1 @@
1
- {"version":3,"file":"stream_utils.js","sourceRoot":"","sources":["../../src/test-utils/stream_utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,IAAyB;IAC5D,OAAO;QACL,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,IAAI,CAAC,EAAE;QAClB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,EAAU;IAChD,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAmB,EAAE,CAAmB;IACjE,OAAO,CAAC,CAAC,SAAU,CAAC,aAAa,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAI,MAAsC;IAC1E,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,MAAsC;IACvE,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"stream_utils.js","sourceRoot":"","sources":["../../src/test-utils/stream_utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,IAAyB;IAC5D,OAAO;QACL,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,6CAA6C;QACzE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,EAAU;IAChD,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAmB,EAAE,CAAmB;IACjE,OAAO,CAAC,CAAC,SAAU,CAAC,aAAa,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAI,MAAsC;IAC1E,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,MAAsC;IACvE,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './bucket-validation.js';
2
2
  export * from './general-utils.js';
3
3
  export * from './MetricsHelper.js';
4
+ export * from './StorageDataHelpers.js';
4
5
  export * from './stream_utils.js';
@@ -1,5 +1,6 @@
1
1
  export * from './bucket-validation.js';
2
2
  export * from './general-utils.js';
3
3
  export * from './MetricsHelper.js';
4
+ export * from './StorageDataHelpers.js';
4
5
  export * from './stream_utils.js';
5
6
  //# sourceMappingURL=test-utils-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils-index.js","sourceRoot":"","sources":["../../src/test-utils/test-utils-index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"test-utils-index.js","sourceRoot":"","sources":["../../src/test-utils/test-utils-index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import { storage } from '@powersync/service-core';
2
- export declare function registerCompactTests(generateStorageFactory: storage.TestStorageFactory): void;
2
+ export declare function registerCompactTests(config: storage.TestStorageConfig): void;