@powersync/service-core-tests 0.17.2 → 0.18.1

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 (46) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/test-utils/AbstractStreamTestContext.d.ts +1 -1
  3. package/dist/test-utils/AbstractStreamTestContext.js +2 -3
  4. package/dist/test-utils/AbstractStreamTestContext.js.map +1 -1
  5. package/dist/test-utils/StorageDataHelpers.d.ts +3 -2
  6. package/dist/test-utils/StorageDataHelpers.js +40 -2
  7. package/dist/test-utils/StorageDataHelpers.js.map +1 -1
  8. package/dist/test-utils/general-utils.d.ts +3 -1
  9. package/dist/test-utils/general-utils.js +13 -1
  10. package/dist/test-utils/general-utils.js.map +1 -1
  11. package/dist/test-utils/storage-combinations.d.ts +13 -0
  12. package/dist/test-utils/storage-combinations.js +26 -0
  13. package/dist/test-utils/storage-combinations.js.map +1 -0
  14. package/dist/test-utils/stream_utils.d.ts +0 -1
  15. package/dist/test-utils/stream_utils.js +0 -10
  16. package/dist/test-utils/stream_utils.js.map +1 -1
  17. package/dist/test-utils/test-utils-index.d.ts +1 -0
  18. package/dist/test-utils/test-utils-index.js +1 -0
  19. package/dist/test-utils/test-utils-index.js.map +1 -1
  20. package/dist/tests/register-compacting-tests.js +15 -15
  21. package/dist/tests/register-compacting-tests.js.map +1 -1
  22. package/dist/tests/register-data-storage-checkpoint-tests.js +132 -14
  23. package/dist/tests/register-data-storage-checkpoint-tests.js.map +1 -1
  24. package/dist/tests/register-data-storage-data-tests.js +116 -96
  25. package/dist/tests/register-data-storage-data-tests.js.map +1 -1
  26. package/dist/tests/register-parameter-compacting-tests.js +3 -2
  27. package/dist/tests/register-parameter-compacting-tests.js.map +1 -1
  28. package/dist/tests/register-sync-tests.js +267 -82
  29. package/dist/tests/register-sync-tests.js.map +1 -1
  30. package/dist/tests/util.d.ts +6 -0
  31. package/dist/tests/util.js +12 -0
  32. package/dist/tests/util.js.map +1 -1
  33. package/package.json +4 -4
  34. package/src/test-utils/AbstractStreamTestContext.ts +2 -3
  35. package/src/test-utils/StorageDataHelpers.ts +45 -2
  36. package/src/test-utils/general-utils.ts +27 -3
  37. package/src/test-utils/storage-combinations.ts +51 -0
  38. package/src/test-utils/stream_utils.ts +0 -11
  39. package/src/test-utils/test-utils-index.ts +1 -0
  40. package/src/tests/register-compacting-tests.ts +15 -15
  41. package/src/tests/register-data-storage-checkpoint-tests.ts +161 -14
  42. package/src/tests/register-data-storage-data-tests.ts +132 -134
  43. package/src/tests/register-parameter-compacting-tests.ts +3 -2
  44. package/src/tests/register-sync-tests.ts +288 -84
  45. package/src/tests/util.ts +13 -0
  46. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,57 @@
1
1
  # @powersync/service-core-tests
2
2
 
