Skip to content

Commit a43c76b

Browse files
committed
Fix more tsts
1 parent 1dbccfa commit a43c76b

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

@@ -411,19 +412,21 @@ bucket_definitions:
411412

412413
const parameters = new RequestParameters({ sub: 'u1' }, {});
413414

414-
const q1 = sync_rules.bucketDescriptors[0].parameterQueries[0];
415+
const q1 = (sync_rules.bucketSources[0] as SqlBucketDescriptor).parameterQueries[0];
415416

416417
const lookups = q1.getLookups(parameters);
417418
expect(lookups).toEqual([ParameterLookup.normalized('by_workspace', '1', ['u1'])]);
418419

419420
const parameter_sets = await checkpoint.getParameterSets(lookups);
420421
expect(parameter_sets).toEqual([{ workspace_id: 'workspace1' }]);
421422

422-
const buckets = await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
423-
getParameterSets(lookups) {
424-
return checkpoint.getParameterSets(lookups);
425-
}
426-
});
423+
const buckets = await sync_rules
424+
.getBucketParameterQuerier(test_utils.querierOptions(parameters))
425+
.queryDynamicBucketDescriptions({
426+
getParameterSets(lookups) {
427+
return bucketStorage.getParameterSets(lookups);
428+
}
429+
});
427430
expect(buckets).toEqual([{ bucket: 'by_workspace["workspace1"]', priority: 3 }]);
428431
});
429432

@@ -482,7 +485,7 @@ bucket_definitions:
482485

483486
const parameters = new RequestParameters({ sub: 'unknown' }, {});
484487

485-
const q1 = sync_rules.bucketDescriptors[0].parameterQueries[0];
488+
const q1 = (sync_rules.bucketSources[0] as SqlBucketDescriptor).parameterQueries[0];
486489

487490
const lookups = q1.getLookups(parameters);
488491
expect(lookups).toEqual([ParameterLookup.normalized('by_public_workspace', '1', [])]);
@@ -491,11 +494,13 @@ bucket_definitions:
491494
parameter_sets.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
492495
expect(parameter_sets).toEqual([{ workspace_id: 'workspace1' }, { workspace_id: 'workspace3' }]);
493496

494-
const buckets = await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
495-
getParameterSets(lookups) {
496-
return checkpoint.getParameterSets(lookups);
497-
}
498-
});
497+
const buckets = await sync_rules
498+
.getBucketParameterQuerier(test_utils.querierOptions(parameters))
499+
.queryDynamicBucketDescriptions({
500+
getParameterSets(lookups) {
501+
return bucketStorage.getParameterSets(lookups);
502+
}
503+
});
499504
buckets.sort((a, b) => a.bucket.localeCompare(b.bucket));
500505
expect(buckets).toEqual([
501506
{ bucket: 'by_public_workspace["workspace1"]', priority: 3 },
@@ -573,15 +578,15 @@ bucket_definitions:
573578
const parameters = new RequestParameters({ sub: 'u1' }, {});
574579

575580
// Test intermediate values - could be moved to sync_rules.test.ts
576-
const q1 = sync_rules.bucketDescriptors[0].parameterQueries[0];
581+
const q1 = (sync_rules.bucketSources[0] as SqlBucketDescriptor).parameterQueries[0];
577582
const lookups1 = q1.getLookups(parameters);
578583
expect(lookups1).toEqual([ParameterLookup.normalized('by_workspace', '1', [])]);
579584

580585
const parameter_sets1 = await checkpoint.getParameterSets(lookups1);
581586
parameter_sets1.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
582587
expect(parameter_sets1).toEqual([{ workspace_id: 'workspace1' }]);
583588

584-
const q2 = sync_rules.bucketDescriptors[0].parameterQueries[1];
589+
const q2 = (sync_rules.bucketSources[0] as SqlBucketDescriptor).parameterQueries[1];
585590
const lookups2 = q2.getLookups(parameters);
586591
expect(lookups2).toEqual([ParameterLookup.normalized('by_workspace', '2', ['u1'])]);
587592

@@ -591,7 +596,7 @@ bucket_definitions:
591596

592597
// Test final values - the important part
593598
const buckets = (
594-
await sync_rules.getBucketParameterQuerier(parameters).queryDynamicBucketDescriptions({
599+
await sync_rules.getBucketParameterQuerier(test_utils.querierOptions(parameters)).queryDynamicBucketDescriptions({
595600
getParameterSets(lookups) {
596601
return checkpoint.getParameterSets(lookups);
597602
}

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)