@@ -69,7 +69,7 @@ describe('EppoPrecomputedClient E2E test', () => {
69
69
70
70
beforeAll ( ( ) => {
71
71
storage . setEntries ( { [ precomputedFlagKey ] : mockPrecomputedFlag } ) ;
72
- client = new EppoPrecomputedClient ( storage , false ) ;
72
+ client = new EppoPrecomputedClient ( { precomputedFlagStore : storage , isObfuscated : false } ) ;
73
73
} ) ;
74
74
75
75
afterAll ( ( ) => {
@@ -89,7 +89,10 @@ describe('EppoPrecomputedClient E2E test', () => {
89
89
it ( 'Invokes logger for queued events' , ( ) => {
90
90
const mockLogger = td . object < IAssignmentLogger > ( ) ;
91
91
92
- const client = new EppoPrecomputedClient ( storage , false ) ;
92
+ const client = new EppoPrecomputedClient ( {
93
+ precomputedFlagStore : storage ,
94
+ isObfuscated : false ,
95
+ } ) ;
93
96
client . getStringAssignment ( precomputedFlagKey , 'default-value' ) ;
94
97
client . setAssignmentLogger ( mockLogger ) ;
95
98
@@ -101,7 +104,10 @@ describe('EppoPrecomputedClient E2E test', () => {
101
104
it ( 'Does not log same queued event twice' , ( ) => {
102
105
const mockLogger = td . object < IAssignmentLogger > ( ) ;
103
106
104
- const client = new EppoPrecomputedClient ( storage , false ) ;
107
+ const client = new EppoPrecomputedClient ( {
108
+ precomputedFlagStore : storage ,
109
+ isObfuscated : false ,
110
+ } ) ;
105
111
106
112
client . getStringAssignment ( precomputedFlagKey , 'default-value' ) ;
107
113
client . setAssignmentLogger ( mockLogger ) ;
@@ -112,7 +118,10 @@ describe('EppoPrecomputedClient E2E test', () => {
112
118
113
119
it ( 'Does not invoke logger for events that exceed queue size' , ( ) => {
114
120
const mockLogger = td . object < IAssignmentLogger > ( ) ;
115
- const client = new EppoPrecomputedClient ( storage , false ) ;
121
+ const client = new EppoPrecomputedClient ( {
122
+ precomputedFlagStore : storage ,
123
+ isObfuscated : false ,
124
+ } ) ;
116
125
117
126
for ( let i = 0 ; i < MAX_EVENT_QUEUE_SIZE + 100 ; i ++ ) {
118
127
client . getStringAssignment ( precomputedFlagKey , 'default-value' ) ;
@@ -123,23 +132,32 @@ describe('EppoPrecomputedClient E2E test', () => {
123
132
} ) ;
124
133
125
134
it ( 'returns null if getStringAssignment was called for the subject before any precomputed flags were loaded' , ( ) => {
126
- const localClient = new EppoPrecomputedClient ( new MemoryOnlyConfigurationStore ( ) , false ) ;
135
+ const localClient = new EppoPrecomputedClient ( {
136
+ precomputedFlagStore : new MemoryOnlyConfigurationStore ( ) ,
137
+ isObfuscated : false ,
138
+ } ) ;
127
139
expect ( localClient . getStringAssignment ( precomputedFlagKey , 'hello world' ) ) . toEqual (
128
140
'hello world' ,
129
141
) ;
130
142
expect ( localClient . isInitialized ( ) ) . toBe ( false ) ;
131
143
} ) ;
132
144
133
145
it ( 'returns default value when key does not exist' , async ( ) => {
134
- const client = new EppoPrecomputedClient ( storage , false ) ;
146
+ const client = new EppoPrecomputedClient ( {
147
+ precomputedFlagStore : storage ,
148
+ isObfuscated : false ,
149
+ } ) ;
135
150
const nonExistentFlag = 'non-existent-flag' ;
136
151
expect ( client . getStringAssignment ( nonExistentFlag , 'default' ) ) . toBe ( 'default' ) ;
137
152
} ) ;
138
153
139
154
it ( 'logs variation assignment with correct metadata' , ( ) => {
140
155
const mockLogger = td . object < IAssignmentLogger > ( ) ;
141
156
storage . setEntries ( { [ precomputedFlagKey ] : mockPrecomputedFlag } ) ;
142
- const client = new EppoPrecomputedClient ( storage , false ) ;
157
+ const client = new EppoPrecomputedClient ( {
158
+ precomputedFlagStore : storage ,
159
+ isObfuscated : false ,
160
+ } ) ;
143
161
client . setAssignmentLogger ( mockLogger ) ;
144
162
145
163
client . getStringAssignment ( precomputedFlagKey , 'default' ) ;
@@ -160,7 +178,10 @@ describe('EppoPrecomputedClient E2E test', () => {
160
178
td . when ( mockLogger . logAssignment ( td . matchers . anything ( ) ) ) . thenThrow ( new Error ( 'logging error' ) ) ;
161
179
162
180
storage . setEntries ( { [ precomputedFlagKey ] : mockPrecomputedFlag } ) ;
163
- const client = new EppoPrecomputedClient ( storage , false ) ;
181
+ const client = new EppoPrecomputedClient ( {
182
+ precomputedFlagStore : storage ,
183
+ isObfuscated : false ,
184
+ } ) ;
164
185
client . setAssignmentLogger ( mockLogger ) ;
165
186
166
187
const assignment = client . getStringAssignment ( precomputedFlagKey , 'default' ) ;
@@ -175,7 +196,10 @@ describe('EppoPrecomputedClient E2E test', () => {
175
196
beforeEach ( ( ) => {
176
197
mockLogger = td . object < IAssignmentLogger > ( ) ;
177
198
storage . setEntries ( { [ precomputedFlagKey ] : mockPrecomputedFlag } ) ;
178
- client = new EppoPrecomputedClient ( storage , false ) ;
199
+ client = new EppoPrecomputedClient ( {
200
+ precomputedFlagStore : storage ,
201
+ isObfuscated : false ,
202
+ } ) ;
179
203
client . setAssignmentLogger ( mockLogger ) ;
180
204
} ) ;
181
205
@@ -394,7 +418,10 @@ describe('EppoPrecomputedClient E2E test', () => {
394
418
} ) ;
395
419
396
420
it ( 'Fetches initial configuration with parameters in constructor' , async ( ) => {
397
- client = new EppoPrecomputedClient ( precomputedFlagStore , true ) ;
421
+ client = new EppoPrecomputedClient ( {
422
+ precomputedFlagStore : precomputedFlagStore ,
423
+ isObfuscated : true ,
424
+ } ) ;
398
425
client . setSubjectAndPrecomputedFlagsRequestParameters ( requestParameters ) ;
399
426
// no configuration loaded
400
427
let variation = client . getStringAssignment ( precomputedFlagKey , 'default' ) ;
@@ -406,7 +433,10 @@ describe('EppoPrecomputedClient E2E test', () => {
406
433
} ) ;
407
434
408
435
it ( 'Fetches initial configuration with parameters provided later' , async ( ) => {
409
- client = new EppoPrecomputedClient ( precomputedFlagStore , true ) ;
436
+ client = new EppoPrecomputedClient ( {
437
+ precomputedFlagStore : precomputedFlagStore ,
438
+ isObfuscated : true ,
439
+ } ) ;
410
440
client . setSubjectAndPrecomputedFlagsRequestParameters ( requestParameters ) ;
411
441
// no configuration loaded
412
442
let variation = client . getStringAssignment ( precomputedFlagKey , 'default' ) ;
@@ -427,7 +457,10 @@ describe('EppoPrecomputedClient E2E test', () => {
427
457
}
428
458
}
429
459
430
- client = new EppoPrecomputedClient ( new MockStore ( ) , true ) ;
460
+ client = new EppoPrecomputedClient ( {
461
+ precomputedFlagStore : new MockStore ( ) ,
462
+ isObfuscated : true ,
463
+ } ) ;
431
464
client . setSubjectAndPrecomputedFlagsRequestParameters ( {
432
465
...requestParameters ,
433
466
pollAfterSuccessfulInitialization : true ,
@@ -457,7 +490,10 @@ describe('EppoPrecomputedClient E2E test', () => {
457
490
}
458
491
}
459
492
460
- client = new EppoPrecomputedClient ( new MockStore ( ) , false ) ;
493
+ client = new EppoPrecomputedClient ( {
494
+ precomputedFlagStore : new MockStore ( ) ,
495
+ isObfuscated : false ,
496
+ } ) ;
461
497
client . setSubjectAndPrecomputedFlagsRequestParameters ( requestParameters ) ;
462
498
// no configuration loaded
463
499
let variation = client . getStringAssignment ( precomputedFlagKey , 'default' ) ;
@@ -472,7 +508,10 @@ describe('EppoPrecomputedClient E2E test', () => {
472
508
let client : EppoPrecomputedClient ;
473
509
474
510
beforeEach ( async ( ) => {
475
- client = new EppoPrecomputedClient ( storage , true ) ;
511
+ client = new EppoPrecomputedClient ( {
512
+ precomputedFlagStore : storage ,
513
+ isObfuscated : true ,
514
+ } ) ;
476
515
client . setSubjectAndPrecomputedFlagsRequestParameters ( requestParameters ) ;
477
516
await client . fetchPrecomputedFlags ( ) ;
478
517
} ) ;
@@ -544,7 +583,10 @@ describe('EppoPrecomputedClient E2E test', () => {
544
583
...requestParameters ,
545
584
pollAfterSuccessfulInitialization,
546
585
} ;
547
- client = new EppoPrecomputedClient ( precomputedFlagStore , true ) ;
586
+ client = new EppoPrecomputedClient ( {
587
+ precomputedFlagStore : precomputedFlagStore ,
588
+ isObfuscated : true ,
589
+ } ) ;
548
590
client . setSubjectAndPrecomputedFlagsRequestParameters ( requestParameters ) ;
549
591
// no configuration loaded
550
592
let variation = client . getStringAssignment ( precomputedFlagKey , 'default' ) ;
@@ -609,7 +651,10 @@ describe('EppoPrecomputedClient E2E test', () => {
609
651
throwOnFailedInitialization,
610
652
pollAfterFailedInitialization,
611
653
} ;
612
- client = new EppoPrecomputedClient ( precomputedFlagStore , true ) ;
654
+ client = new EppoPrecomputedClient ( {
655
+ precomputedFlagStore : precomputedFlagStore ,
656
+ isObfuscated : true ,
657
+ } ) ;
613
658
client . setSubjectAndPrecomputedFlagsRequestParameters ( requestParameters ) ;
614
659
// no configuration loaded
615
660
expect ( client . getStringAssignment ( precomputedFlagKey , 'default' ) ) . toBe ( 'default' ) ;
@@ -650,7 +695,10 @@ describe('EppoPrecomputedClient E2E test', () => {
650
695
} ,
651
696
} ) ;
652
697
653
- const client = new EppoPrecomputedClient ( storage , true ) ;
698
+ const client = new EppoPrecomputedClient ( {
699
+ precomputedFlagStore : storage ,
700
+ isObfuscated : true ,
701
+ } ) ;
654
702
client . setSubjectSaltAndPrecomputedFlagStore (
655
703
'test-subject' ,
656
704
{ attr1 : 'value1' } ,
@@ -669,7 +717,10 @@ describe('EppoPrecomputedClient E2E test', () => {
669
717
it ( 'logs variation assignment with format from precomputed flags response' , ( ) => {
670
718
const mockLogger = td . object < IAssignmentLogger > ( ) ;
671
719
storage . setEntries ( { [ precomputedFlagKey ] : mockPrecomputedFlag } ) ;
672
- const client = new EppoPrecomputedClient ( storage , false ) ;
720
+ const client = new EppoPrecomputedClient ( {
721
+ precomputedFlagStore : storage ,
722
+ isObfuscated : false ,
723
+ } ) ;
673
724
client . setAssignmentLogger ( mockLogger ) ;
674
725
675
726
client . getStringAssignment ( precomputedFlagKey , 'default' ) ;
@@ -688,7 +739,10 @@ describe('EppoPrecomputedClient E2E test', () => {
688
739
beforeEach ( ( ) => {
689
740
store = new MemoryOnlyConfigurationStore < PrecomputedFlag > ( ) ;
690
741
mockLogger = td . object < IAssignmentLogger > ( ) ;
691
- client = new EppoPrecomputedClient ( store , false ) ;
742
+ client = new EppoPrecomputedClient ( {
743
+ precomputedFlagStore : store ,
744
+ isObfuscated : false ,
745
+ } ) ;
692
746
client . setAssignmentLogger ( mockLogger ) ;
693
747
} ) ;
694
748
0 commit comments