@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
@@ -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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"}
@@ -9,4 +9,4 @@ import { storage } from '@powersync/service-core';
9
9
  *
10
10
  * ```
11
11
  */
12
- export declare function registerDataStorageCheckpointTests(generateStorageFactory: storage.TestStorageFactory): void;
12
+ export declare function registerDataStorageCheckpointTests(config: storage.TestStorageConfig): void;
@@ -1,55 +1,3 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
1
  import { storage, updateSyncRulesFromYaml } from '@powersync/service-core';
54
2
  import { expect, test } from 'vitest';
55
3
  import * as test_utils from '../test-utils/test-utils-index.js';
@@ -63,280 +11,231 @@ import * as test_utils from '../test-utils/test-utils-index.js';
63
11
  *
64
12
  * ```
65
13
  */
66
- export function registerDataStorageCheckpointTests(generateStorageFactory) {
14
+ export function registerDataStorageCheckpointTests(config) {
15
+ const generateStorageFactory = config.factory;
16
+ const storageVersion = config.storageVersion;
67
17
  test('managed write checkpoints - checkpoint after write', async (context) => {
68
- const env_1 = { stack: [], error: void 0, hasError: false };
69
- try {
70
- const factory = __addDisposableResource(env_1, await generateStorageFactory(), true);
71
- const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
18
+ await using factory = await generateStorageFactory();
19
+ const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
72
20
  bucket_definitions:
73
21
  mybucket:
74
22
  data: []
75
- `));
76
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
77
- const abortController = new AbortController();
78
- context.onTestFinished(() => abortController.abort());
79
- const iter = bucketStorage
80
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
81
- const writeCheckpoint = await bucketStorage.createManagedWriteCheckpoint({
82
- heads: { '1': '5/0' },
83
- user_id: 'user1'
84
- });
85
- await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
86
- await batch.keepalive('5/0');
87
- });
88
- const result = await iter.next();
89
- expect(result).toMatchObject({
90
- done: false,
91
- value: {
92
- base: {
93
- checkpoint: 0n,
94
- lsn: '5/0'
95
- },
96
- writeCheckpoint: writeCheckpoint
97
- }
98
- });
99
- }
100
- catch (e_1) {
101
- env_1.error = e_1;
102
- env_1.hasError = true;
103
- }
104
- finally {
105
- const result_1 = __disposeResources(env_1);
106
- if (result_1)
107
- await result_1;
108
- }
23
+ `, {
24
+ validate: false,
25
+ storageVersion
26
+ }));
27
+ const bucketStorage = factory.getInstance(r.persisted_sync_rules);
28
+ const abortController = new AbortController();
29
+ context.onTestFinished(() => abortController.abort());
30
+ const iter = bucketStorage
31
+ .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
32
+ await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
33
+ await writer.markAllSnapshotDone('1/1');
34
+ const writeCheckpoint = await bucketStorage.createManagedWriteCheckpoint({
35
+ heads: { '1': '5/0' },
36
+ user_id: 'user1'
37
+ });
38
+ await writer.keepalive('5/0');
39
+ const result = await iter.next();
40
+ expect(result).toMatchObject({
41
+ done: false,
42
+ value: {
43
+ base: {
44
+ checkpoint: 0n,
45
+ lsn: '5/0'
46
+ },
47
+ writeCheckpoint: writeCheckpoint
48
+ }
49
+ });
109
50
  });
110
51
  test('managed write checkpoints - write after checkpoint', async (context) => {
111
- const env_2 = { stack: [], error: void 0, hasError: false };
112
- try {
113
- const factory = __addDisposableResource(env_2, await generateStorageFactory(), true);
114
- const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
52
+ await using factory = await generateStorageFactory();
53
+ const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
115
54
  bucket_definitions:
116
55
  mybucket:
117
56
  data: []
118
- `));
119
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
120
- const abortController = new AbortController();
121
- context.onTestFinished(() => abortController.abort());
122
- const iter = bucketStorage
123
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
124
- await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
125
- await batch.keepalive('5/0');
126
- });
127
- const result = await iter.next();
128
- expect(result).toMatchObject({
129
- done: false,
130
- value: {
131
- base: {
132
- checkpoint: 0n,
133
- lsn: '5/0'
134
- },
135
- writeCheckpoint: null
136
- }
137
- });
138
- const writeCheckpoint = await bucketStorage.createManagedWriteCheckpoint({
139
- heads: { '1': '6/0' },
140
- user_id: 'user1'
141
- });
142
- // We have to trigger a new keepalive after the checkpoint, at least to cover postgres storage.
143
- // This is what is effetively triggered with RouteAPI.createReplicationHead().
144
- // MongoDB storage doesn't explicitly need this anymore.
145
- await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
146
- await batch.keepalive('6/0');
147
- });
148
- let result2 = await iter.next();
149
- if (result2.value?.base?.lsn == '5/0') {
150
- // Events could arrive in a different order in some cases - this caters for it
151
- result2 = await iter.next();
57
+ `, {
58
+ validate: false,
59
+ storageVersion
60
+ }));
61
+ const bucketStorage = factory.getInstance(r.persisted_sync_rules);
62
+ await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
63
+ await writer.markAllSnapshotDone('1/1');
64
+ const abortController = new AbortController();
65
+ context.onTestFinished(() => abortController.abort());
66
+ const iter = bucketStorage
67
+ .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
68
+ await writer.keepalive('5/0');
69
+ const result = await iter.next();
70
+ expect(result).toMatchObject({
71
+ done: false,
72
+ value: {
73
+ base: {
74
+ checkpoint: 0n,
75
+ lsn: '5/0'
76
+ },
77
+ writeCheckpoint: null
152
78
  }
153
- expect(result2).toMatchObject({
154
- done: false,
155
- value: {
156
- base: {
157
- checkpoint: 0n,
158
- lsn: '6/0'
159
- },
160
- writeCheckpoint: writeCheckpoint
161
- }
162
- });
163
- }
164
- catch (e_2) {
165
- env_2.error = e_2;
166
- env_2.hasError = true;
167
- }
168
- finally {
169
- const result_2 = __disposeResources(env_2);
170
- if (result_2)
171
- await result_2;
172
- }
79
+ });
80
+ const writeCheckpoint = await bucketStorage.createManagedWriteCheckpoint({
81
+ heads: { '1': '6/0' },
82
+ user_id: 'user1'
83
+ });
84
+ // We have to trigger a new keepalive after the checkpoint, at least to cover postgres storage.
85
+ // This is what is effetively triggered with RouteAPI.createReplicationHead().
86
+ // MongoDB storage doesn't explicitly need this anymore.
87
+ await writer.keepalive('6/0');
88
+ let result2 = await iter.next();
89
+ if (result2.value?.base?.lsn == '5/0') {
90
+ // Events could arrive in a different order in some cases - this caters for it
91
+ result2 = await iter.next();
92
+ }
93
+ expect(result2).toMatchObject({
94
+ done: false,
95
+ value: {
96
+ base: {
97
+ checkpoint: 0n,
98
+ lsn: '6/0'
99
+ },
100
+ writeCheckpoint: writeCheckpoint
101
+ }
102
+ });
173
103
  });
