@powersync/service-core-tests 0.0.0-dev-20260803144812 → 0.0.0-dev-20260929095716

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 (40) hide show
  1. package/CHANGELOG.md +60 -5
  2. package/dist/test-utils/AbstractStreamTestContext.js +4 -3
  3. package/dist/test-utils/AbstractStreamTestContext.js.map +1 -1
  4. package/dist/test-utils/leased-storage.d.ts +9 -0
  5. package/dist/test-utils/leased-storage.js +53 -0
  6. package/dist/test-utils/leased-storage.js.map +1 -0
  7. package/dist/test-utils/storage-combinations.d.ts +13 -0
  8. package/dist/test-utils/storage-combinations.js +26 -0
  9. package/dist/test-utils/storage-combinations.js.map +1 -0
  10. package/dist/test-utils/test-utils-index.d.ts +2 -0
  11. package/dist/test-utils/test-utils-index.js +2 -0
  12. package/dist/test-utils/test-utils-index.js.map +1 -1
  13. package/dist/tests/register-compacting-tests.js +16 -15
  14. package/dist/tests/register-compacting-tests.js.map +1 -1
  15. package/dist/tests/register-data-storage-checkpoint-tests.js +47 -21
  16. package/dist/tests/register-data-storage-checkpoint-tests.js.map +1 -1
  17. package/dist/tests/register-data-storage-data-tests.js +37 -24
  18. package/dist/tests/register-data-storage-data-tests.js.map +1 -1
  19. package/dist/tests/register-data-storage-parameter-tests.js +16 -15
  20. package/dist/tests/register-data-storage-parameter-tests.js.map +1 -1
  21. package/dist/tests/register-parameter-compacting-tests.js +6 -4
  22. package/dist/tests/register-parameter-compacting-tests.js.map +1 -1
  23. package/dist/tests/register-sync-tests.js +28 -26
  24. package/dist/tests/register-sync-tests.js.map +1 -1
  25. package/dist/tests/util.d.ts +6 -0
  26. package/dist/tests/util.js +12 -0
  27. package/dist/tests/util.js.map +1 -1
  28. package/package.json +4 -4
  29. package/src/test-utils/AbstractStreamTestContext.ts +4 -3
  30. package/src/test-utils/leased-storage.ts +58 -0
  31. package/src/test-utils/storage-combinations.ts +51 -0
  32. package/src/test-utils/test-utils-index.ts +2 -0
  33. package/src/tests/register-compacting-tests.ts +16 -15
  34. package/src/tests/register-data-storage-checkpoint-tests.ts +85 -56
  35. package/src/tests/register-data-storage-data-tests.ts +41 -24
  36. package/src/tests/register-data-storage-parameter-tests.ts +16 -15
  37. package/src/tests/register-parameter-compacting-tests.ts +6 -4
  38. package/src/tests/register-sync-tests.ts +28 -26
  39. package/src/tests/util.ts +13 -0
  40. package/tsconfig.tsbuildinfo +1 -1
@@ -1,6 +1,8 @@
1
1
  import { storage, updateSyncRulesFromYaml } from '@powersync/service-core';
2
2
  import { expect, test } from 'vitest';
3
+ import { getTestStorage } from '../test-utils/leased-storage.js';
3
4
  import * as test_utils from '../test-utils/test-utils-index.js';
