@@ -3,6 +3,7 @@ import { ParameterLookup, RequestParameters } from '@powersync/service-sync-rule
33import { expect , test } from 'vitest' ;
44import * as test_utils from '../test-utils/test-utils-index.js' ;
55import { TEST_TABLE } from './util.js' ;
6+ import { ParameterLookupScope } from '@powersync/service-sync-rules/src/HydrationState.js' ;
67
78/**
89 * @example
@@ -15,6 +16,8 @@ import { TEST_TABLE } from './util.js';
1516 * ```
1617 */
1718export function registerDataStorageParameterTests ( generateStorageFactory : storage . TestStorageFactory ) {
19+ const MYBUCKET_1 : ParameterLookupScope = { lookupName : 'mybucket' , queryId : '1' } ;
20+
1821 test ( 'save and load parameters' , async ( ) => {
1922 await using factory = await generateStorageFactory ( ) ;
2023 const syncRules = await factory . updateSyncRules ( {
@@ -57,7 +60,7 @@ bucket_definitions:
5760 } ) ;
5861
5962 const checkpoint = await bucketStorage . getCheckpoint ( ) ;
60- const parameters = await checkpoint . getParameterSets ( [ ParameterLookup . normalized ( 'mybucket' , '1' , [ 'user1' ] ) ] ) ;
63+ const parameters = await checkpoint . getParameterSets ( [ ParameterLookup . normalized ( MYBUCKET_1 , [ 'user1' ] ) ] ) ;
6164 expect ( parameters ) . toEqual ( [
6265 {
6366 group_id : 'group1a'
@@ -105,15 +108,15 @@ bucket_definitions:
105108 } ) ;
106109 const checkpoint2 = await bucketStorage . getCheckpoint ( ) ;
107110
108- const parameters = await checkpoint2 . getParameterSets ( [ ParameterLookup . normalized ( 'mybucket' , '1' , [ 'user1' ] ) ] ) ;
111+ const parameters = await checkpoint2 . getParameterSets ( [ ParameterLookup . normalized ( MYBUCKET_1 , [ 'user1' ] ) ] ) ;
109112 expect ( parameters ) . toEqual ( [
110113 {
111114 group_id : 'group2'
112115 }
113116 ] ) ;
114117
115118 // Use the checkpoint to get older data if relevant
116- const parameters2 = await checkpoint1 . getParameterSets ( [ ParameterLookup . normalized ( 'mybucket' , '1' , [ 'user1' ] ) ] ) ;
119+ const parameters2 = await checkpoint1 . getParameterSets ( [ ParameterLookup . normalized ( MYBUCKET_1 , [ 'user1' ] ) ] ) ;
117120 expect ( parameters2 ) . toEqual ( [
118121 {
119122 group_id : 'group1'
@@ -182,8 +185,8 @@ bucket_definitions:
182185 // association of `list1`::`todo2`
183186 const checkpoint = await bucketStorage . getCheckpoint ( ) ;
184187 const parameters = await checkpoint . getParameterSets ( [
185- ParameterLookup . normalized ( 'mybucket' , '1' , [ 'list1' ] ) ,
186- ParameterLookup . normalized ( 'mybucket' , '1' , [ 'list2' ] )
188+ ParameterLookup . normalized ( MYBUCKET_1 , [ 'list1' ] ) ,
189+ ParameterLookup . normalized ( MYBUCKET_1 , [ 'list2' ] )
187190 ] ) ;
188191
189192 expect ( parameters . sort ( ( a , b ) => ( a . todo_id as string ) . localeCompare ( b . todo_id as string ) ) ) . toEqual ( [
@@ -230,17 +233,11 @@ bucket_definitions:
230233
231234 const checkpoint = await bucketStorage . getCheckpoint ( ) ;
232235
233- const parameters1 = await checkpoint . getParameterSets ( [
234- ParameterLookup . normalized ( 'mybucket' , '1' , [ 314n , 314 , 3.14 ] )
235- ] ) ;
236+ const parameters1 = await checkpoint . getParameterSets ( [ ParameterLookup . normalized ( MYBUCKET_1 , [ 314n , 314 , 3.14 ] ) ] ) ;
236237 expect ( parameters1 ) . toEqual ( [ TEST_PARAMS ] ) ;
237- const parameters2 = await checkpoint . getParameterSets ( [
238- ParameterLookup . normalized ( 'mybucket' , '1' , [ 314 , 314n , 3.14 ] )
239- ] ) ;
238+ const parameters2 = await checkpoint . getParameterSets ( [ ParameterLookup . normalized ( MYBUCKET_1 , [ 314 , 314n , 3.14 ] ) ] ) ;
240239 expect ( parameters2 ) . toEqual ( [ TEST_PARAMS ] ) ;
241- const parameters3 = await checkpoint . getParameterSets ( [
242- ParameterLookup . normalized ( 'mybucket' , '1' , [ 314n , 314 , 3 ] )
243- ] ) ;
240+ const parameters3 = await checkpoint . getParameterSets ( [ ParameterLookup . normalized ( MYBUCKET_1 , [ 314n , 314 , 3 ] ) ] ) ;
244241 expect ( parameters3 ) . toEqual ( [ ] ) ;
245242 } ) ;
246243
@@ -294,7 +291,7 @@ bucket_definitions:
294291 const checkpoint = await bucketStorage . getCheckpoint ( ) ;
295292
296293 const parameters1 = await checkpoint . getParameterSets ( [
297- ParameterLookup . normalized ( 'mybucket' , '1' , [ 1152921504606846976n ] )
294+ ParameterLookup . normalized ( MYBUCKET_1 , [ 1152921504606846976n ] )
298295 ] ) ;
299296 expect ( parameters1 ) . toEqual ( [ TEST_PARAMS ] ) ;
300297 } ) ;
@@ -335,7 +332,7 @@ bucket_definitions:
335332 const querier = sync_rules . getBucketParameterQuerier ( test_utils . querierOptions ( parameters ) ) . querier ;
336333
337334 const lookups = querier . parameterQueryLookups ;
338- expect ( lookups ) . toEqual ( [ ParameterLookup . normalized ( 'by_workspace' , '1' , [ 'u1' ] ) ] ) ;
335+ expect ( lookups ) . toEqual ( [ ParameterLookup . normalized ( { lookupName : 'by_workspace' , queryId : '1' } , [ 'u1' ] ) ] ) ;
339336
340337 const parameter_sets = await checkpoint . getParameterSets ( lookups ) ;
341338 expect ( parameter_sets ) . toEqual ( [ { workspace_id : 'workspace1' } ] ) ;
@@ -408,7 +405,7 @@ bucket_definitions:
408405 const querier = sync_rules . getBucketParameterQuerier ( test_utils . querierOptions ( parameters ) ) . querier ;
409406
410407 const lookups = querier . parameterQueryLookups ;
411- expect ( lookups ) . toEqual ( [ ParameterLookup . normalized ( 'by_public_workspace' , '1' , [ ] ) ] ) ;
408+ expect ( lookups ) . toEqual ( [ ParameterLookup . normalized ( { lookupName : 'by_public_workspace' , queryId : '1' } , [ ] ) ] ) ;
412409
413410 const parameter_sets = await checkpoint . getParameterSets ( lookups ) ;
414411 parameter_sets . sort ( ( a , b ) => JSON . stringify ( a ) . localeCompare ( JSON . stringify ( b ) ) ) ;
@@ -510,8 +507,8 @@ bucket_definitions:
510507
511508 const lookups = querier . parameterQueryLookups ;
512509 expect ( lookups ) . toEqual ( [
513- ParameterLookup . normalized ( 'by_workspace' , '1' , [ ] ) ,
514- ParameterLookup . normalized ( 'by_workspace' , '2' , [ 'u1' ] )
510+ ParameterLookup . normalized ( { lookupName : 'by_workspace' , queryId : '1' } , [ ] ) ,
511+ ParameterLookup . normalized ( { lookupName : 'by_workspace' , queryId : '2' } , [ 'u1' ] )
515512 ] ) ;
516513
517514 const parameter_sets = await checkpoint . getParameterSets ( lookups ) ;
@@ -561,7 +558,7 @@ bucket_definitions:
561558
562559 const checkpoint = await bucketStorage . getCheckpoint ( ) ;
563560
564- const parameters = await checkpoint . getParameterSets ( [ ParameterLookup . normalized ( 'mybucket' , '1' , [ 'user1' ] ) ] ) ;
561+ const parameters = await checkpoint . getParameterSets ( [ ParameterLookup . normalized ( MYBUCKET_1 , [ 'user1' ] ) ] ) ;
565562 expect ( parameters ) . toEqual ( [ ] ) ;
566563 } ) ;
567564
0 commit comments