174
104
  test('custom write checkpoints - checkpoint after write', async (context) => {
175
- const env_3 = { stack: [], error: void 0, hasError: false };
176
- try {
177
- const factory = __addDisposableResource(env_3, await generateStorageFactory(), true);
178
- const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
105
+ await using factory = await generateStorageFactory();
106
+ const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
179
107
  bucket_definitions:
180
108
  mybucket:
181
109
  data: []
182
- `));
183
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
184
- bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
185
- const abortController = new AbortController();
186
- context.onTestFinished(() => abortController.abort());
187
- const iter = bucketStorage
188
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
189
- await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
190
- await batch.addCustomWriteCheckpoint({
191
- checkpoint: 5n,
192
- user_id: 'user1'
193
- });
194
- await batch.flush();
195
- await batch.keepalive('5/0');
196
- });
197
- const result = await iter.next();
198
- expect(result).toMatchObject({
199
- done: false,
200
- value: {
201
- base: {
202
- lsn: '5/0'
203
- },
204
- writeCheckpoint: 5n
205
- }
206
- });
207
- }
208
- catch (e_3) {
209
- env_3.error = e_3;
210
- env_3.hasError = true;
211
- }
212
- finally {
213
- const result_3 = __disposeResources(env_3);
214
- if (result_3)
215
- await result_3;
216
- }
110
+ `, {
111
+ validate: false,
112
+ storageVersion
113
+ }));
114
+ const bucketStorage = factory.getInstance(r.persisted_sync_rules);
115
+ bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
116
+ await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
117
+ await writer.markAllSnapshotDone('1/1');
118
+ const abortController = new AbortController();
119
+ context.onTestFinished(() => abortController.abort());
120
+ const iter = bucketStorage
121
+ .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
122
+ writer.addCustomWriteCheckpoint({
123
+ checkpoint: 5n,
124
+ user_id: 'user1'
125
+ });
126
+ await writer.flush();
127
+ await writer.keepalive('5/0');
128
+ const result = await iter.next();
129
+ expect(result).toMatchObject({
130
+ done: false,
131
+ value: {
132
+ base: {
133
+ lsn: '5/0'
134
+ },
135
+ writeCheckpoint: 5n
136
+ }
137
+ });
217
138
  });
