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.restclient.client.OperationResult;
9 import org.onap.aai.sparky.dal.ElasticSearchAdapter;
10 import org.onap.aai.sparky.sync.config.ElasticSearchEndpointConfig;
11 import org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig;
12 import org.onap.aai.sparky.sync.enumeration.OperationState;
13 import org.onap.aai.sparky.util.TestResourceLoader;
15 public class ElasticSearchIndexCleanerTest {
17 private ElasticSearchIndexCleaner esIndexCleaner;
19 private ElasticSearchAdapter esAdapter;
20 private ElasticSearchEndpointConfig esRestEndpointConfig;
21 private ElasticSearchSchemaConfig esSchemaConfig;
24 public void init() throws Exception {
26 esAdapter = Mockito.mock( ElasticSearchAdapter.class);
27 esRestEndpointConfig = new ElasticSearchEndpointConfig();
28 esSchemaConfig = new ElasticSearchSchemaConfig();
30 esRestEndpointConfig.setScrollContextBatchRequestSize(5000);
31 esRestEndpointConfig.setEsIpAddress("127.0.0.1");
32 esRestEndpointConfig.setEsServerPort("9200");
33 esRestEndpointConfig.setScrollContextTimeToLiveInMinutes(5);
38 public void validateBasicConstruction() throws Exception {
39 esIndexCleaner = new ElasticSearchIndexCleaner(esAdapter, esRestEndpointConfig, esSchemaConfig);
43 public void validatePreOperationCollection() throws Exception {
45 String beforeSyncScrollApiResponse = TestResourceLoader.getTestResourceDataJson(
46 "/sync/ElasticSearch/BeforeSync_ElasticSearch_ScrollApi_Successful.json");
48 OperationResult scrollApiOpResult = new OperationResult();
49 scrollApiOpResult.setResultCode(200);
50 scrollApiOpResult.setResult(beforeSyncScrollApiResponse);
52 Mockito.when(esAdapter.doPost(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject()))
53 .thenReturn(scrollApiOpResult);
55 esIndexCleaner = new ElasticSearchIndexCleaner(esAdapter, esRestEndpointConfig, esSchemaConfig);
56 OperationState opState = esIndexCleaner.populatePreOperationCollection();
58 assertEquals(OperationState.OK, opState);
63 public void validatePostOperationCollection() throws Exception {
65 String afterSyncScrollApiResponse = TestResourceLoader.getTestResourceDataJson(
66 "/sync/ElasticSearch/AfterSync_ElasticSearch_ScrollApi_Successful.json");
68 OperationResult scrollApiOpResult = new OperationResult();
69 scrollApiOpResult.setResultCode(200);
70 scrollApiOpResult.setResult(afterSyncScrollApiResponse);
72 Mockito.when(esAdapter.doPost(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject()))
73 .thenReturn(scrollApiOpResult);
75 esIndexCleaner = new ElasticSearchIndexCleaner(esAdapter, esRestEndpointConfig, esSchemaConfig);
76 OperationState opState = esIndexCleaner.populatePostOperationCollection();
78 assertEquals(OperationState.OK, opState);
84 public void validatePerformCleanup() throws Exception {
86 String beforeSyncScrollApiResponse = TestResourceLoader.getTestResourceDataJson(
87 "/sync/ElasticSearch/BeforeSync_ElasticSearch_ScrollApi_Successful.json");
89 OperationResult beforeScrollApiOpResult = new OperationResult();
90 beforeScrollApiOpResult.setResultCode(200);
91 beforeScrollApiOpResult.setResult(beforeSyncScrollApiResponse);
93 String afterSyncScrollApiResponse = TestResourceLoader.getTestResourceDataJson(
94 "/sync/ElasticSearch/AfterSync_ElasticSearch_ScrollApi_Successful.json");
96 OperationResult afterScrollApiOpResult = new OperationResult();
97 afterScrollApiOpResult.setResultCode(200);
98 afterScrollApiOpResult.setResult(afterSyncScrollApiResponse);
100 Mockito.when(esAdapter.doPost(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject()))
101 .thenReturn(beforeScrollApiOpResult,afterScrollApiOpResult);
103 esIndexCleaner = new ElasticSearchIndexCleaner(esAdapter, esRestEndpointConfig, esSchemaConfig);
105 OperationState beforeOpState = esIndexCleaner.populatePreOperationCollection();
106 OperationState afterOpState = esIndexCleaner.populatePostOperationCollection();
108 assertEquals(OperationState.OK, beforeOpState);
109 assertEquals(OperationState.OK, afterOpState);
112 * Now we can start the test work
115 OperationState cleanupState = esIndexCleaner.performCleanup();
116 assertEquals(OperationState.OK, cleanupState);