3
+ ## 0.18.1
4
+
5
+ ### Patch Changes
6
+
7
+ - a997c88: Restructure MongoDB V3 bucket compacting.
8
+ - Updated dependencies [e11c54b]
9
+ - Updated dependencies [4b6a23e]
10
+ - Updated dependencies [189bd9e]
11
+ - Updated dependencies [bb08068]
12
+ - Updated dependencies [0077a8d]
13
+ - Updated dependencies [332d649]
14
+ - Updated dependencies [33a3c23]
15
+ - Updated dependencies [fccdff2]
16
+ - Updated dependencies [989d9e1]
17
+ - Updated dependencies [646c0de]
18
+ - Updated dependencies [cc121b3]
19
+ - Updated dependencies [4e4063b]
20
+ - Updated dependencies [2407f71]
21
+ - Updated dependencies [10131ca]
22
+ - Updated dependencies [4037e8f]
23
+ - Updated dependencies [3972bac]
24
+ - Updated dependencies [dd7a22f]
25
+ - Updated dependencies [a997c88]
26
+ - @powersync/service-core@1.26.0
27
+ - @powersync/service-sync-rules@0.41.0
28
+ - @powersync/lib-services-framework@0.10.1
29
+
30
+ ## 0.18.0
31
+
32
+ ### Minor Changes
33
+
34
+ - 2189250: Add `/sync/checkpoint-request` for client-supplied checkpoint request ids, previously called write checkpoint ids. The route returns the stored `checkpoint_request_id`, storage now treats managed request ids as monotonic per user/client, custom checkpoint request ids continue to use the existing `checkpoint` field for backwards compatibility, and `checkpoint_requested_at` metadata lets compact jobs remove expired request-derived checkpoint records.
35
+
36
+ This release includes storage migrations for the checkpoint request metadata. Self-hosters should run migrations as part of the upgrade.
37
+
38
+ ### Patch Changes
39
+
40
+ - 63707af: Stability and performance fixes for MongoDB storage V3.
41
+ - Updated dependencies [087b61e]
42
+ - Updated dependencies [2189250]
43
+ - Updated dependencies [922f974]
44
+ - Updated dependencies [c4860c9]
45
+ - Updated dependencies [483415d]
46
+ - Updated dependencies [8daa300]
47
+ - Updated dependencies [aab068b]
48
+ - Updated dependencies [37591e9]
49
+ - Updated dependencies [be42e25]
50
+ - Updated dependencies [cb4c627]
51
+ - @powersync/service-core@1.24.0
52
+ - @powersync/lib-services-framework@0.10.0
53
+ - @powersync/service-sync-rules@0.40.0
54
+
3
55
  ## 0.17.2
4
56
 
5
57
  ### Patch Changes
@@ -32,7 +32,7 @@ export declare abstract class AbstractStreamTestContext implements AsyncDisposab
32
32
  }): Promise<ReplicationCheckpoint>;
33
33
  getBucketsDataBatch(buckets: Record<string, InternalOpId>, options?: {
34
34
  timeout?: number;
35
- }): Promise<storage.SyncBucketDataChunk[]>;
35
+ }): Promise<(storage.SyncBucketDataChunk | storage.SyncBucketDataBatchEnd)[]>;
36
36
  /**
37
37
  * This waits for a client checkpoint.
38
38
  */
@@ -1,8 +1,7 @@
1
1
  import { ReplicationAbortedError } from '@powersync/lib-services-framework';
2
2
  import { settledPromise, unsettledPromise, updateSyncRulesFromYaml } from '@powersync/service-core';
3
3
  import { StorageDataHelpers } from './StorageDataHelpers.js';