5
+ import { compactActive } from './util.js';
4
6
  /**
5
7
  * @example
6
8
  * ```TypeScript
@@ -24,11 +26,14 @@ bucket_definitions:
24
26
  validate: false,
25
27
  storageVersion
26
28
  }));
27
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
29
+ const bucketStorage = await getTestStorage(factory, r.persisted_sync_rules);
28
30
  const abortController = new AbortController();
29
31
  context.onTestFinished(() => abortController.abort());
30
32
  const iter = bucketStorage
31
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
33
+ .watchCheckpointChanges({
34
+ user_id: 'user1',
35
+ signal: abortController.signal
36
+ })[Symbol.asyncIterator]();
32
37
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
33
38
  await writer.markAllSnapshotDone('1/1');
34
39
  const writeCheckpoint = await createManagedWriteCheckpoint(bucketStorage, {
@@ -58,13 +63,16 @@ bucket_definitions:
58
63
  validate: false,
59
64
  storageVersion
60
65
  }));
61
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
66
+ const bucketStorage = await getTestStorage(factory, r.persisted_sync_rules);
62
67
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
63
68
  await writer.markAllSnapshotDone('1/1');
64
69
  const abortController = new AbortController();
65
70
  context.onTestFinished(() => abortController.abort());
66
71
  const iter = bucketStorage
67
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
72
+ .watchCheckpointChanges({
73
+ user_id: 'user1',
74
+ signal: abortController.signal
75
+ })[Symbol.asyncIterator]();
68
76
  await writer.keepalive('5/0');
69
77
  const result = await iter.next();
70
78
  expect(result).toMatchObject({
@@ -111,7 +119,7 @@ bucket_definitions:
111
119
  validate: false,
112
120
  storageVersion
113
121
  }));
114
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
122
+ const bucketStorage = await getTestStorage(factory, r.persisted_sync_rules);
115
123
  const first = await createManagedWriteCheckpointResult(bucketStorage, {
116
124
  user_id: 'user1',
117
125
  heads: { '1': '5/0' },
@@ -156,7 +164,7 @@ bucket_definitions:
156
164
  expect(generated.writeCheckpoints.get('user1')).toEqual(44n);
157
165
  expect(generated.shouldAdvance).toBe(true);
158
166
  });
159
- test('custom write checkpoints - checkpoint after write', async (context) => {
167
+ test.runIf((storageVersion ?? 1) < 3)('custom write checkpoints - checkpoint after write', async (context) => {
160
168
  await using factory = await generateStorageFactory();
161
169
  const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
162
170
  bucket_definitions:
@@ -166,14 +174,19 @@ bucket_definitions:
166
174
  validate: false,
167
175
  storageVersion
168
176
  }));
169
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
170
- bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
177
+ const bucketStorage = await getTestStorage(factory, r.persisted_sync_rules);
178
+ bucketStorage.setWriteCheckpointMode({
179
+ mode: storage.WriteCheckpointMode.CUSTOM
180
+ });
171
181
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
172
182
  await writer.markAllSnapshotDone('1/1');
173
183
  const abortController = new AbortController();
174
184
  context.onTestFinished(() => abortController.abort());
175
185
  const iter = bucketStorage
176
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
186
+ .watchCheckpointChanges({
187
+ user_id: 'user1',
188
+ signal: abortController.signal
189
+ })[Symbol.asyncIterator]();
177
190
  writer.addCustomWriteCheckpoint({
178
191
  checkpoint: 5n,
179
192
  user_id: 'user1'
@@ -191,7 +204,7 @@ bucket_definitions:
191
204
  }
192
205
  });
193
206
  });
194
- test('custom write checkpoints - standalone checkpoint', async (context) => {
207
+ test.runIf((storageVersion ?? 1) < 3)('custom write checkpoints - standalone checkpoint', async (context) => {
195
208
  await using factory = await generateStorageFactory();
196
209
  const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
197
210
  bucket_definitions:
@@ -201,14 +214,19 @@ bucket_definitions:
201
214
  validate: false,
202
215
  storageVersion
203
216
  }));
204
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
205
- bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
217
+ const bucketStorage = await getTestStorage(factory, r.persisted_sync_rules);
218
+ bucketStorage.setWriteCheckpointMode({
219
+ mode: storage.WriteCheckpointMode.CUSTOM
220
+ });
206
221
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
207
222
  await writer.markAllSnapshotDone('1/1');
208
223
  const abortController = new AbortController();
209
224
  context.onTestFinished(() => abortController.abort());
210
225
  const iter = bucketStorage
211
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
226
+ .watchCheckpointChanges({
227
+ user_id: 'user1',
228
+ signal: abortController.signal
229
+ })[Symbol.asyncIterator]();
212
230
  // Flush to clear state
213
231
  await writer.flush();
214
232
  writer.addCustomWriteCheckpoint({
@@ -228,7 +246,7 @@ bucket_definitions:
228
246
  }
229
247
  });
230
248
  });
231
- test('custom write checkpoints - write after checkpoint', async (context) => {
249
+ test.runIf((storageVersion ?? 1) < 3)('custom write checkpoints - write after checkpoint', async (context) => {
232
250
  await using factory = await generateStorageFactory();
233
251
  const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
234
252
  bucket_definitions:
@@ -238,14 +256,19 @@ bucket_definitions:
238
256
  validate: false,
239
257
  storageVersion
240
258
  }));
241
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
242
- bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
259
+ const bucketStorage = await getTestStorage(factory, r.persisted_sync_rules);
260
+ bucketStorage.setWriteCheckpointMode({
261
+ mode: storage.WriteCheckpointMode.CUSTOM
262
+ });
243
263
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
244
264
  await writer.markAllSnapshotDone('1/1');
245
265
  const abortController = new AbortController();
246
266
  context.onTestFinished(() => abortController.abort());
247
267
  const iter = bucketStorage
248
- .watchCheckpointChanges({ user_id: 'user1', signal: abortController.signal })[Symbol.asyncIterator]();
268
+ .watchCheckpointChanges({
269
+ user_id: 'user1',
270
+ signal: abortController.signal
271
+ })[Symbol.asyncIterator]();
249
272
  await writer.keepalive('5/0');
250
273
  const result = await iter.next();
251
274
  expect(result).toMatchObject({
@@ -292,7 +315,7 @@ bucket_definitions:
292
315
  }
293
316
  });
294
317
  });
295
- test('custom write checkpoints - checkpoint request markers are temporary', async () => {
318
+ test.runIf((storageVersion ?? 1) < 3)('custom write checkpoints - checkpoint request markers are temporary', async () => {
296
319
  await using factory = await generateStorageFactory();
297
320
  const r = await factory.configureSyncRules(updateSyncRulesFromYaml(`
298
321
  bucket_definitions:
@@ -302,8 +325,10 @@ bucket_definitions:
302
325
  validate: false,
303
326
  storageVersion
304
327
  }));
305
- const bucketStorage = factory.getInstance(r.persisted_sync_rules);
306
- bucketStorage.setWriteCheckpointMode(storage.WriteCheckpointMode.CUSTOM);
328
+ const bucketStorage = await getTestStorage(factory, r.persisted_sync_rules);
329
+ bucketStorage.setWriteCheckpointMode({
330
+ mode: storage.WriteCheckpointMode.CUSTOM
331
+ });
307
332
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
308
333
  await writer.markAllSnapshotDone('1/1');
309
334
  writer.addCustomWriteCheckpoint({
@@ -316,9 +341,10 @@ bucket_definitions:
316
341
  checkpoint_requested_at: new Date('2024-01-01T00:00:00.000Z')
317
342
  });
318
343
  await writer.flush();
344
+ await writer.keepalive('1/1');
319
345
  await expect(bucketStorage.lastWriteCheckpoint({ user_id: 'persistent' })).resolves.toEqual(5n);
320
346
  await expect(bucketStorage.lastWriteCheckpoint({ user_id: 'temporary' })).resolves.toEqual(6n);
321
- await bucketStorage.compact({
347
+ await compactActive(factory, {
322
348
  compactBuckets: [],
323
349
  deleteCheckpointRequestsBefore: new Date(Date.now() + 1_000)
324
350
  });
@@ -1 +1 @@
1
- {"version":3,"file":"register-data-storage-checkpoint-tests.js","sourceRoot":"","sources":["../../src/tests/register-data-storage-checkpoint-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-data-storage-checkpoint-tests.js","sourceRoot":"","sources":["../../src/tests/register-data-storage-checkpoint-tests.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { CURRENT_STORAGE_VERSION, getUuidReplicaIdentityBson, reduceBucket, storage, updateSyncRulesFromYaml } from '@powersync/service-core';
2
2
  import { describe, expect, test } from 'vitest';
3
+ import { getTestStorage } from '../test-utils/leased-storage.js';
3
4
  import * as test_utils from '../test-utils/test-utils-index.js';
4
5
  import { bucketRequest } from '../test-utils/test-utils-index.js';
5
6
  /**
@@ -25,6 +26,17 @@ const normalizeOplogData = (data) => {
25
26
  export function registerDataStorageDataTests(config) {
26
27
  const generateStorageFactory = config.factory;
27
28
  const storageVersion = config.storageVersion ?? storage.CURRENT_STORAGE_VERSION;
29
+ test('releases test replication leases when leaving an await using scope', async () => {
30
+ {
31
+ await using factory = await generateStorageFactory();
32
+ const stream = await factory.updateSyncRules(updateSyncRulesFromYaml('bucket_definitions: {}', { storageVersion }));
33
+ await getTestStorage(factory, stream);
34
+ }
35
+ await using replacement = await generateStorageFactory({ doNotClear: true });
36
+ const deploying = await replacement.getDeployingSyncConfig();
37
+ expect(deploying).not.toBeNull();
38
+ await getTestStorage(replacement, deploying.replicationStream);
39
+ });
28
40
  test('removing row', async () => {
29
41
  await using factory = await generateStorageFactory();
30
42
  const { stream: replicationStream, content: syncRules } = await test_utils.deploySyncRules(factory, updateSyncRulesFromYaml(`
@@ -33,7 +45,7 @@ bucket_definitions:
33
45
  data:
34
46
  - SELECT id, description FROM "%"
35
47
  `, { storageVersion }));
36
- const bucketStorage = factory.getInstance(replicationStream);
48
+ const bucketStorage = await getTestStorage(factory, replicationStream);
37
49
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
38
50
  const testTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
39
51
  await writer.markAllSnapshotDone('1/1');
@@ -85,7 +97,7 @@ bucket_definitions:
85
97
  data:
86
98
  - SELECT id, description FROM "%"
87
99
  `, { storageVersion }));
88
- const bucketStorage = factory.getInstance(replicationStream);
100
+ const bucketStorage = await getTestStorage(factory, replicationStream);
89
101
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
90
102
  const testTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
91
103
  await writer.markAllSnapshotDone('1/1');
@@ -135,7 +147,7 @@ bucket_definitions:
135
147
  data:
136
148
  - SELECT id, description FROM "%"
137
149
  `, { storageVersion }));
138
- const bucketStorage = factory.getInstance(replicationStream);
150
+ const bucketStorage = await getTestStorage(factory, replicationStream);
139
151
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
140
152
  const testTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
141
153
  await writer.markAllSnapshotDone('1/1');
@@ -190,7 +202,7 @@ bucket_definitions:
190
202
  `, {
191
203
  storageVersion
192
204
  }));
193
- const bucketStorage = factory.getInstance(replicationStream);
205
+ const bucketStorage = await getTestStorage(factory, replicationStream);
194
206
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
195
207
  const testTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
196
208
  await writer.markAllSnapshotDone('1/1');
@@ -240,7 +252,7 @@ bucket_definitions:
240
252
  `, {
241
253
  storageVersion
242
254
  }));
243
- const bucketStorage = factory.getInstance(replicationStream);
255
+ const bucketStorage = await getTestStorage(factory, replicationStream);
244
256
  {
245
257
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
246
258
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
@@ -304,7 +316,7 @@ bucket_definitions:
304
316
  `, {
305
317
  storageVersion
306
318
  }));
307
- const bucketStorage = factory.getInstance(replicationStream);
319
+ const bucketStorage = await getTestStorage(factory, replicationStream);
308
320
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
309
321
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
310
322
  await writer.markAllSnapshotDone('1/1');
@@ -364,7 +376,7 @@ bucket_definitions:
364
376
  `, {
365
377
  storageVersion
366
378
  }));
367
- const bucketStorage = factory.getInstance(replicationStream);
379
+ const bucketStorage = await getTestStorage(factory, replicationStream);
368
380
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
369
381
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
370
382
  await writer.markAllSnapshotDone('1/1');
@@ -423,7 +435,7 @@ bucket_definitions:
423
435
  data:
424
436
  - SELECT id, description FROM "%"
425
437
  `, { storageVersion }));
426
- const bucketStorage = factory.getInstance(replicationStream);
438
+ const bucketStorage = await getTestStorage(factory, replicationStream);
427
439
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
428
440
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
429
441
  await writer.markAllSnapshotDone('1/1');
@@ -529,7 +541,7 @@ bucket_definitions:
529
541
  data:
530
542
  - SELECT id, description FROM "test"
531
543
  `, { storageVersion }));
532
- const bucketStorage = factory.getInstance(replicationStream);
544
+ const bucketStorage = await getTestStorage(factory, replicationStream);
533
545
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
534
546
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
535
547
  // Pre-setup
@@ -667,7 +679,7 @@ bucket_definitions:
667
679
  `, {
668
680
  storageVersion
669
681
  }));
670
- const bucketStorage = factory.getInstance(replicationStream);
682
+ const bucketStorage = await getTestStorage(factory, replicationStream);
671
683
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
672
684
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id', 'description'], config);
673
685
  // Pre-setup
@@ -763,7 +775,7 @@ bucket_definitions:
763
775
  `, {
764
776
  storageVersion
765
777
  }));
766
- const bucketStorage = factory.getInstance(replicationStream);
778
+ const bucketStorage = await getTestStorage(factory, replicationStream);
767
779
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
768
780
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id', 'description'], config);
769
781
  // Pre-setup
@@ -850,7 +862,7 @@ bucket_definitions:
850
862
  `, {
851
863
  storageVersion
852
864
  }));
853
- const bucketStorage = factory.getInstance(replicationStream);
865
+ const bucketStorage = await getTestStorage(factory, replicationStream);
854
866
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
855
867
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
856
868
  await writer.markAllSnapshotDone('1/1');
@@ -934,7 +946,7 @@ bucket_definitions:
934
946
  `, {
935
947
  storageVersion
936
948
  }));
937
- const bucketStorage = factory.getInstance(replicationStream);
949
+ const bucketStorage = await getTestStorage(factory, replicationStream);
938
950
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
939
951
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
940
952
  await writer.markAllSnapshotDone('1/1');
@@ -1009,7 +1021,7 @@ bucket_definitions:
1009
1021
  data:
1010
1022
  - SELECT id, description FROM test WHERE bucket = 'global2'
1011
1023
  `, { storageVersion }));
1012
- const bucketStorage = factory.getInstance(replicationStream);
1024
+ const bucketStorage = await getTestStorage(factory, replicationStream);
1013
1025
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
1014
1026
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
1015
1027
  await writer.markAllSnapshotDone('1/1');
@@ -1167,13 +1179,14 @@ bucket_definitions:
1167
1179
  test('empty storage metrics', async () => {
1168
1180
  await using f = await generateStorageFactory({ dropAll: true });
1169
1181
  const metrics = await f.getStorageMetrics();
1170
- expect(metrics).toEqual({
1182
+ expect(metrics).toMatchObject({
1171
1183
  operations_size_bytes: 0,
1172
1184
  parameters_size_bytes: 0,
1173
- replication_size_bytes: 0
1185
+ replication_size_bytes: 0,
1186
+ object_storage_size_bytes: 0
1174
1187
  });
1175
1188
  const r = await f.configureSyncRules(updateSyncRulesFromYaml('bucket_definitions: {}'));
1176
- const storage = f.getInstance(r.persisted_sync_rules);
1189
+ const storage = await getTestStorage(f, r.persisted_sync_rules);
1177
1190
  await using writer = await storage.createWriter(test_utils.BATCH_OPTIONS);
1178
1191
  await writer.markAllSnapshotDone('1/0');
1179
1192
  await writer.keepalive('1/0');
@@ -1194,7 +1207,7 @@ bucket_definitions:
1194
1207
  `, {
1195
1208
  storageVersion
1196
1209
  }));
1197
- const bucketStorage = factory.getInstance(replicationStream);
1210
+ const bucketStorage = await getTestStorage(factory, replicationStream);
1198
1211
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
1199
1212
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config, 1);
1200
1213
  const sourceTableIgnore = await test_utils.resolveTestTable(writer, 'test_ignore', ['id'], config, 2);
@@ -1234,7 +1247,7 @@ bucket_definitions:
1234
1247
  `, {
1235
1248
  storageVersion
1236
1249
  }));
1237
- const bucketStorage = factory.getInstance(replicationStream);
1250
+ const bucketStorage = await getTestStorage(factory, replicationStream);
1238
1251
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
1239
1252
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
1240
1253
  await writer.markAllSnapshotDone('1/1');
@@ -1266,7 +1279,7 @@ bucket_definitions:
1266
1279
  data:
1267
1280
  - SELECT id, description FROM "%"
1268
1281
  `, { storageVersion }));
1269
- const bucketStorage = factory.getInstance(replicationStream);
1282
+ const bucketStorage = await getTestStorage(factory, replicationStream);
1270
1283
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
1271
1284
  await writer.markAllSnapshotDone('1/1');
1272
1285
  await writer.commit('1/1');
@@ -1294,7 +1307,7 @@ bucket_definitions:
1294
1307
  `, {
1295
1308
  storageVersion
1296
1309
  }));
1297
- const bucketStorage = factory.getInstance(replicationStream);
1310
+ const bucketStorage = await getTestStorage(factory, replicationStream);
1298
1311
  await using writer1 = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
1299
1312
  await using writer2 = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
1300
1313
  const sourceTable = await test_utils.resolveTestTable(writer2, 'test', ['id'], config);
@@ -1333,7 +1346,7 @@ bucket_definitions:
1333
1346
  `, {
1334
1347
  storageVersion
1335
1348
  }));
1336
- const bucketStorage = factory.getInstance(replicationStream);
1349
+ const bucketStorage = await getTestStorage(factory, replicationStream);
1337
1350
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
1338
1351
  const result1 = await writer.commit('1/1', { createEmptyCheckpoints: false });
1339
1352
  expect(result1).toEqual({ checkpointBlocked: true, checkpointCreated: false });
@@ -1371,7 +1384,7 @@ bucket_definitions:
1371
1384
  `, {
1372
1385
  storageVersion
1373
1386
  }));
1374
- const bucketStorage = factory.getInstance(replicationStream);
1387
+ const bucketStorage = await getTestStorage(factory, replicationStream);
1375
1388
  await using snapshotWriter = await bucketStorage.createWriter({
1376
1389
  ...test_utils.BATCH_OPTIONS,
1377
1390
  skipExistingRows: true
@@ -1428,7 +1441,7 @@ bucket_definitions:
1428
1441
  `, {
1429
1442
  storageVersion
1430
1443
  }));
1431
- const bucketStorage = factory.getInstance(replicationStream);
1444
+ const bucketStorage = await getTestStorage(factory, replicationStream);
1432
1445
  await using writer = await bucketStorage.createWriter(test_utils.BATCH_OPTIONS);
1433
1446
  const sourceTable = await test_utils.resolveTestTable(writer, 'test', ['id'], config);
1434
1447
  await writer.markAllSnapshotDone('1/1');