11package io .split .engine .common ;
22
3+ import io .split .engine .SDKReadinessGates ;
34import org .junit .Before ;
45import org .junit .Test ;
56import org .mockito .Mockito ;
@@ -10,25 +11,29 @@ public class SyncManagerTest {
1011 private static final int BACKOFF_BASE = 1 ;
1112 private Synchronizer _synchronizer ;
1213 private PushManager _pushManager ;
14+ private SDKReadinessGates _gates ;
1315
1416 @ Before
1517 public void setUp () {
1618 _synchronizer = Mockito .mock (Synchronizer .class );
1719 _pushManager = Mockito .mock (PushManager .class );
20+ _gates = Mockito .mock (SDKReadinessGates .class );
1821 }
1922
2023 @ Test
21- public void startWithStreamingFalseShouldStartPolling () {
22- SyncManagerImp syncManager = new SyncManagerImp (false , _synchronizer , _pushManager , new LinkedBlockingQueue <>(), BACKOFF_BASE );
24+ public void startWithStreamingFalseShouldStartPolling () throws InterruptedException {
25+ _gates .sdkInternalReady ();
26+ SyncManagerImp syncManager = new SyncManagerImp (false , _synchronizer , _pushManager , new LinkedBlockingQueue <>(), BACKOFF_BASE , _gates );
2327 syncManager .start ();
28+ Thread .sleep (1000 );
2429 Mockito .verify (_synchronizer , Mockito .times (1 )).startPeriodicFetching ();
2530 Mockito .verify (_synchronizer , Mockito .times (1 )).syncAll ();
2631 Mockito .verify (_pushManager , Mockito .times (0 )).start ();
2732 }
2833
2934 @ Test
3035 public void startWithStreamingTrueShouldStartSyncAll () {
31- SyncManager sm = new SyncManagerImp (true , _synchronizer , _pushManager , new LinkedBlockingQueue <>(), BACKOFF_BASE );
36+ SyncManager sm = new SyncManagerImp (true , _synchronizer , _pushManager , new LinkedBlockingQueue <>(), BACKOFF_BASE , _gates );
3237 sm .start ();
3338 Mockito .verify (_synchronizer , Mockito .times (0 )).startPeriodicFetching ();
3439 Mockito .verify (_synchronizer , Mockito .times (1 )).syncAll ();
@@ -38,7 +43,7 @@ public void startWithStreamingTrueShouldStartSyncAll() {
3843 @ Test
3944 public void onStreamingAvailable () throws InterruptedException {
4045 LinkedBlockingQueue <PushManager .Status > messsages = new LinkedBlockingQueue <>();
41- SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE );
46+ SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE , _gates );
4247 Thread t = new Thread (syncManager ::incomingPushStatusHandler );
4348 t .start ();
4449 messsages .offer (PushManager .Status .STREAMING_READY );
@@ -52,7 +57,7 @@ public void onStreamingAvailable() throws InterruptedException {
5257 @ Test
5358 public void onStreamingDisabled () throws InterruptedException {
5459 LinkedBlockingQueue <PushManager .Status > messsages = new LinkedBlockingQueue <>();
55- SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE );
60+ SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE , _gates );
5661 Thread t = new Thread (syncManager ::incomingPushStatusHandler );
5762 t .start ();
5863 messsages .offer (PushManager .Status .STREAMING_DOWN );
@@ -66,7 +71,7 @@ public void onStreamingDisabled() throws InterruptedException {
6671 @ Test
6772 public void onStreamingShutdown () throws InterruptedException {
6873 LinkedBlockingQueue <PushManager .Status > messsages = new LinkedBlockingQueue <>();
69- SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE );
74+ SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE , _gates );
7075 Thread t = new Thread (syncManager ::incomingPushStatusHandler );
7176 t .start ();
7277 messsages .offer (PushManager .Status .STREAMING_OFF );
@@ -78,7 +83,7 @@ public void onStreamingShutdown() throws InterruptedException {
7883 @ Test
7984 public void onConnected () throws InterruptedException {
8085 LinkedBlockingQueue <PushManager .Status > messsages = new LinkedBlockingQueue <>();
81- SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE );
86+ SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE , _gates );
8287 Thread t = new Thread (syncManager ::incomingPushStatusHandler );
8388 t .start ();
8489 messsages .offer (PushManager .Status .STREAMING_READY );
@@ -91,7 +96,7 @@ public void onConnected() throws InterruptedException {
9196 @ Test
9297 public void onDisconnect () throws InterruptedException {
9398 LinkedBlockingQueue <PushManager .Status > messsages = new LinkedBlockingQueue <>();
94- SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE );
99+ SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE , _gates );
95100 Thread t = new Thread (syncManager ::incomingPushStatusHandler );
96101 t .start ();
97102 messsages .offer (PushManager .Status .STREAMING_OFF );
@@ -103,7 +108,7 @@ public void onDisconnect() throws InterruptedException {
103108 @ Test
104109 public void onDisconnectAndReconnect () throws InterruptedException { // Check with mauro. reconnect should call pushManager.start again, right?
105110 LinkedBlockingQueue <PushManager .Status > messsages = new LinkedBlockingQueue <>();
106- SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE );
111+ SyncManagerImp syncManager = new SyncManagerImp (true , _synchronizer , _pushManager , messsages , BACKOFF_BASE , _gates );
107112 syncManager .start ();
108113 messsages .offer (PushManager .Status .STREAMING_BACKOFF );
109114 Thread .sleep (1200 );
0 commit comments