a02d5e400bebc4be4b873f7b086c2c64aa85f241
[aai/sparky-be.git] / src / test / java / org / onap / aai / sparky / sync / SyncControllerImplTest.java
1 package org.onap.aai.sparky.sync;
2
3 import static org.junit.Assert.*;
4
5 import org.junit.Before;
6 import org.junit.Test;
7 import org.mockito.Mockito;
8 import org.onap.aai.sparky.sync.IndexCleaner;
9 import org.onap.aai.sparky.sync.IndexSynchronizer;
10 import org.onap.aai.sparky.sync.IndexValidator;
11 import org.onap.aai.sparky.sync.SyncControllerImpl;
12 import org.onap.aai.sparky.sync.SyncControllerImpl.SyncActions;
13 import org.onap.aai.sparky.sync.config.SyncControllerConfig;
14 import org.onap.aai.sparky.sync.enumeration.SynchronizerState;
15
16 public class SyncControllerImplTest {
17         
18         private SyncControllerConfig syncControllerConfig;
19         
20         private IndexSynchronizer mockSynchronizer = Mockito.mock(IndexSynchronizer.class);
21         private IndexValidator mockValidator = Mockito.mock(IndexValidator.class);
22         private IndexCleaner mockCleaner = Mockito.mock(IndexCleaner.class);
23         
24         @Before
25           public void init() throws Exception {
26                 
27                 syncControllerConfig = new SyncControllerConfig();
28                 
29                 syncControllerConfig.setSyncTaskDelayInMs(0);
30                 syncControllerConfig.setSyncTaskFrequencyInDays(2);
31                 syncControllerConfig.setTargetSyncStartTimeStamp("05:00:00 UTC+00:00");
32                 syncControllerConfig.setControllerName("Base-Sync-Controller-Impl");
33                 
34         syncControllerConfig.setPeriodicSyncEnabled(true);
35                 syncControllerConfig.setRunOnceSyncEnabled(true);
36               
37           }
38         
39         
40         @Test 
41         public void validateBasicConstruction() throws Exception {
42                 
43                 SyncControllerImpl syncController = new SyncControllerImpl(syncControllerConfig);
44                 
45                 assertTrue(syncController.isPeriodicSyncEnabled());
46                 assertTrue(syncController.isRunOnceSyncEnabled());
47                 assertEquals(0, syncController.getDelayInMs());
48                         
49         }
50         
51         @Test 
52         public void validateSmallSync() throws Exception {
53                 
54                 SyncControllerImpl syncController = new SyncControllerImpl(syncControllerConfig);
55
56                 Mockito.when( mockSynchronizer.getIndexName() ).thenReturn("mock-sync-index");
57                 Mockito.when( mockCleaner.getIndexName()).thenReturn("mock-sync-index");
58                 Mockito.when( mockValidator.getIndexName()).thenReturn("mock-sync-index");
59                 
60                 Mockito.when(mockSynchronizer.getStatReport(Boolean.TRUE)).thenReturn("mock-sync-index stat report");
61                 Mockito.when(mockValidator.exists()).thenReturn(false);
62                 Mockito.when(mockSynchronizer.getState()).thenReturn(SynchronizerState.PERFORMING_SYNCHRONIZATION,
63                                 SynchronizerState.PERFORMING_SYNCHRONIZATION, SynchronizerState.PERFORMING_SYNCHRONIZATION,
64                                 SynchronizerState.PERFORMING_SYNCHRONIZATION, SynchronizerState.PERFORMING_SYNCHRONIZATION,
65                                 SynchronizerState.IDLE);
66                 
67                 syncController.registerEntitySynchronizer(mockSynchronizer);
68                 syncController.registerIndexValidator(mockValidator);
69                 syncController.registerIndexCleaner(mockCleaner);
70                 
71                 
72                 
73                 
74                 syncController.performAction(SyncActions.SYNCHRONIZE);
75                 
76                         
77         }
78
79         
80         
81 }