218
139
  test('custom write checkpoints - standalone checkpoint', async (context) => {
219
- const env_4 = { stack: [], error: void 0, hasError: false };
220
- try {
221
- const factory = __addDisposableResource(env_4, await generateStorageFactory(), true);
222
- const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
140
+ await using factory = await generateStorageFactory();
141
+ const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
223
142
  bucket_definitions:
224
143
  mybucket:
225
144
  data: []
226
- `));
227
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
228
- bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
229
- const abortController = new AbortController();
230
- context.onTestFinished(() => abortController.abort());
231
- const iter = bucketStorage
232
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
233
- await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
234
- // Flush to clear state
235
- await batch.flush();
236
- await batch.addCustomWriteCheckpoint({
237
- checkpoint: 5n,
238
- user_id: 'user1'
239
- });
240
- await batch.flush();
241
- await batch.keepalive('5/0');
242
- });
243
- const result = await iter.next();
244
- expect(result).toMatchObject({
245
- done: false,
246
- value: {
247
- base: {
248
- lsn: '5/0'
249
- },
250
- writeCheckpoint: 5n
251
- }
252
- });
253
- }
254
- catch (e_4) {
255
- env_4.error = e_4;
256
- env_4.hasError = true;
257
- }
258
- finally {
259
- const result_4 = __disposeResources(env_4);
260
- if (result_4)
261
- await result_4;
262
- }
145
+ `, {
146
+ validate: false,
147
+ storageVersion
148
+ }));
149
+ const bucketStorage = factory.getInstance(r.persisted_sync_rules);
150
+ bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
151
+ await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
152
+ await writer.markAllSnapshotDone('1/1');
153
+ const abortController = new AbortController();
154
+ context.onTestFinished(() => abortController.abort());
155
+ const iter = bucketStorage
156
+ .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
157
+ // Flush to clear state
158
+ await writer.flush();
159
+ writer.addCustomWriteCheckpoint({
160
+ checkpoint: 5n,
161
+ user_id: 'user1'
162
+ });
163
+ await writer.flush();
164
+ await writer.keepalive('5/0');
165
+ const result = await iter.next();
166
+ expect(result).toMatchObject({
167
+ done: false,
168
+ value: {
169
+ base: {
170
+ lsn: '5/0'
171
+ },
172
+ writeCheckpoint: 5n
173
+ }
174
+ });
263
175
  });
