@powersync/service-core-tests 0.13.0 → 0.13.2
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.
- package/CHANGELOG.md +21 -0
- package/dist/test-utils/general-utils.js +1 -1
- package/dist/test-utils/general-utils.js.map +1 -1
- package/dist/tests/register-compacting-tests.js +12 -6
- package/dist/tests/register-compacting-tests.js.map +1 -1
- package/dist/tests/register-data-storage-parameter-tests.js +4 -4
- package/dist/tests/register-data-storage-parameter-tests.js.map +1 -1
- package/dist/tests/register-sync-tests.js +19 -18
- package/dist/tests/register-sync-tests.js.map +1 -1
- package/package.json +3 -3
- package/src/test-utils/general-utils.ts +1 -1
- package/src/tests/register-compacting-tests.ts +12 -6
- package/src/tests/register-data-storage-parameter-tests.ts +4 -4
- package/src/tests/register-sync-tests.ts +19 -17
- package/tsconfig.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
|
-
"version": "0.13.
|
|
8
|
+
"version": "0.13.2",
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"license": "FSL-1.1-ALv2",
|
|
11
11
|
"type": "module",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@powersync/service-core": "^1.19.
|
|
13
|
+
"@powersync/service-core": "^1.19.2",
|
|
14
14
|
"@powersync/service-jsonbig": "^0.17.12",
|
|
15
|
-
"@powersync/service-sync-rules": "^0.
|
|
15
|
+
"@powersync/service-sync-rules": "^0.31.1"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"vitest": "^4.0.16"
|
|
@@ -28,7 +28,7 @@ export function testRules(content: string): storage.PersistedSyncRulesContent {
|
|
|
28
28
|
sync_rules: SqlSyncRules.fromYaml(content, options),
|
|
29
29
|
slot_name: 'test',
|
|
30
30
|
hydratedSyncRules() {
|
|
31
|
-
return this.sync_rules.hydrate({ hydrationState: versionedHydrationState(1) });
|
|
31
|
+
return this.sync_rules.config.hydrate({ hydrationState: versionedHydrationState(1) });
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
},
|
|
@@ -81,7 +81,8 @@ bucket_definitions:
|
|
|
81
81
|
clearBatchLimit: 2,
|
|
82
82
|
moveBatchLimit: 1,
|
|
83
83
|
moveBatchQueryLimit: 1,
|
|
84
|
-
minBucketChanges: 1
|
|
84
|
+
minBucketChanges: 1,
|
|
85
|
+
minChangeRatio: 0
|
|
85
86
|
});
|
|
86
87
|
|
|
87
88
|
const batchAfter = await test_utils.oneFromAsync(
|
|
@@ -209,7 +210,8 @@ bucket_definitions:
|
|
|
209
210
|
clearBatchLimit: 2,
|
|
210
211
|
moveBatchLimit: 1,
|
|
211
212
|
moveBatchQueryLimit: 1,
|
|
212
|
-
minBucketChanges: 1
|
|
213
|
+
minBucketChanges: 1,
|
|
214
|
+
minChangeRatio: 0
|
|
213
215
|
});
|
|
214
216
|
|
|
215
217
|
const batchAfter = await test_utils.oneFromAsync(
|
|
@@ -303,7 +305,8 @@ bucket_definitions:
|
|
|
303
305
|
clearBatchLimit: 2,
|
|
304
306
|
moveBatchLimit: 1,
|
|
305
307
|
moveBatchQueryLimit: 1,
|
|
306
|
-
minBucketChanges: 1
|
|
308
|
+
minBucketChanges: 1,
|
|
309
|
+
minChangeRatio: 0
|
|
307
310
|
});
|
|
308
311
|
|
|
309
312
|
const batchAfter = await test_utils.oneFromAsync(
|
|
@@ -416,7 +419,8 @@ bucket_definitions:
|
|
|
416
419
|
clearBatchLimit: 100,
|
|
417
420
|
moveBatchLimit: 100,
|
|
418
421
|
moveBatchQueryLimit: 100, // Larger limit for a larger window of operations
|
|
419
|
-
minBucketChanges: 1
|
|
422
|
+
minBucketChanges: 1,
|
|
423
|
+
minChangeRatio: 0
|
|
420
424
|
});
|
|
421
425
|
|
|
422
426
|
const batchAfter = await test_utils.fromAsync(
|
|
@@ -503,7 +507,8 @@ bucket_definitions:
|
|
|
503
507
|
clearBatchLimit: 2,
|
|
504
508
|
moveBatchLimit: 1,
|
|
505
509
|
moveBatchQueryLimit: 1,
|
|
506
|
-
minBucketChanges: 1
|
|
510
|
+
minBucketChanges: 1,
|
|
511
|
+
minChangeRatio: 0
|
|
507
512
|
});
|
|
508
513
|
|
|
509
514
|
const result2 = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
@@ -578,7 +583,8 @@ bucket_definitions:
|
|
|
578
583
|
clearBatchLimit: 20,
|
|
579
584
|
moveBatchLimit: 10,
|
|
580
585
|
moveBatchQueryLimit: 10,
|
|
581
|
-
minBucketChanges: 1
|
|
586
|
+
minBucketChanges: 1,
|
|
587
|
+
minChangeRatio: 0
|
|
582
588
|
});
|
|
583
589
|
|
|
584
590
|
const checkpoint2 = result2!.flushed_op;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { storage } from '@powersync/service-core';
|
|
1
|
+
import { JwtPayload, storage } from '@powersync/service-core';
|
|
2
2
|
import { RequestParameters, ScopedParameterLookup, SqliteJsonRow } from '@powersync/service-sync-rules';
|
|
3
3
|
import { expect, test } from 'vitest';
|
|
4
4
|
import * as test_utils from '../test-utils/test-utils-index.js';
|
|
@@ -331,7 +331,7 @@ bucket_definitions:
|
|
|
331
331
|
});
|
|
332
332
|
const checkpoint = await bucketStorage.getCheckpoint();
|
|
333
333
|
|
|
334
|
-
const parameters = new RequestParameters({ sub: 'u1' }, {});
|
|
334
|
+
const parameters = new RequestParameters(new JwtPayload({ sub: 'u1' }), {});
|
|
335
335
|
|
|
336
336
|
const querier = sync_rules.getBucketParameterQuerier(test_utils.querierOptions(parameters)).querier;
|
|
337
337
|
|
|
@@ -402,7 +402,7 @@ bucket_definitions:
|
|
|
402
402
|
|
|
403
403
|
const checkpoint = await bucketStorage.getCheckpoint();
|
|
404
404
|
|
|
405
|
-
const parameters = new RequestParameters({ sub: 'unknown' }, {});
|
|
405
|
+
const parameters = new RequestParameters(new JwtPayload({ sub: 'unknown' }), {});
|
|
406
406
|
|
|
407
407
|
const querier = sync_rules.getBucketParameterQuerier(test_utils.querierOptions(parameters)).querier;
|
|
408
408
|
|
|
@@ -502,7 +502,7 @@ bucket_definitions:
|
|
|
502
502
|
|
|
503
503
|
const checkpoint = await bucketStorage.getCheckpoint();
|
|
504
504
|
|
|
505
|
-
const parameters = new RequestParameters({ sub: 'u1' }, {});
|
|
505
|
+
const parameters = new RequestParameters(new JwtPayload({ sub: 'u1' }), {});
|
|
506
506
|
|
|
507
507
|
// Test intermediate values - could be moved to sync_rules.test.ts
|
|
508
508
|
const querier = sync_rules.getBucketParameterQuerier(test_utils.querierOptions(parameters)).querier;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCoreAPIMetrics,
|
|
3
|
+
JwtPayload,
|
|
3
4
|
storage,
|
|
4
5
|
StreamingSyncCheckpoint,
|
|
5
6
|
StreamingSyncCheckpointDiff,
|
|
@@ -89,7 +90,7 @@ export function registerSyncTests(factory: storage.TestStorageFactory) {
|
|
|
89
90
|
raw_data: true
|
|
90
91
|
},
|
|
91
92
|
tracker,
|
|
92
|
-
token: { sub: '', exp: Date.now() / 1000 + 10 }
|
|
93
|
+
token: new JwtPayload({ sub: '', exp: Date.now() / 1000 + 10 }),
|
|
93
94
|
isEncodingAsBson: false
|
|
94
95
|
});
|
|
95
96
|
|
|
@@ -150,7 +151,7 @@ bucket_definitions:
|
|
|
150
151
|
raw_data: true
|
|
151
152
|
},
|
|
152
153
|
tracker,
|
|
153
|
-
token: { sub: '', exp: Date.now() / 1000 + 10 }
|
|
154
|
+
token: new JwtPayload({ sub: '', exp: Date.now() / 1000 + 10 }),
|
|
154
155
|
isEncodingAsBson: false
|
|
155
156
|
});
|
|
156
157
|
|
|
@@ -213,7 +214,7 @@ bucket_definitions:
|
|
|
213
214
|
raw_data: true
|
|
214
215
|
},
|
|
215
216
|
tracker,
|
|
216
|
-
token: { sub: '', exp: Date.now() / 1000 + 10 }
|
|
217
|
+
token: new JwtPayload({ sub: '', exp: Date.now() / 1000 + 10 }),
|
|
217
218
|
isEncodingAsBson: false
|
|
218
219
|
});
|
|
219
220
|
|
|
@@ -323,7 +324,7 @@ bucket_definitions:
|
|
|
323
324
|
raw_data: true
|
|
324
325
|
},
|
|
325
326
|
tracker,
|
|
326
|
-
token: { sub: 'user_one', exp: Date.now() / 1000 + 100000 }
|
|
327
|
+
token: new JwtPayload({ sub: 'user_one', exp: Date.now() / 1000 + 100000 }),
|
|
327
328
|
isEncodingAsBson: false
|
|
328
329
|
});
|
|
329
330
|
|
|
@@ -464,7 +465,7 @@ bucket_definitions:
|
|
|
464
465
|
raw_data: true
|
|
465
466
|
},
|
|
466
467
|
tracker,
|
|
467
|
-
token: { sub: '', exp: Date.now() / 1000 + 10 }
|
|
468
|
+
token: new JwtPayload({ sub: '', exp: Date.now() / 1000 + 10 }),
|
|
468
469
|
isEncodingAsBson: false
|
|
469
470
|
});
|
|
470
471
|
|
|
@@ -580,7 +581,7 @@ bucket_definitions:
|
|
|
580
581
|
raw_data: true
|
|
581
582
|
},
|
|
582
583
|
tracker,
|
|
583
|
-
token: { sub: '', exp: Date.now() / 1000 + 100000 }
|
|
584
|
+
token: new JwtPayload({ sub: '', exp: Date.now() / 1000 + 100000 }),
|
|
584
585
|
isEncodingAsBson: false
|
|
585
586
|
});
|
|
586
587
|
|
|
@@ -646,7 +647,7 @@ bucket_definitions:
|
|
|
646
647
|
raw_data: false
|
|
647
648
|
},
|
|
648
649
|
tracker,
|
|
649
|
-
token: { sub: '', exp: Date.now() / 1000 + 10 }
|
|
650
|
+
token: new JwtPayload({ sub: '', exp: Date.now() / 1000 + 10 }),
|
|
650
651
|
isEncodingAsBson: false
|
|
651
652
|
});
|
|
652
653
|
|
|
@@ -675,7 +676,7 @@ bucket_definitions:
|
|
|
675
676
|
raw_data: true
|
|
676
677
|
},
|
|
677
678
|
tracker,
|
|
678
|
-
token: { sub: '', exp: 0 }
|
|
679
|
+
token: new JwtPayload({ sub: '', exp: 0 }),
|
|
679
680
|
isEncodingAsBson: false
|
|
680
681
|
});
|
|
681
682
|
|
|
@@ -706,7 +707,7 @@ bucket_definitions:
|
|
|
706
707
|
raw_data: true
|
|
707
708
|
},
|
|
708
709
|
tracker,
|
|
709
|
-
token: { sub: '', exp: Date.now() / 1000 + 10 }
|
|
710
|
+
token: new JwtPayload({ sub: '', exp: Date.now() / 1000 + 10 }),
|
|
710
711
|
isEncodingAsBson: false
|
|
711
712
|
});
|
|
712
713
|
const iter = stream[Symbol.asyncIterator]();
|
|
@@ -780,7 +781,7 @@ bucket_definitions:
|
|
|
780
781
|
raw_data: true
|
|
781
782
|
},
|
|
782
783
|
tracker,
|
|
783
|
-
token: { sub: 'user1', exp: Date.now() / 1000 + 100 }
|
|
784
|
+
token: new JwtPayload({ sub: 'user1', exp: Date.now() / 1000 + 100 }),
|
|
784
785
|
isEncodingAsBson: false
|
|
785
786
|
});
|
|
786
787
|
const iter = stream[Symbol.asyncIterator]();
|
|
@@ -856,7 +857,7 @@ bucket_definitions:
|
|
|
856
857
|
raw_data: true
|
|
857
858
|
},
|
|
858
859
|
tracker,
|
|
859
|
-
token: { sub: 'user1', exp: Date.now() / 1000 + 100 }
|
|
860
|
+
token: new JwtPayload({ sub: 'user1', exp: Date.now() / 1000 + 100 }),
|
|
860
861
|
isEncodingAsBson: false
|
|
861
862
|
});
|
|
862
863
|
const iter = stream[Symbol.asyncIterator]();
|
|
@@ -923,7 +924,7 @@ bucket_definitions:
|
|
|
923
924
|
raw_data: true
|
|
924
925
|
},
|
|
925
926
|
tracker,
|
|
926
|
-
token: { sub: 'user1', exp: Date.now() / 1000 + 100 }
|
|
927
|
+
token: new JwtPayload({ sub: 'user1', exp: Date.now() / 1000 + 100 }),
|
|
927
928
|
isEncodingAsBson: false
|
|
928
929
|
});
|
|
929
930
|
const iter = stream[Symbol.asyncIterator]();
|
|
@@ -991,7 +992,7 @@ bucket_definitions:
|
|
|
991
992
|
raw_data: true
|
|
992
993
|
},
|
|
993
994
|
tracker,
|
|
994
|
-
token: { sub: '', exp: exp }
|
|
995
|
+
token: new JwtPayload({ sub: '', exp: exp }),
|
|
995
996
|
isEncodingAsBson: false
|
|
996
997
|
});
|
|
997
998
|
const iter = stream[Symbol.asyncIterator]();
|
|
@@ -1054,7 +1055,7 @@ bucket_definitions:
|
|
|
1054
1055
|
raw_data: true
|
|
1055
1056
|
},
|
|
1056
1057
|
tracker,
|
|
1057
|
-
token: { sub: '', exp: Date.now() / 1000 + 10 }
|
|
1058
|
+
token: new JwtPayload({ sub: '', exp: Date.now() / 1000 + 10 }),
|
|
1058
1059
|
isEncodingAsBson: false
|
|
1059
1060
|
});
|
|
1060
1061
|
|
|
@@ -1100,7 +1101,8 @@ bucket_definitions:
|
|
|
1100
1101
|
});
|
|
1101
1102
|
|
|
1102
1103
|
await bucketStorage.compact({
|
|
1103
|
-
minBucketChanges: 1
|
|
1104
|
+
minBucketChanges: 1,
|
|
1105
|
+
minChangeRatio: 0
|
|
1104
1106
|
});
|
|
1105
1107
|
|
|
1106
1108
|
const lines2 = await getCheckpointLines(iter, { consume: true });
|
|
@@ -1182,7 +1184,7 @@ bucket_definitions:
|
|
|
1182
1184
|
raw_data: true
|
|
1183
1185
|
},
|
|
1184
1186
|
tracker,
|
|
1185
|
-
token: { sub: 'test', exp: Date.now() / 1000 + 10 }
|
|
1187
|
+
token: new JwtPayload({ sub: 'test', exp: Date.now() / 1000 + 10 }),
|
|
1186
1188
|
isEncodingAsBson: false
|
|
1187
1189
|
};
|
|
1188
1190
|
const stream1 = sync.streamResponse(params);
|
|
@@ -1255,7 +1257,7 @@ config:
|
|
|
1255
1257
|
raw_data: true
|
|
1256
1258
|
},
|
|
1257
1259
|
tracker,
|
|
1258
|
-
token: { sub: '', exp: Date.now() / 1000 + 10 }
|
|
1260
|
+
token: new JwtPayload({ sub: '', exp: Date.now() / 1000 + 10 }),
|
|
1259
1261
|
isEncodingAsBson: false
|
|
1260
1262
|
});
|
|
1261
1263
|
|