Skip to content

Commit 308477a

Browse files
committed
Fix tests.
1 parent 2b7787d commit 308477a

File tree

1 file changed

+37
-45
lines changed

1 file changed

+37
-45
lines changed

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

Lines changed: 37 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
import { storage } from '@powersync/service-core';
2-
import { ParameterLookup, RequestParameters } from '@powersync/service-sync-rules';
2+
import {
3+
mergeBucketParameterQueriers,
4+
ParameterLookup,
5+
PendingQueriers,
6+
RequestParameters
7+
} from '@powersync/service-sync-rules';
38
import { SqlBucketDescriptor } from '@powersync/service-sync-rules/src/SqlBucketDescriptor.js';
49
import { expect, test } from 'vitest';
510
import * as test_utils from '../test-utils/test-utils-index.js';
@@ -314,7 +319,7 @@ bucket_definitions:
314319
data: []
315320
`
316321
});
317-
const sync_rules = syncRules.parsed(test_utils.PARSE_OPTIONS).sync_rules;
322+
const sync_rules = syncRules.parsed(test_utils.PARSE_OPTIONS).hydratedSyncRules();
318323
const bucketStorage = factory.getInstance(syncRules);
319324

320325
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
@@ -333,22 +338,19 @@ bucket_definitions:
333338

334339
const parameters = new RequestParameters({ sub: 'u1' }, {});
335340

336-
const q1 = (sync_rules.bucketParameterSources[0] as SqlBucketDescriptor).parameterQueries[0];
341+
const querier = sync_rules.getBucketParameterQuerier(test_utils.querierOptions(parameters)).querier;
337342

338-
const lookups = q1.getLookups(parameters);
343+
const lookups = querier.parameterQueryLookups;
339344
expect(lookups).toEqual([ParameterLookup.normalized('by_workspace', '1', ['u1'])]);
340345

341346
const parameter_sets = await checkpoint.getParameterSets(lookups);
342347
expect(parameter_sets).toEqual([{ workspace_id: 'workspace1' }]);
343348

344-
const buckets = await sync_rules
345-
.hydrate()
346-
.getBucketParameterQuerier(test_utils.querierOptions(parameters))
347-
.querier.queryDynamicBucketDescriptions({
348-
getParameterSets(lookups) {
349-
return checkpoint.getParameterSets(lookups);
350-
}
351-
});
349+
const buckets = await querier.queryDynamicBucketDescriptions({
350+
getParameterSets(lookups) {
351+
return checkpoint.getParameterSets(lookups);
352+
}
353+
});
352354
expect(buckets).toEqual([
353355
{ bucket: 'by_workspace["workspace1"]', priority: 3, definition: 'by_workspace', inclusion_reasons: ['default'] }
354356
]);
@@ -368,7 +370,7 @@ bucket_definitions:
368370
data: []
369371
`
370372
});
371-
const sync_rules = syncRules.parsed(test_utils.PARSE_OPTIONS).sync_rules;
373+
const sync_rules = syncRules.parsed(test_utils.PARSE_OPTIONS).hydratedSyncRules();
372374
const bucketStorage = factory.getInstance(syncRules);
373375

374376
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
@@ -409,23 +411,20 @@ bucket_definitions:
409411

410412
const parameters = new RequestParameters({ sub: 'unknown' }, {});
411413

412-
const q1 = (sync_rules.bucketParameterSources[0] as SqlBucketDescriptor).parameterQueries[0];
414+
const querier = sync_rules.getBucketParameterQuerier(test_utils.querierOptions(parameters)).querier;
413415

414-
const lookups = q1.getLookups(parameters);
416+
const lookups = querier.parameterQueryLookups;
415417
expect(lookups).toEqual([ParameterLookup.normalized('by_public_workspace', '1', [])]);
416418

417419
const parameter_sets = await checkpoint.getParameterSets(lookups);
418420
parameter_sets.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
419421
expect(parameter_sets).toEqual([{ workspace_id: 'workspace1' }, { workspace_id: 'workspace3' }]);
420422

421-
const buckets = await sync_rules
422-
.hydrate()
423-
.getBucketParameterQuerier(test_utils.querierOptions(parameters))
424-
.querier.queryDynamicBucketDescriptions({
425-
getParameterSets(lookups) {
426-
return checkpoint.getParameterSets(lookups);
427-
}
428-
});
423+
const buckets = await querier.queryDynamicBucketDescriptions({
424+
getParameterSets(lookups) {
425+
return checkpoint.getParameterSets(lookups);
426+
}
427+
});
429428
buckets.sort((a, b) => a.bucket.localeCompare(b.bucket));
430429
expect(buckets).toEqual([
431430
{
@@ -459,7 +458,7 @@ bucket_definitions:
459458
data: []
460459
`
461460
});
462-
const sync_rules = syncRules.parsed(test_utils.PARSE_OPTIONS).sync_rules;
461+
const sync_rules = syncRules.parsed(test_utils.PARSE_OPTIONS).hydratedSyncRules();
463462
const bucketStorage = factory.getInstance(syncRules);
464463

465464
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
@@ -513,32 +512,25 @@ bucket_definitions:
513512
const parameters = new RequestParameters({ sub: 'u1' }, {});
514513

515514
// Test intermediate values - could be moved to sync_rules.test.ts
516-
const q1 = (sync_rules.bucketParameterSources[0] as SqlBucketDescriptor).parameterQueries[0];
517-
const lookups1 = q1.getLookups(parameters);
518-
expect(lookups1).toEqual([ParameterLookup.normalized('by_workspace', '1', [])]);
519-
520-
const parameter_sets1 = await checkpoint.getParameterSets(lookups1);
521-
parameter_sets1.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
522-
expect(parameter_sets1).toEqual([{ workspace_id: 'workspace1' }]);
515+
const querier = sync_rules.getBucketParameterQuerier(test_utils.querierOptions(parameters)).querier;
523516

524-
const q2 = (sync_rules.bucketParameterSources[0] as SqlBucketDescriptor).parameterQueries[1];
525-
const lookups2 = q2.getLookups(parameters);
526-
expect(lookups2).toEqual([ParameterLookup.normalized('by_workspace', '2', ['u1'])]);
517+
const lookups = querier.parameterQueryLookups;
518+
expect(lookups).toEqual([
519+
ParameterLookup.normalized('by_workspace', '1', []),
520+
ParameterLookup.normalized('by_workspace', '2', ['u1'])
521+
]);
527522

528-
const parameter_sets2 = await checkpoint.getParameterSets(lookups2);
529-
parameter_sets2.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
530-
expect(parameter_sets2).toEqual([{ workspace_id: 'workspace3' }]);
523+
const parameter_sets = await checkpoint.getParameterSets(lookups);
524+
parameter_sets.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
525+
expect(parameter_sets).toEqual([{ workspace_id: 'workspace1' }, { workspace_id: 'workspace3' }]);
531526

532527
// Test final values - the important part
533528
const buckets = (
534-
await sync_rules
535-
.hydrate()
536-
.getBucketParameterQuerier(test_utils.querierOptions(parameters))
537-
.querier.queryDynamicBucketDescriptions({
538-
getParameterSets(lookups) {
539-
return checkpoint.getParameterSets(lookups);
540-
}
541-
})
529+
await querier.queryDynamicBucketDescriptions({
530+
getParameterSets(lookups) {
531+
return checkpoint.getParameterSets(lookups);
532+
}
533+
})
542534
).map((e) => e.bucket);
543535
buckets.sort();
544536
expect(buckets).toEqual(['by_workspace["workspace1"]', 'by_workspace["workspace3"]']);

0 commit comments

Comments
 (0)