1 package org.onap.aai.sparky.sync;
3 import static org.junit.Assert.*;
5 import org.junit.Before;
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;
16 public class SyncControllerImplTest {
18 private SyncControllerConfig syncControllerConfig;
20 private IndexSynchronizer mockSynchronizer = Mockito.mock(IndexSynchronizer.class);
21 private IndexValidator mockValidator = Mockito.mock(IndexValidator.class);
22 private IndexCleaner mockCleaner = Mockito.mock(IndexCleaner.class);
25 public void init() throws Exception {
27 syncControllerConfig = new SyncControllerConfig();
29 syncControllerConfig.setSyncTaskDelayInMs(0);
30 syncControllerConfig.setSyncTaskFrequencyInDays(2);
31 syncControllerConfig.setTargetSyncStartTimeStamp("05:00:00 UTC+00:00");
32 syncControllerConfig.setControllerName("Base-Sync-Controller-Impl");
34 syncControllerConfig.setPeriodicSyncEnabled(true);
35 syncControllerConfig.setRunOnceSyncEnabled(true);
41 public void validateBasicConstruction() throws Exception {
43 SyncControllerImpl syncController = new SyncControllerImpl(syncControllerConfig);
45 assertTrue(syncController.isPeriodicSyncEnabled());
46 assertTrue(syncController.isRunOnceSyncEnabled());
47 assertEquals(0, syncController.getDelayInMs());
52 public void validateSmallSync() throws Exception {
54 SyncControllerImpl syncController = new SyncControllerImpl(syncControllerConfig);
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");
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);
67 syncController.registerEntitySynchronizer(mockSynchronizer);
68 syncController.registerIndexValidator(mockValidator);
69 syncController.registerIndexCleaner(mockCleaner);
74 syncController.performAction(SyncActions.SYNCHRONIZE);