4
- import { bucketRequest } from './general-utils.js';
5
- import { fromAsync } from './stream_utils.js';
4
+ import { bucketRequest, getBatchArray } from './general-utils.js';
6
5
  export class AbstractStreamTestContext {
7
6
  abortController = new AbortController();
8
7
  syncRulesContent;
@@ -140,7 +139,7 @@ export class AbstractStreamTestContext {
140
139
  const checkpoint = await this.storage.getCheckpoint();
141
140
  const map = [bucketRequest(syncConfigContent, bucket, start)];
142
141
  const batch = this.storage.getBucketDataBatch(checkpoint, map);
143
- const batches = await fromAsync(batch);
142
+ const batches = await getBatchArray(batch);
144
143
  return batches[0]?.chunkData.data ?? [];
145
144
  }
146
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractStreamTestContext.js","sourceRoot":"","sources":["../../src/test-utils/AbstractStreamTestContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractStreamTestContext.js","sourceRoot":"","sources":["../../src/test-utils/AbstractStreamTestContext.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { InternalOpId, OplogEntry, ParsedSyncConfigSet, PersistedSyncConfigContent, ReplicationCheckpoint, SyncRulesBucketStorage } from '@powersync/service-core';
1
+ import { BucketDataBatchOptions, BucketDataRequest, InternalOpId, OplogEntry, ParsedSyncConfigSet, PersistedSyncConfigContent, ReplicationCheckpoint, SyncBucketDataChunk, SyncRulesBucketStorage } from '@powersync/service-core';
2
2
  export declare class StorageDataHelpers {
3
3
  storage: SyncRulesBucketStorage;
4
4
  syncRules: PersistedSyncConfigContent | ParsedSyncConfigSet;
5
5
  constructor(storage: SyncRulesBucketStorage, syncRules: PersistedSyncConfigContent | ParsedSyncConfigSet);
6
6
  getBucketData(bucket: string, checkpoint: ReplicationCheckpoint, start?: InternalOpId | string | undefined): Promise<OplogEntry<import("@powersync/service-core").StoredOplogData>[]>;
7
- getBucketsDataBatch(buckets: Record<string, InternalOpId>, checkpoint: ReplicationCheckpoint): Promise<import("@powersync/service-core").SyncBucketDataChunk[]>;
7
+ getBucketsDataBatch(buckets: Record<string, InternalOpId>, checkpoint: ReplicationCheckpoint): Promise<(SyncBucketDataChunk | import("@powersync/service-core").SyncBucketDataBatchEnd)[]>;
8
+ getAllBucketData(requests: BucketDataRequest[], checkpoint: ReplicationCheckpoint, options?: BucketDataBatchOptions): Promise<SyncBucketDataChunk[]>;
8
9
  }
@@ -1,4 +1,5 @@
1
- import { bucketRequest } from './general-utils.js';
1
+ import { isBatchEnd } from '@powersync/service-core';
2
+ import { bucketRequest, getBatchArray } from './general-utils.js';
2
3
  import { fromAsync } from './stream_utils.js';
3
4
  export class StorageDataHelpers {
4
5
  storage;
@@ -16,7 +17,7 @@ export class StorageDataHelpers {
16
17
  let data = [];
17
18
  while (true) {
18
19
  const batch = this.storage.getBucketDataBatch(checkpoint, map);
19
- const batches = await fromAsync(batch);
20
+ const batches = await getBatchArray(batch);
20
21
  data = data.concat(batches[0]?.chunkData.data ?? []);
21
22
  if (batches.length == 0 || !batches[0].chunkData.has_more) {
22
23
  break;
@@ -29,5 +30,42 @@ export class StorageDataHelpers {
29
30
  const map = Object.entries(buckets).map(([bucket, start]) => bucketRequest(this.syncRules, bucket, start));
30
31
  return fromAsync(this.storage.getBucketDataBatch(checkpoint, map));
31
32
  }
33
+ async getAllBucketData(requests, checkpoint, options) {
34
+ let remainingBuckets = new Map(requests.map((r) => [r.bucket, r]));
35
+ let chunks = [];
36
+ while (true) {
37
+ let hasMore = false;
38
+ for await (let chunk of this.storage.getBucketDataBatch(checkpoint, [...remainingBuckets.values()], options)) {
39
+ if (isBatchEnd(chunk)) {
40
+ if (chunk.hasMore) {
41
+ hasMore = true;
42
+ break;
43
+ }
44
+ else {
45
+ return chunks;
46
+ }
47
+ }
48
+ else {
49
+ chunks.push(chunk);
50
+ if (chunk.chunkData.has_more) {
51
+ hasMore = true;
52
+ const r = remainingBuckets.get(chunk.chunkData.bucket);
53
+ remainingBuckets.set(chunk.chunkData.bucket, {
54
+ start: BigInt(chunk.chunkData.next_after),
55
+ bucket: chunk.chunkData.bucket,
56
+ source: r.source
57
+ });
58
+ }
59
+ else {
60
+ remainingBuckets.delete(chunk.chunkData.bucket);
61
+ }
62
+ }
63
+ }
64
+ if (!hasMore) {
65
+ break;
66
+ }
67
+ }
68
+ return chunks;
69
+ }
32
70
  }
33
71
  //# sourceMappingURL=StorageDataHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StorageDataHelpers.js","sourceRoot":"","sources":["../../src/test-utils/StorageDataHelpers.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,kBAAkB;IAC7B,OAAO,CAAyB;IAChC,SAAS,CAAmD;IAE5D,YAAY,OAA+B,EAAE,SAA2D;QACtG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,UAAiC,EAAE,KAAyC;QAC9G,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,UAAiC;QAChG,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
+ {"version":3,"file":"StorageDataHelpers.js","sourceRoot":"","sources":["../../src/test-utils/StorageDataHelpers.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare function deploySyncRules(factory: storage.BucketStorageFactory, o
21
21
  export declare function resolveTestTable(writer: storage.BucketStorageBatch, name: string, replicaIdColumns: string[] | undefined, options: {
22
22
  tableIdStrings: boolean;
23
23
  }, idIndex?: number): Promise<storage.SourceTable>;
24
- export declare function getBatchData(batch: utils.SyncBucketData[] | storage.SyncBucketDataChunk[] | storage.SyncBucketDataChunk): {
24
+ export declare function getBatchData(batch: utils.SyncBucketData[] | (storage.SyncBucketDataChunk | storage.SyncBucketDataBatchEnd)[] | storage.SyncBucketDataChunk): {
25
25
  op_id: string;
26
26
  op: "PUT" | "REMOVE" | "MOVE" | "CLEAR";
27
27
  object_id: string | undefined;
@@ -37,6 +37,8 @@ export declare function getBatchMeta(batch: utils.SyncBucketData[] | storage.Syn
37
37
  after: string;
38
38
  next_after: string;
39
39
  } | null;
40
+ export declare function getBatchArray(data: AsyncIterable<storage.SyncBucketDataChunk | storage.SyncBucketDataBatchEnd>): Promise<storage.SyncBucketDataChunk[]>;
41
+ export declare function getSingleBatchItem(data: AsyncIterable<storage.SyncBucketDataChunk | storage.SyncBucketDataBatchEnd>): Promise<storage.SyncBucketDataChunk>;
40
42
  /**
41
43
  * Replica id in the old Postgres format, for backwards-compatible tests.
42
44
  */
@@ -1,6 +1,7 @@
1
- import { JwtPayload, storage, utils } from '@powersync/service-core';
1
+ import { isBatchEnd, JwtPayload, storage, utils } from '@powersync/service-core';
2
2
  import { RequestParameters } from '@powersync/service-sync-rules';
3
3
  import * as bson from 'bson';
4
+ import { fromAsync } from './stream_utils.js';
4
5
  export const ZERO_LSN = '0/0';
5
6
  export const PARSE_OPTIONS = {
6
7
  defaultSchema: 'public'
@@ -116,6 +117,17 @@ export function getBatchMeta(batch) {
116
117
  next_after: first.next_after
117
118
  };
118
119
  }
120
+ export async function getBatchArray(data) {
121
+ const array = await fromAsync(data);
122
+ return array.filter((c) => !isBatchEnd(c) && c.chunkData.data.length > 0);
123
+ }
124
+ export async function getSingleBatchItem(data) {
125
+ const array = await getBatchArray(data);
126
+ if (array.length != 1) {
127
+ throw new Error(`Expected a single batch item, got ${array.length}`);
128
+ }
129
+ return array[0];
130
+ }
119
131
  function getFirst(batch) {
120
132
  if (!Array.isArray(batch)) {
121
133
  return batch.chunkData;
@@ -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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"}
@@ -0,0 +1,13 @@
1
+ import { TestStorageConfig, TestStorageFactory } from '@powersync/service-core';
2
+ import { TestOptions } from 'vitest';
3
+ export interface StorageVersionTestContext {
4
+ factory: TestStorageFactory;
5
+ storageVersion: number;
6
+ }
7
+ export interface StorageCombinationTestConfig {
8
+ mongodb?: TestStorageConfig;
9
+ postgres?: TestStorageConfig;
10
+ }
11
+ export declare function describeStorageCombinations(config: StorageCombinationTestConfig, options: TestOptions & {
12
+ storageVersions?: number[];
13
+ }, fn: (context: StorageVersionTestContext) => void): void;
@@ -0,0 +1,26 @@
1
+ import { STORAGE_VERSION_1, STORAGE_VERSION_2, STORAGE_VERSION_4 } from '@powersync/service-core';
2
+ import { describe } from 'vitest';
3
+ const MONGO_STORAGE_VERSIONS = [STORAGE_VERSION_1, STORAGE_VERSION_2, STORAGE_VERSION_4];
4
+ const POSTGRES_STORAGE_VERSIONS = [STORAGE_VERSION_1, STORAGE_VERSION_2];
5
+ export function describeStorageCombinations(config, options, fn) {
6
+ const describeFactory = (storageName, storage, supportedStorageVersions) => {
7
+ const storageVersions = (options.storageVersions ?? supportedStorageVersions).filter((version) => supportedStorageVersions.includes(version));
8
+ describe(`${storageName} storage`, options, function () {
9
+ for (const storageVersion of storageVersions) {
10
+ describe(`storage v${storageVersion}`, function () {
11
+ fn({
12
+ factory: storage.factory,
13
+ storageVersion
14
+ });
15
+ });
16
+ }
17
+ });
18
+ };
19
+ if (config.mongodb) {
20
+ describeFactory('mongodb', config.mongodb, MONGO_STORAGE_VERSIONS);
21
+ }
22
+ if (config.postgres) {
23
+ describeFactory('postgres', config.postgres, POSTGRES_STORAGE_VERSIONS);
24
+ }
25
+ }
26
+ //# sourceMappingURL=storage-combinations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-combinations.js","sourceRoot":"","sources":["../../src/test-utils/storage-combinations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAGlB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAe,MAAM,QAAQ,CAAC;AAE/C,MAAM,sBAAsB,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AACzF,MAAM,yBAAyB,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAYzE,MAAM,UAAU,2BAA2B,CACzC,MAAoC,EACpC,OAAqD,EACrD,EAAgD;IAEhD,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,OAA0B,EAAE,wBAAkC,EAAE,EAAE;QAC9G,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/F,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC3C,CAAC;QACF,QAAQ,CAAC,GAAG,WAAW,UAAU,EAAE,OAAO,EAAE;YAC1C,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC7C,QAAQ,CAAC,YAAY,cAAc,EAAE,EAAE;oBACrC,EAAE,CAAC;wBACD,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,cAAc;qBACf,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
@@ -2,5 +2,4 @@ import { utils } from '@powersync/service-core';
2
2
  export declare function putOp(table: string, data: Record<string, any>): Partial<utils.OplogEntry>;
3
3
  export declare function removeOp(table: string, id: string): Partial<utils.OplogEntry>;
4
4
  export declare function compareIds(a: utils.OplogEntry, b: utils.OplogEntry): number;
5
- export declare function oneFromAsync<T>(source: Iterable<T> | AsyncIterable<T>): Promise<T>;
6
5
  export declare function fromAsync<T>(source: Iterable<T> | AsyncIterable<T>): Promise<T[]>;
@@ -17,16 +17,6 @@ export function removeOp(table, id) {
17
17
  export function compareIds(a, b) {
18
18
  return a.object_id.localeCompare(b.object_id);
19
19
  }
20
- export async function oneFromAsync(source) {
21
- const items = [];
22
- for await (const item of source) {
23
- items.push(item);
24
- }
25
- if (items.length != 1) {
26
- throw new Error(`One item expected, got: ${items.length}`);
27
- }
28
- return items[0];
29
- }
30
20
  export async function fromAsync(source) {
31
21
  const items = [];
32
22
  for await (const item of source) {
@@ -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,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
+ {"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,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"}
@@ -2,5 +2,6 @@ export * from './AbstractStreamTestContext.js';
2
2
  export * from './bucket-validation.js';
3
3
  export * from './general-utils.js';
4
4
  export * from './MetricsHelper.js';
5
+ export * from './storage-combinations.js';
5
6
  export * from './StorageDataHelpers.js';
6
7
  export * from './stream_utils.js';
@@ -2,6 +2,7 @@ export * from './AbstractStreamTestContext.js';
2
2
  export * from './bucket-validation.js';
3
3
  export * from './general-utils.js';
4
4
  export * from './MetricsHelper.js';
5
+ export * from './storage-combinations.js';
5
6
  export * from './StorageDataHelpers.js';
6
7
  export * from './stream_utils.js';
7
8
  //# 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,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"test-utils-index.js","sourceRoot":"","sources":["../../src/test-utils/test-utils-index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -2,7 +2,7 @@ import { addChecksums, storage, updateSyncRulesFromYaml } from '@powersync/servi
2
2
  import { expect, test } from 'vitest';
3
3
  import * as test_utils from '../test-utils/test-utils-index.js';
4
4
  import { bucketRequest } from '../test-utils/test-utils-index.js';
5
- import { bucketRequestMap, bucketRequests } from './util.js';
5
+ import { bucketRequestMap, bucketRequests, compactActive } from './util.js';
6
6
  export function registerCompactTests(config) {
7
7
  const generateStorageFactory = config.factory;
8
8
  test('compacting (1)', async () => {
@@ -45,7 +45,7 @@ bucket_definitions:
45
45
  await writer.flush();
46
46
  const checkpoint = writer.last_flushed_op;
47
47
  const request = bucketRequest(syncRulesContent, 'global[]');
48
- const batchBefore = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), [request]));
48
+ const batchBefore = await test_utils.getSingleBatchItem(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), [request]));
49
49
  const dataBefore = batchBefore.chunkData.data;
50
50
  const checksumBefore = await bucketStorage.getChecksums(test_utils.testCheckpoint(checkpoint), [request]);
51
51
  expect(dataBefore).toMatchObject([
@@ -66,14 +66,14 @@ bucket_definitions:
66
66
  }
67
67
  ]);
68
68
  expect(batchBefore.targetOp).toEqual(null);
69
- await bucketStorage.compact({
69
+ await compactActive(factory, {
70
70
  clearBatchLimit: 2,
71
71
  moveBatchLimit: 1,
72
72
  moveBatchQueryLimit: 1,
73
73
  minBucketChanges: 1,
74
74
  minChangeRatio: 0
75
75
  });
76
- const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), [request]));
76
+ const batchAfter = await test_utils.getSingleBatchItem(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), [request]));
77
77
  const dataAfter = batchAfter.chunkData.data;
78
78
  const checksumAfter = await bucketStorage.getChecksums(test_utils.testCheckpoint(checkpoint), [request]);
79
79
  bucketStorage.clearChecksumCache();
@@ -145,7 +145,7 @@ bucket_definitions:
145
145
  await writer.flush();
146
146
  const checkpoint = writer.last_flushed_op;
147
147
  const request = bucketRequest(syncRulesContent, 'global[]');
148
- const batchBefore = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), [request]));
148
+ const batchBefore = await test_utils.getSingleBatchItem(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), [request]));
149
149
  const dataBefore = batchBefore.chunkData.data;
150
150
  const checksumBefore = await bucketStorage.getChecksums(test_utils.testCheckpoint(checkpoint), [request]);
151
151
  // op_id sequence depends on the storage implementation
@@ -167,14 +167,14 @@ bucket_definitions:
167
167
  op: 'PUT'
168
168
  }
169
169
  ]);