264
176
  test('custom write checkpoints - write after checkpoint', async (context) => {
265
- const env_5 = { stack: [], error: void 0, hasError: false };
266
- try {
267
- const factory = __addDisposableResource(env_5, await generateStorageFactory(), true);
268
- const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
177
+ await using factory = await generateStorageFactory();
178
+ const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
269
179
  bucket_definitions:
270
180
  mybucket:
271
181
  data: []
272
- `));
273
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
274
- bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
275
- const abortController = new AbortController();
276
- context.onTestFinished(() => abortController.abort());
277
- const iter = bucketStorage
278
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
279
- await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
280
- await batch.keepalive('5/0');
281
- });
282
- const result = await iter.next();
283
- expect(result).toMatchObject({
284
- done: false,
285
- value: {
286
- base: {
287
- lsn: '5/0'
288
- },
289
- writeCheckpoint: null
290
- }
291
- });
292
- await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
293
- batch.addCustomWriteCheckpoint({
294
- checkpoint: 6n,
295
- user_id: 'user1'
296
- });
297
- await batch.flush();
298
- await batch.keepalive('6/0');
299
- });
300
- let result2 = await iter.next();
301
- expect(result2).toMatchObject({
302
- done: false,
303
- value: {
304
- base: {
305
- // can be 5/0 or 6/0 - actual value not relevant for custom write checkpoints
306
- // lsn: '6/0'
307
- },
308
- writeCheckpoint: 6n
309
- }
310
- });
311
- await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
312
- batch.addCustomWriteCheckpoint({
313
- checkpoint: 7n,
314
- user_id: 'user1'
315
- });
316
- await batch.flush();
317
- await batch.keepalive('7/0');
318
- });
319
- let result3 = await iter.next();
320
- expect(result3).toMatchObject({
321
- done: false,
322
- value: {
323
- base: {
324
- // can be 5/0, 6/0 or 7/0 - actual value not relevant for custom write checkpoints
325
- // lsn: '7/0'
326
- },
327
- writeCheckpoint: 7n
328
- }
329
- });
330
- }
331
- catch (e_5) {
332
- env_5.error = e_5;
333
- env_5.hasError = true;
334
- }
335
- finally {
336
- const result_5 = __disposeResources(env_5);
337
- if (result_5)
338
- await result_5;
339
- }
182
+ `, {
183
+ validate: false,
184
+ storageVersion
185
+ }));
186
+ const bucketStorage = factory.getInstance(r.persisted_sync_rules);
187
+ bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
188
+ await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
189
+ await writer.markAllSnapshotDone('1/1');
190
+ const abortController = new AbortController();
191
+ context.onTestFinished(() => abortController.abort());
192
+ const iter = bucketStorage
193
+ .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
194
+ await writer.keepalive('5/0');
195
+ const result = await iter.next();
196
+ expect(result).toMatchObject({
197
+ done: false,
198
+ value: {
199
+ base: {
200
+ lsn: '5/0'
201
+ },
202
+ writeCheckpoint: null
203
+ }
204
+ });
205
+ writer.addCustomWriteCheckpoint({
206
+ checkpoint: 6n,
207
+ user_id: 'user1'
208
+ });
209
+ await writer.flush();
210
+ await writer.keepalive('6/0');
211
+ let result2 = await iter.next();
212
+ expect(result2).toMatchObject({
213
+ done: false,
214
+ value: {
215
+ base: {
216
+ // can be 5/0 or 6/0 - actual value not relevant for custom write checkpoints
217
+ // lsn: '6/0'
218
+ },
219
+ writeCheckpoint: 6n
220
+ }
221
+ });
222
+ writer.addCustomWriteCheckpoint({
223
+ checkpoint: 7n,
224
+ user_id: 'user1'
225
+ });
226
+ await writer.flush();
227
+ await writer.keepalive('7/0');
228
+ let result3 = await iter.next();
229
+ expect(result3).toMatchObject({
230
+ done: false,
231
+ value: {
232
+ base: {
233
+ // can be 5/0, 6/0 or 7/0 - actual value not relevant for custom write checkpoints
234
+ // lsn: '7/0'
235
+ },
236
+ writeCheckpoint: 7n
237
+ }
238
+ });
340
239
  });
341
240
  }
342
241
  //# sourceMappingURL=register-data-storage-checkpoint-tests.js.map