Skip to content

Commit 36a4662

Browse files
committed
Fix more tsts
1 parent b170a85 commit 36a4662

File tree

3 files changed

+42
-44
lines changed

3 files changed

+42
-44
lines changed

packages/service-core-tests/src/test-utils/general-utils.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { storage, utils } from '@powersync/service-core';
2-
import { SqlSyncRules } from '@powersync/service-sync-rules';
2+
import { GetQuerierOptions, RequestParameters, SqlSyncRules } from '@powersync/service-sync-rules';
33
import * as bson from 'bson';
44

55
export const ZERO_LSN = '0/0';
@@ -102,3 +102,11 @@ function getFirst(
102102
export function rid(id: string): bson.UUID {
103103
return utils.getUuidReplicaIdentityBson({ id: id }, [{ name: 'id', type: 'VARCHAR', typeId: 25 }]);
104104
}
105+
106+
export function querierOptions(globalParameters: RequestParameters): GetQuerierOptions {
107+
return {
108+
globalParameters,
109+
hasDefaultStreams: true,
110+
streams: {}
111+
};
112+
}

packages/service-core-tests/src/tests/register-data-storage-tests.ts

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
import { ParameterLookup, RequestParameters } from '@powersync/service-sync-rules';
99
import { expect, test, describe, beforeEach } from 'vitest';
1010
import * as test_utils from '../test-utils/test-utils-index.js';
11+
import { SqlBucketDescriptor } from '@powersync/service-sync-rules/src/SqlBucketDescriptor.js';
1112

1213
export const TEST_TABLE = test_utils.makeTestTable('test', ['id']);
1314

@@ -404,19 +405,21 @@ bucket_definitions:
404405

405406
const parameters = new RequestParameters({ sub: 'u1' }, {});
406407

407-
const q1 = sync_rules.bucketDescriptors[0].parameterQueries[0];
408+
const q1 = (sync_rules.bucketSources[0] as SqlBucketDescriptor).parameterQueries[0];
408409

409410
const lookups = q1.getLookups(parameters);
410411
expect(lookups).toEqual([ParameterLookup.normalized('by_workspace', '1', ['u1'])]);
411412

412413
const parameter_sets = await bucketStorage.getParameterSets(checkpoint, lookups);
413414
expect(parameter_sets).toEqual([{ workspace_id: 'workspace1' }]);
414415

415-
const buckets = await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
416-
getParameterSets(lookups) {
417-
return bucketStorage.getParameterSets(checkpoint, lookups);
418-
}
419-
});
416+
const buckets = await sync_rules
417+
.getBucketParameterQuerier(test_utils.querierOptions(parameters))
418+
.queryDynamicBucketDescriptions({
419+
getParameterSets(lookups) {
420+
return bucketStorage.getParameterSets(checkpoint, lookups);
421+
}
422+
});
420423
expect(buckets).toEqual([{ bucket: 'by_workspace["workspace1"]', priority: 3 }]);
421424
});
422425

@@ -474,7 +477,7 @@ bucket_definitions:
474477

475478
const parameters = new RequestParameters({ sub: 'unknown' }, {});
476479

477-
const q1 = sync_rules.bucketDescriptors[0].parameterQueries[0];
480+
const q1 = (sync_rules.bucketSources[0] as SqlBucketDescriptor).parameterQueries[0];
478481

479482
const lookups = q1.getLookups(parameters);
480483
expect(lookups).toEqual([ParameterLookup.normalized('by_public_workspace', '1', [])]);
@@ -483,11 +486,13 @@ bucket_definitions:
483486
parameter_sets.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
484487
expect(parameter_sets).toEqual([{ workspace_id: 'workspace1' }, { workspace_id: 'workspace3' }]);
485488

