@@ -45,6 +45,11 @@ describe('EppoClient E2E test', () => {
45
45
} ) as jest . Mock ;
46
46
const storage = new MemoryOnlyConfigurationStore < Flag | ObfuscatedFlag > ( ) ;
47
47
48
+ function setUnobfuscatedFlagEntries ( entries : Record < string , Flag | ObfuscatedFlag > ) : Promise < boolean > {
49
+ storage . setFormat ( FormatEnum . SERVER ) ;
50
+ return storage . setEntries ( entries ) ;
51
+ }
52
+
48
53
beforeAll ( async ( ) => {
49
54
await initConfiguration ( storage ) ;
50
55
} ) ;
@@ -88,7 +93,7 @@ describe('EppoClient E2E test', () => {
88
93
let client : EppoClient ;
89
94
90
95
beforeAll ( ( ) => {
91
- storage . setEntries ( { [ flagKey ] : mockFlag } ) ;
96
+ setUnobfuscatedFlagEntries ( { [ flagKey ] : mockFlag } ) ;
92
97
client = new EppoClient ( { flagConfigurationStore : storage } ) ;
93
98
94
99
td . replace ( EppoClient . prototype , 'getAssignmentDetail' , function ( ) {
@@ -144,7 +149,7 @@ describe('EppoClient E2E test', () => {
144
149
145
150
describe ( 'setLogger' , ( ) => {
146
151
beforeAll ( ( ) => {
147
- storage . setEntries ( { [ flagKey ] : mockFlag } ) ;
152
+ setUnobfuscatedFlagEntries ( { [ flagKey ] : mockFlag } ) ;
148
153
} ) ;
149
154
150
155
it ( 'Invokes logger for queued events' , ( ) => {
@@ -192,7 +197,7 @@ describe('EppoClient E2E test', () => {
192
197
193
198
describe ( 'precomputed flags' , ( ) => {
194
199
beforeAll ( ( ) => {
195
- storage . setEntries ( {
200
+ setUnobfuscatedFlagEntries ( {
196
201
[ flagKey ] : mockFlag ,
197
202
disabledFlag : { ...mockFlag , enabled : false } ,
198
203
anotherFlag : {
@@ -424,11 +429,10 @@ describe('EppoClient E2E test', () => {
424
429
) ;
425
430
} ) ;
426
431
427
- it ( 'logs variation assignment and experiment key' , ( ) => {
432
+ it ( 'logs variation assignment and experiment key' , async ( ) => {
428
433
const mockLogger = td . object < IAssignmentLogger > ( ) ;
429
434
430
- storage . setEntries ( { [ flagKey ] : mockFlag } ) ;
431
- storage . setFormat ( FormatEnum . SERVER )
435
+ await setUnobfuscatedFlagEntries ( { [ flagKey ] : mockFlag } ) ;
432
436
const client = new EppoClient ( { flagConfigurationStore : storage } ) ;
433
437
client . setAssignmentLogger ( mockLogger ) ;
434
438
@@ -450,11 +454,11 @@ describe('EppoClient E2E test', () => {
450
454
expect ( loggedAssignmentEvent . allocation ) . toEqual ( mockFlag . allocations [ 0 ] . key ) ;
451
455
} ) ;
452
456
453
- it ( 'handles logging exception' , ( ) => {
457
+ it ( 'handles logging exception' , async ( ) => {
454
458
const mockLogger = td . object < IAssignmentLogger > ( ) ;
455
459
td . when ( mockLogger . logAssignment ( td . matchers . anything ( ) ) ) . thenThrow ( new Error ( 'logging error' ) ) ;
456
460
457
- storage . setEntries ( { [ flagKey ] : mockFlag } ) ;
461
+ await setUnobfuscatedFlagEntries ( { [ flagKey ] : mockFlag } ) ;
458
462
const client = new EppoClient ( { flagConfigurationStore : storage } ) ;
459
463
client . setAssignmentLogger ( mockLogger ) ;
460
464
@@ -469,8 +473,8 @@ describe('EppoClient E2E test', () => {
469
473
expect ( assignment ) . toEqual ( 'variation-a' ) ;
470
474
} ) ;
471
475
472
- it ( 'exports flag configuration' , ( ) => {
473
- storage . setEntries ( { [ flagKey ] : mockFlag } ) ;
476
+ it ( 'exports flag configuration' , async ( ) => {
477
+ await setUnobfuscatedFlagEntries ( { [ flagKey ] : mockFlag } ) ;
474
478
const client = new EppoClient ( { flagConfigurationStore : storage } ) ;
475
479
expect ( client . getFlagConfigurations ( ) ) . toEqual ( { [ flagKey ] : mockFlag } ) ;
476
480
} ) ;
@@ -479,10 +483,10 @@ describe('EppoClient E2E test', () => {
479
483
let client : EppoClient ;
480
484
let mockLogger : IAssignmentLogger ;
481
485
482
- beforeEach ( ( ) => {
486
+ beforeEach ( async ( ) => {
483
487
mockLogger = td . object < IAssignmentLogger > ( ) ;
484
488
485
- storage . setEntries ( { [ flagKey ] : mockFlag } ) ;
489
+ await setUnobfuscatedFlagEntries ( { [ flagKey ] : mockFlag } ) ;
486
490
client = new EppoClient ( { flagConfigurationStore : storage } ) ;
487
491
client . setAssignmentLogger ( mockLogger ) ;
488
492
} ) ;
@@ -537,7 +541,7 @@ describe('EppoClient E2E test', () => {
537
541
} ) ;
538
542
539
543
it ( 'logs for each unique flag' , async ( ) => {
540
- await storage . setEntries ( {
544
+ await setUnobfuscatedFlagEntries ( {
541
545
[ flagKey ] : mockFlag ,
542
546
'flag-2' : {
543
547
...mockFlag ,
@@ -564,7 +568,7 @@ describe('EppoClient E2E test', () => {
564
568
expect ( td . explain ( mockLogger . logAssignment ) . callCount ) . toEqual ( 3 ) ;
565
569
} ) ;
566
570
567
- it ( 'logs twice for the same flag when allocations change' , ( ) => {
571
+ it ( 'logs twice for the same flag when allocations change' , async ( ) => {
568
572
client . useNonExpiringInMemoryAssignmentCache ( ) ;
569
573
570
574
storage . setEntries ( {
@@ -588,7 +592,7 @@ describe('EppoClient E2E test', () => {
588
592
} ) ;
589
593
client . getStringAssignment ( flagKey , 'subject-10' , { } , 'default' ) ;
590
594
591
- storage . setEntries ( {
595
+ await setUnobfuscatedFlagEntries ( {
592
596
[ flagKey ] : {
593
597
...mockFlag ,
594
598
allocations : [
@@ -614,13 +618,13 @@ describe('EppoClient E2E test', () => {
614
618
client . useNonExpiringInMemoryAssignmentCache ( ) ;
615
619
616
620
// original configuration version
617
- storage . setEntries ( { [ flagKey ] : mockFlag } ) ;
621
+ setUnobfuscatedFlagEntries ( { [ flagKey ] : mockFlag } ) ;
618
622
619
623
client . getStringAssignment ( flagKey , 'subject-10' , { } , 'default' ) ; // log this assignment
620
624
client . getStringAssignment ( flagKey , 'subject-10' , { } , 'default' ) ; // cache hit, don't log
621
625
622
626
// change the variation
623
- storage . setEntries ( {
627
+ setUnobfuscatedFlagEntries ( {
624
628
[ flagKey ] : {
625
629
...mockFlag ,
626
630
allocations : [
@@ -643,13 +647,13 @@ describe('EppoClient E2E test', () => {
643
647
client . getStringAssignment ( flagKey , 'subject-10' , { } , 'default' ) ; // cache hit, don't log
644
648
645
649
// change the flag again, back to the original
646
- storage . setEntries ( { [ flagKey ] : mockFlag } ) ;
650
+ setUnobfuscatedFlagEntries ( { [ flagKey ] : mockFlag } ) ;
647
651
648
652
client . getStringAssignment ( flagKey , 'subject-10' , { } , 'default' ) ; // important: log this assignment
649
653
client . getStringAssignment ( flagKey , 'subject-10' , { } , 'default' ) ; // cache hit, don't log
650
654
651
655
// change the allocation
652
- storage . setEntries ( {
656
+ setUnobfuscatedFlagEntries ( {
653
657
[ flagKey ] : {
654
658
...mockFlag ,
655
659
allocations : [
0 commit comments