170
- await bucketStorage.compact({
170
+ await compactActive(factory, {
171
171
  clearBatchLimit: 2,
172
172
  moveBatchLimit: 1,
173
173
  moveBatchQueryLimit: 1,
174
174
  minBucketChanges: 1,
175
175
  minChangeRatio: 0
176
176
  });
177
- const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), [request]));
177
+ const batchAfter = await test_utils.getSingleBatchItem(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), [request]));
178
178
  const dataAfter = batchAfter.chunkData.data;
179
179
  bucketStorage.clearChecksumCache();
180
180
  const checksumAfter = await bucketStorage.getChecksums(test_utils.testCheckpoint(checkpoint), [request]);
@@ -249,14 +249,14 @@ bucket_definitions:
249
249
  await writer2.commit('2/1');
250
250
  await writer2.flush();
251
251
  const checkpoint2 = writer2.last_flushed_op;
252
- await bucketStorage.compact({
252
+ await compactActive(factory, {
253
253
  clearBatchLimit: 2,
254
254
  moveBatchLimit: 1,
255
255
  moveBatchQueryLimit: 1,
256
256
  minBucketChanges: 1,
257
257
  minChangeRatio: 0
258
258
  });
259
- const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint2), [request]));
259
+ const batchAfter = await test_utils.getSingleBatchItem(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint2), [request]));
260
260
  const dataAfter = batchAfter.chunkData.data;