486-
const buckets = await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
487-
getParameterSets(lookups) {
488-
return bucketStorage.getParameterSets(checkpoint, lookups);
489-
}
490-
});
489+
const buckets = await sync_rules
490+
.getBucketParameterQuerier(test_utils.querierOptions(parameters))
491+
.queryDynamicBucketDescriptions({
492+
getParameterSets(lookups) {
493+
return bucketStorage.getParameterSets(checkpoint, lookups);
494+
}
495+
});
491496
buckets.sort((a, b) => a.bucket.localeCompare(b.bucket));
492497
expect(buckets).toEqual([
493498
{ bucket: 'by_public_workspace["workspace1"]', priority: 3 },
@@ -564,15 +569,15 @@ bucket_definitions:
564569
const parameters = new RequestParameters({ sub: 'u1' }, {});
565570

566571
// Test intermediate values - could be moved to sync_rules.test.ts
567-
const q1 = sync_rules.bucketDescriptors[0].parameterQueries[0];
572+
const q1 = (sync_rules.bucketSources[0] as SqlBucketDescriptor).parameterQueries[0];
568573
const lookups1 = q1.getLookups(parameters);
569574
expect(lookups1).toEqual([ParameterLookup.normalized('by_workspace', '1', [])]);
570575

571576
const parameter_sets1 = await bucketStorage.getParameterSets(checkpoint, lookups1);
572577
parameter_sets1.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
573578
expect(parameter_sets1).toEqual([{ workspace_id: 'workspace1' }]);
574579

575-
const q2 = sync_rules.bucketDescriptors[0].parameterQueries[1];
580+
const q2 = (sync_rules.bucketSources[0] as SqlBucketDescriptor).parameterQueries[1];
576581
const lookups2 = q2.getLookups(parameters);
577582
expect(lookups2).toEqual([ParameterLookup.normalized('by_workspace', '2', ['u1'])]);
578583

@@ -582,7 +587,7 @@ bucket_definitions:
582587

583588
// Test final values - the important part
584589
const buckets = (
585-
await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
590+
await sync_rules.getBucketParameterQuerier(test_utils.querierOptions(parameters)).queryDynamicBucketDescriptions({
586591
getParameterSets(lookups) {
587592
return bucketStorage.getParameterSets(checkpoint, lookups);
588593
}

packages/service-core-tests/src/tests/register-sync-tests.ts

Lines changed: 13 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,7 @@ export function registerSyncTests(factory: storage.TestStorageFactory) {
8989
raw_data: true
9090
},
9191
tracker,
92-
syncParams: new RequestParameters({ sub: '' }, {}),
93-
token: { exp: Date.now() / 1000 + 10 } as any
92+
token: { sub: '', exp: Date.now() / 1000 + 10 } as any
9493
});
9594

9695
const lines = await consumeCheckpointLines(stream);
@@ -150,8 +149,7 @@ bucket_definitions:
150149
raw_data: true
151150
},
152151
tracker,
153-
syncParams: new RequestParameters({ sub: '' }, {}),
154-
token: { exp: Date.now() / 1000 + 10 } as any
152+
token: { sub: '', exp: Date.now() / 1000 + 10 } as any
155153
});
156154

157155
const lines = await consumeCheckpointLines(stream);
@@ -213,8 +211,7 @@ bucket_definitions:
213211
raw_data: true
214212
},
215213
tracker,
216-
syncParams: new RequestParameters({ sub: '' }, {}),
217-
token: { exp: Date.now() / 1000 + 10 } as any
214+
token: { sub: '', exp: Date.now() / 1000 + 10 } as any
218215
});
219216

220217
let sentCheckpoints = 0;
@@ -323,7 +320,6 @@ bucket_definitions:
323320
raw_data: true
324321
},
325322
tracker,
326-
syncParams: new RequestParameters({ sub: 'user_one' }, {}),
327323
token: { sub: 'user_one', exp: Date.now() / 1000 + 100000 } as any
328324
});
329325

@@ -464,8 +460,7 @@ bucket_definitions:
464460
raw_data: true
465461
},
466462
tracker,
467-
syncParams: new RequestParameters({ sub: '' }, {}),
468-
token: { exp: Date.now() / 1000 + 10 } as any
463+
token: { sub: '', exp: Date.now() / 1000 + 10 } as any
469464
});
470465

