@powersync/service-core-tests 0.14.0 → 0.15.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 (38) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/test-utils/general-utils.d.ts +22 -3
  3. package/dist/test-utils/general-utils.js +56 -3
  4. package/dist/test-utils/general-utils.js.map +1 -1
  5. package/dist/test-utils/stream_utils.js +2 -2
  6. package/dist/test-utils/stream_utils.js.map +1 -1
  7. package/dist/tests/register-compacting-tests.d.ts +1 -1
  8. package/dist/tests/register-compacting-tests.js +360 -297
  9. package/dist/tests/register-compacting-tests.js.map +1 -1
  10. package/dist/tests/register-data-storage-checkpoint-tests.d.ts +1 -1
  11. package/dist/tests/register-data-storage-checkpoint-tests.js +59 -48
  12. package/dist/tests/register-data-storage-checkpoint-tests.js.map +1 -1
  13. package/dist/tests/register-data-storage-data-tests.d.ts +2 -2
  14. package/dist/tests/register-data-storage-data-tests.js +1112 -612
  15. package/dist/tests/register-data-storage-data-tests.js.map +1 -1
  16. package/dist/tests/register-data-storage-parameter-tests.d.ts +1 -1
  17. package/dist/tests/register-data-storage-parameter-tests.js +273 -254
  18. package/dist/tests/register-data-storage-parameter-tests.js.map +1 -1
  19. package/dist/tests/register-parameter-compacting-tests.d.ts +1 -1
  20. package/dist/tests/register-parameter-compacting-tests.js +83 -87
  21. package/dist/tests/register-parameter-compacting-tests.js.map +1 -1
  22. package/dist/tests/register-sync-tests.d.ts +2 -1
  23. package/dist/tests/register-sync-tests.js +479 -451
  24. package/dist/tests/register-sync-tests.js.map +1 -1
  25. package/dist/tests/util.d.ts +5 -4
  26. package/dist/tests/util.js +27 -12
  27. package/dist/tests/util.js.map +1 -1
  28. package/package.json +3 -3
  29. package/src/test-utils/general-utils.ts +81 -4
  30. package/src/test-utils/stream_utils.ts +2 -2
  31. package/src/tests/register-compacting-tests.ts +376 -322
  32. package/src/tests/register-data-storage-checkpoint-tests.ts +85 -53
  33. package/src/tests/register-data-storage-data-tests.ts +1050 -559
  34. package/src/tests/register-data-storage-parameter-tests.ts +330 -288
  35. package/src/tests/register-parameter-compacting-tests.ts +87 -90
  36. package/src/tests/register-sync-tests.ts +390 -380
  37. package/src/tests/util.ts +46 -17
  38. package/tsconfig.tsbuildinfo +1 -1
package/src/tests/util.ts CHANGED
@@ -1,24 +1,53 @@
1
1
  import { storage } from '@powersync/service-core';
2
- import { test_utils } from '../index.js';
2
+ import {
3
+ ParameterIndexLookupCreator,
4
+ SourceTableInterface,
5
+ SqliteRow,
6
+ TablePattern
7
+ } from '@powersync/service-sync-rules';
8
+ import { ParameterLookupScope } from '@powersync/service-sync-rules/src/HydrationState.js';
9
+ import { bucketRequest } from '../test-utils/general-utils.js';
3
10
 
4
- export const TEST_TABLE = test_utils.makeTestTable('test', ['id']);
5
-
6
- export function bucketRequest(syncRules: storage.PersistedSyncRulesContent, bucketName: string): string {
7
- if (/^\d+#/.test(bucketName)) {
8
- return bucketName;
9
- }
10
-
11
- const versionedBuckets = storage.STORAGE_VERSION_CONFIG[syncRules.storageVersion]?.versionedBuckets ?? false;
12
- return versionedBuckets ? `${syncRules.id}#${bucketName}` : bucketName;
11
+ export function bucketRequestMap(
12
+ syncRules: storage.PersistedSyncRulesContent,
13
+ buckets: Iterable<readonly [string, bigint]>
14
+ ): storage.BucketDataRequest[] {
15
+ return Array.from(buckets, ([bucketName, opId]) => bucketRequest(syncRules, bucketName, opId));
13
16
  }
14
17
 
15
- export function bucketRequests(syncRules: storage.PersistedSyncRulesContent, bucketNames: string[]): string[] {
16
- return bucketNames.map((bucketName) => bucketRequest(syncRules, bucketName));
18
+ export function bucketRequests(
19
+ syncRules: storage.PersistedSyncRulesContent,
20
+ bucketNames: string[]
21
+ ): storage.BucketChecksumRequest[] {
22
+ return bucketNames.map((bucketName) => {
23
+ const request = bucketRequest(syncRules, bucketName, 0n);
24
+ return { bucket: request.bucket, source: request.source };
25
+ });
17
26
  }
18
27
 
19
- export function bucketRequestMap(
20
- syncRules: storage.PersistedSyncRulesContent,
21
- buckets: Iterable<readonly [string, bigint]>
22
- ): Map<string, bigint> {
23
- return new Map(Array.from(buckets, ([bucketName, opId]) => [bucketRequest(syncRules, bucketName), opId]));
28
+ const EMPTY_LOOKUP_SOURCE: ParameterIndexLookupCreator = {
29
+ get defaultLookupScope(): ParameterLookupScope {
30
+ return {
31
+ lookupName: 'lookup',
32
+ queryId: '0',
33
+ source: EMPTY_LOOKUP_SOURCE
34
+ };
35
+ },
36
+ getSourceTables(): Set<TablePattern> {
37
+ return new Set();
38
+ },
39
+ evaluateParameterRow(_sourceTable: SourceTableInterface, _row: SqliteRow) {
40
+ return [];
41
+ },
42
+ tableSyncsParameters(_table: SourceTableInterface): boolean {
43
+ return false;
44
+ }
45
+ };
46
+
47
+ export function parameterLookupScope(
48
+ lookupName: string,
49
+ queryId: string,
50
+ source: ParameterIndexLookupCreator = EMPTY_LOOKUP_SOURCE
51
+ ): ParameterLookupScope {
52
+ return { lookupName, queryId, source };
24
53
  }