261
261
  await bucketStorage.clearChecksumCache();
262
262
  const checksumAfter = await bucketStorage.getChecksums(test_utils.testCheckpoint(checkpoint2), [request]);
@@ -348,14 +348,14 @@ bucket_definitions:
348
348
  }
349
349
  await writer.flush();
350
350
  const checkpoint = writer.last_flushed_op;
351
- await bucketStorage.compact({
351
+ await compactActive(factory, {
352
352
  clearBatchLimit: 100,
353
353
  moveBatchLimit: 100,
354
354
  moveBatchQueryLimit: 100, // Larger limit for a larger window of operations
355
355
  minBucketChanges: 1,
356
356
  minChangeRatio: 0
357
357
  });
358
- const batchAfter = await test_utils.fromAsync(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), bucketRequestMap(syncRulesContent, [
358
+ const batchAfter = await test_utils.getBatchArray(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint), bucketRequestMap(syncRulesContent, [
359
359
  ['grouped["b1"]', 0n],
360
360
  ['grouped["b2"]', 0n]
361
361
  ])));
@@ -422,7 +422,7 @@ bucket_definitions:
422
422
  });
423
423
  await writer.commit('1/1');
424
424
  await writer.flush();
425
- await bucketStorage.compact({
425
+ await compactActive(factory, {
426
426
  clearBatchLimit: 2,
427
427
  moveBatchLimit: 1,
428
428
  moveBatchQueryLimit: 1,
@@ -497,7 +497,7 @@ bucket_definitions:
497
497
  });
498
498
  await writer2.commit('2/1');
499
499
  await writer2.flush();
500
- await bucketStorage.compact({
500
+ await compactActive(factory, {
501
501
  clearBatchLimit: 20,
502
502
  moveBatchLimit: 10,
503
503
  moveBatchQueryLimit: 10,
@@ -551,13 +551,13 @@ bucket_definitions:
551
551
  const checkpointBeforeCompact = await bucketStorage.getCheckpoint();
552
552
  expect(checkpointBeforeCompact.checkpoint).toEqual(checkpoint1);
553
553
  // With default options, Postgres compaction should use the active checkpoint.
554
- await bucketStorage.compact({
554
+ await compactActive(factory, {
555
555
  moveBatchLimit: 1,
556
556
  moveBatchQueryLimit: 1,
557
557
  minBucketChanges: 1,
558
558
  minChangeRatio: 0
559
559
  });
560
- const batchAfterDefaultCompact = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint2), bucketRequestMap(syncRulesContent, [['global[]', 0n]])));
560
+ const batchAfterDefaultCompact = await test_utils.getSingleBatchItem(bucketStorage.getBucketDataBatch(test_utils.testCheckpoint(checkpoint2), bucketRequestMap(syncRulesContent, [['global[]', 0n]])));
561
561
  // Operation 1 should remain a PUT because op_id=2 is above the default maxOpId checkpoint.
562
562
  expect(batchAfterDefaultCompact.chunkData.data).toMatchObject([
563
563
  { op_id: '1', op: 'PUT', object_id: 't1' },
@@ -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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"}