471466
let sentRows = 0;
@@ -580,8 +575,7 @@ bucket_definitions:
580575
raw_data: true
581576
},
582577
tracker,
583-
syncParams: new RequestParameters({ sub: '' }, {}),
584-
token: { exp: Date.now() / 1000 + 100000 } as any
578+
token: { sub: '', exp: Date.now() / 1000 + 100000 } as any
585579
});
586580

587581
const lines: any[] = [];
@@ -646,8 +640,7 @@ bucket_definitions:
646640
raw_data: false
647641
},
648642
tracker,
649-
syncParams: new RequestParameters({ sub: '' }, {}),
650-
token: { exp: Date.now() / 1000 + 10 } as any
643+
token: { sub: '', exp: Date.now() / 1000 + 10 } as any
651644
});
652645

653646
const lines = await consumeCheckpointLines(stream);
@@ -675,8 +668,7 @@ bucket_definitions:
675668
raw_data: true
676669
},
677670
tracker,
678-
syncParams: new RequestParameters({ sub: '' }, {}),
679-
token: { exp: 0 } as any
671+
token: { sub: '', exp: 0 } as any
680672
});
681673

682674
const lines = await consumeCheckpointLines(stream);
@@ -706,8 +698,7 @@ bucket_definitions:
706698
raw_data: true
707699
},
708700
tracker,
709-
syncParams: new RequestParameters({ sub: '' }, {}),
710-
token: { exp: Date.now() / 1000 + 10 } as any
701+
token: { sub: '', exp: Date.now() / 1000 + 10 } as any
711702
});
712703
const iter = stream[Symbol.asyncIterator]();
713704
context.onTestFinished(() => {
@@ -780,8 +771,7 @@ bucket_definitions:
780771
raw_data: true
781772
},
782773
tracker,
783-
syncParams: new RequestParameters({ sub: 'user1' }, {}),
784-
token: { exp: Date.now() / 1000 + 100 } as any
774+
token: { sub: 'user1', exp: Date.now() / 1000 + 100 } as any
785775
});
786776
const iter = stream[Symbol.asyncIterator]();
787777
context.onTestFinished(() => {
@@ -856,8 +846,7 @@ bucket_definitions:
856846
raw_data: true
857847
},
858848
tracker,
859-
syncParams: new RequestParameters({ sub: 'user1' }, {}),
860-
token: { exp: Date.now() / 1000 + 100 } as any
849+
token: { sub: 'user1', exp: Date.now() / 1000 + 100 } as any
861850
});
862851
const iter = stream[Symbol.asyncIterator]();
863852
context.onTestFinished(() => {
@@ -923,8 +912,7 @@ bucket_definitions:
923912
raw_data: true
924913
},
925914
tracker,
926-
syncParams: new RequestParameters({ sub: 'user1' }, {}),
927-
token: { exp: Date.now() / 1000 + 100 } as any
915+
token: { sub: 'user1', exp: Date.now() / 1000 + 100 } as any
928916
});
929917
const iter = stream[Symbol.asyncIterator]();
930918
context.onTestFinished(() => {
@@ -991,8 +979,7 @@ bucket_definitions:
991979
raw_data: true
992980
},
993981
tracker,
994-
syncParams: new RequestParameters({ sub: '' }, {}),
995-
token: { exp: exp } as any
982+
token: { sub: '', exp: exp } as any
996983
});
997984
const iter = stream[Symbol.asyncIterator]();
998985
context.onTestFinished(() => {
@@ -1054,8 +1041,7 @@ bucket_definitions:
10541041
raw_data: true
10551042
},
10561043
tracker,
1057-
syncParams: new RequestParameters({ sub: '' }, {}),
1058-
token: { exp: Date.now() / 1000 + 10 } as any
1044+
token: { sub: '', exp: Date.now() / 1000 + 10 } as any
10591045
});
10601046

10611047
const iter = stream[Symbol.asyncIterator]();
@@ -1180,7 +1166,6 @@ bucket_definitions:
11801166
raw_data: true
11811167
},
11821168
tracker,
1183-
syncParams: new RequestParameters({ sub: 'test' }, {}),
11841169
token: { sub: 'test', exp: Date.now() / 1000 + 10 } as any
11851170
};
11861171
const stream1 = sync.streamResponse(params);

0 commit comments

Comments
 (0)