@@ -509,7 +509,7 @@ public void injectOptimizelyDoesNotDuplicateCallback() {
509
509
@ Test
510
510
public void initializeSyncWithUpdateOnNewDatafileDisabled () {
511
511
boolean downloadToCache = true ;
512
- boolean updateConfigOnNewDatafiel = false ;
512
+ boolean updateConfigOnNewDatafile = false ;
513
513
int pollingInterval = 0 ; // disable polling
514
514
515
515
DefaultDatafileHandler datafileHandler = spy (new DefaultDatafileHandler ());
@@ -528,7 +528,7 @@ public Object answer(InvocationOnMock invocation) {
528
528
}
529
529
}).when (manager .getDatafileHandler ()).downloadDatafile (any (Context .class ), any (DatafileConfig .class ), any (DatafileLoadedListener .class ));
530
530
531
- OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafiel );
531
+ OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafile );
532
532
533
533
try {
534
534
executor .awaitTermination (1 , TimeUnit .SECONDS );
@@ -542,7 +542,7 @@ public Object answer(InvocationOnMock invocation) {
542
542
@ Test
543
543
public void initializeSyncWithUpdateOnNewDatafileEnabled () {
544
544
boolean downloadToCache = true ;
545
- boolean updateConfigOnNewDatafiel = true ;
545
+ boolean updateConfigOnNewDatafile = true ;
546
546
int pollingInterval = 0 ; // disable polling
547
547
548
548
DefaultDatafileHandler datafileHandler = spy (new DefaultDatafileHandler ());
@@ -561,7 +561,7 @@ public Object answer(InvocationOnMock invocation) {
561
561
}
562
562
}).when (manager .getDatafileHandler ()).downloadDatafile (any (Context .class ), any (DatafileConfig .class ), any (DatafileLoadedListener .class ));
563
563
564
- OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafiel );
564
+ OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafile );
565
565
566
566
try {
567
567
executor .awaitTermination (1 , TimeUnit .SECONDS );
@@ -575,7 +575,7 @@ public Object answer(InvocationOnMock invocation) {
575
575
@ Test
576
576
public void initializeSyncWithDownloadToCacheDisabled () {
577
577
boolean downloadToCache = false ;
578
- boolean updateConfigOnNewDatafiel = true ;
578
+ boolean updateConfigOnNewDatafile = true ;
579
579
int pollingInterval = 0 ; // disable polling
580
580
581
581
DefaultDatafileHandler datafileHandler = spy (new DefaultDatafileHandler ());
@@ -594,7 +594,7 @@ public Object answer(InvocationOnMock invocation) {
594
594
}
595
595
}).when (manager .getDatafileHandler ()).downloadDatafile (any (Context .class ), any (DatafileConfig .class ), any (DatafileLoadedListener .class ));
596
596
597
- OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafiel );
597
+ OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafile );
598
598
599
599
try {
600
600
executor .awaitTermination (1 , TimeUnit .SECONDS );
@@ -608,7 +608,39 @@ public Object answer(InvocationOnMock invocation) {
608
608
@ Test
609
609
public void initializeSyncWithUpdateOnNewDatafileDisabledWithPeriodicPollingEnabled () {
610
610
boolean downloadToCache = true ;
611
- boolean updateConfigOnNewDatafiel = false ;
611
+ boolean updateConfigOnNewDatafile = false ;
612
+ int pollingInterval = 30 ; // enable polling
613
+
614
+ DefaultDatafileHandler datafileHandler = spy (new DefaultDatafileHandler ());
615
+ Logger logger = mock (Logger .class );
616
+ Context context = InstrumentationRegistry .getTargetContext ();
617
+
618
+ OptimizelyManager manager = new OptimizelyManager (testProjectId , testSdkKey , null , logger , pollingInterval , datafileHandler , null , 0 ,
619
+ null , null , null , null );
620
+
621
+ doAnswer (
622
+ (Answer <Object >) invocation -> {
623
+ String newDatafile = manager .getDatafile (context , R .raw .datafile_api );
624
+ datafileHandler .saveDatafile (context , manager .getDatafileConfig (), newDatafile );
625
+ return null ;
626
+ }).when (manager .getDatafileHandler ()).downloadDatafile (any (Context .class ), any (DatafileConfig .class ), any (DatafileLoadedListener .class ));
627
+
628
+ OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafile );
629
+
630
+ try {
631
+ executor .awaitTermination (1 , TimeUnit .SECONDS );
632
+ } catch (InterruptedException e ) {
633
+ //
634
+ }
635
+
636
+ // when periodic polling enabled, project config always updated on cache datafile update (regardless of "updateConfigOnNewDatafile" setting)
637
+ assertEquals (client .getOptimizelyConfig ().getRevision (), "241" ); // wait for first download.
638
+ }
639
+
640
+ @ Test
641
+ public void initializeSyncWithUpdateOnNewDatafileEnabledWithPeriodicPollingEnabled () {
642
+ boolean downloadToCache = true ;
643
+ boolean updateConfigOnNewDatafile = true ;
612
644
int pollingInterval = 30 ; // enable polling
613
645
614
646
DefaultDatafileHandler datafileHandler = spy (new DefaultDatafileHandler ());
@@ -627,23 +659,22 @@ public Object answer(InvocationOnMock invocation) {
627
659
}
628
660
}).when (manager .getDatafileHandler ()).downloadDatafile (any (Context .class ), any (DatafileConfig .class ), any (DatafileLoadedListener .class ));
629
661
630
- OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafiel );
662
+ OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafile );
631
663
632
664
try {
633
665
executor .awaitTermination (1 , TimeUnit .SECONDS );
634
666
} catch (InterruptedException e ) {
635
667
//
636
668
}
637
669
638
- // when periodic polling enabled, project config always updated on cache datafile update (regardless of "updateConfigOnNewDatafile" setting)
639
670
assertEquals (client .getOptimizelyConfig ().getRevision (), "241" );
640
671
}
641
672
642
673
@ Test
643
- public void initializeSyncWithUpdateOnNewDatafileEnabledWithPeriodicPollingEnabled () {
674
+ public void initializeSyncWithUpdateOnNewDatafileDisabledWithPeriodicPollingDisabled () {
644
675
boolean downloadToCache = true ;
645
- boolean updateConfigOnNewDatafiel = true ;
646
- int pollingInterval = 30 ; // enable polling
676
+ boolean updateConfigOnNewDatafile = false ;
677
+ int pollingInterval = 0 ; // disable polling
647
678
648
679
DefaultDatafileHandler datafileHandler = spy (new DefaultDatafileHandler ());
649
680
Logger logger = mock (Logger .class );
@@ -661,7 +692,7 @@ public Object answer(InvocationOnMock invocation) {
661
692
}
662
693
}).when (manager .getDatafileHandler ()).downloadDatafile (any (Context .class ), any (DatafileConfig .class ), any (DatafileLoadedListener .class ));
663
694
664
- OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafiel );
695
+ OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafile );
665
696
666
697
try {
667
698
executor .awaitTermination (1 , TimeUnit .SECONDS );
@@ -670,13 +701,46 @@ public Object answer(InvocationOnMock invocation) {
670
701
}
671
702
672
703
// when periodic polling enabled, project config always updated on cache datafile update (regardless of "updateConfigOnNewDatafile" setting)
704
+ assertEquals (client .getOptimizelyConfig ().getRevision (), "7" ); // wait for first download.
705
+ }
706
+
707
+ @ Test
708
+ public void initializeSyncWithUpdateOnNewDatafileEnabledWithPeriodicPollingDisabled () {
709
+ boolean downloadToCache = true ;
710
+ boolean updateConfigOnNewDatafile = true ;
711
+ int pollingInterval = 0 ; // disable polling
712
+
713
+ DefaultDatafileHandler datafileHandler = spy (new DefaultDatafileHandler ());
714
+ Logger logger = mock (Logger .class );
715
+ Context context = InstrumentationRegistry .getTargetContext ();
716
+
717
+ OptimizelyManager manager = new OptimizelyManager (testProjectId , testSdkKey , null , logger , pollingInterval , datafileHandler , null , 0 ,
718
+ null , null , null , null );
719
+
720
+ doAnswer (
721
+ new Answer <Object >() {
722
+ public Object answer (InvocationOnMock invocation ) {
723
+ String newDatafile = manager .getDatafile (context , R .raw .datafile_api );
724
+ datafileHandler .saveDatafile (context , manager .getDatafileConfig (), newDatafile );
725
+ return null ;
726
+ }
727
+ }).when (manager .getDatafileHandler ()).downloadDatafile (any (Context .class ), any (DatafileConfig .class ), any (DatafileLoadedListener .class ));
728
+
729
+ OptimizelyClient client = manager .initialize (context , defaultDatafile , downloadToCache , updateConfigOnNewDatafile );
730
+
731
+ try {
732
+ executor .awaitTermination (1 , TimeUnit .SECONDS );
733
+ } catch (InterruptedException e ) {
734
+ //
735
+ }
736
+
673
737
assertEquals (client .getOptimizelyConfig ().getRevision (), "241" );
674
738
}
675
739
676
740
@ Test
677
741
public void initializeSyncWithResourceDatafileNoCache () {
678
742
boolean downloadToCache = true ;
679
- boolean updateConfigOnNewDatafiel = true ;
743
+ boolean updateConfigOnNewDatafile = true ;
680
744
int pollingInterval = 30 ; // enable polling
681
745
682
746
DefaultDatafileHandler datafileHandler = spy (new DefaultDatafileHandler ());
@@ -687,15 +751,13 @@ public void initializeSyncWithResourceDatafileNoCache() {
687
751
null , null , null , null ));
688
752
689
753
datafileHandler .removeSavedDatafile (context , manager .getDatafileConfig ());
690
- OptimizelyClient client = manager .initialize (context , R .raw .datafile , downloadToCache , updateConfigOnNewDatafiel );
754
+ OptimizelyClient client = manager .initialize (context , R .raw .datafile , downloadToCache , updateConfigOnNewDatafile );
691
755
692
- verify (manager ).initialize (eq (context ), eq (defaultDatafile ), eq (downloadToCache ), eq (updateConfigOnNewDatafiel ));
756
+ verify (manager ).initialize (eq (context ), eq (defaultDatafile ), eq (downloadToCache ), eq (updateConfigOnNewDatafile ));
693
757
}
694
758
695
759
@ Test
696
760
public void initializeSyncWithResourceDatafileNoCacheWithDefaultParams () {
697
- boolean downloadToCache = true ;
698
- boolean updateConfigOnNewDatafiel = true ;
699
761
int pollingInterval = 30 ; // enable polling
700
762
701
763
DefaultDatafileHandler datafileHandler = spy (new DefaultDatafileHandler ());
0 commit comments