Skip to content
Snippets Groups Projects
Commit f83428cb authored by Riabokon Stanislav(EPAM)[GCP]'s avatar Riabokon Stanislav(EPAM)[GCP]
Browse files

Merge branch 'anthos-master' into 'integration-master'

Fixed sonar comments for reference provider

See merge request go3-nrg/platform/System/indexer!44
parents 0ee7a72b 2a076c52
No related branches found
No related tags found
1 merge request!72Cloud-agnostic module `indexer-reference` for Anthos (GONRG-1423)
Pipeline #21896 failed
Showing
with 49 additions and 393 deletions
......@@ -29,10 +29,10 @@ import org.opengroup.osdu.core.common.model.search.IndexInfo;
import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
import org.opengroup.osdu.core.common.provider.interfaces.IRequestInfo;
import org.opengroup.osdu.core.common.search.IndicesService;
import org.opengroup.osdu.indexer.config.IndexerConfigurationProperties;
import org.opengroup.osdu.indexer.util.ElasticClientHandler;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.util.ReflectionTestUtils;
import java.io.IOException;
import java.time.Instant;
......@@ -52,6 +52,8 @@ public class CronServiceImplTest {
@Mock
private ElasticClientHandler elasticClientHandler;
@Mock
private IndexerConfigurationProperties configurationProperties;
@Mock
private IRequestInfo requestInfo;
@Mock
private JaxRsDpsLog log;
......@@ -66,8 +68,8 @@ public class CronServiceImplTest {
when(this.requestInfo.getHeaders()).thenReturn(dpsHeaders);
ReflectionTestUtils.setField(this.sut, "CRON_INDEX_CLEANUP_THRESHOLD_DAYS", "3");
ReflectionTestUtils.setField(this.sut, "CRON_EMPTY_INDEX_CLEANUP_THRESHOLD_DAYS", "7");
when(configurationProperties.getCronIndexCleanupThresholdDays()).thenReturn(3);
when(configurationProperties.getCronEmptyIndexCleanupThresholdDays()).thenReturn(3);
}
@Test
......
......@@ -30,6 +30,7 @@ import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
import org.opengroup.osdu.core.common.provider.interfaces.IElasticCredentialsCache;
import org.opengroup.osdu.core.common.provider.interfaces.IElasticRepository;
import org.opengroup.osdu.core.common.multitenancy.ITenantInfoService;
import org.opengroup.osdu.indexer.config.IndexerConfigurationProperties;
import org.springframework.test.context.junit4.SpringRunner;
import static org.junit.Assert.assertEquals;
......@@ -46,6 +47,8 @@ public class ElasticSettingServiceTest {
@Mock
private IElasticCredentialsCache elasticCredentialCache;
@Mock
private IndexerConfigurationProperties configurationProperties;
@Mock
private TenantInfo tenantInfo;
@InjectMocks
private ElasticSettingServiceImpl sut;
......@@ -72,6 +75,7 @@ public class ElasticSettingServiceTest {
when(tenantInfo.getName()).thenReturn("tenant1");
when(this.headersInfo.getPartitionId()).thenReturn("tenant1");
when(this.tenantInfoService.getTenantInfo()).thenReturn(tenantInfo);
when(configurationProperties.getGaeService()).thenReturn("indexer");
clusterSettings = ClusterSettings.builder().host(host).port(port).userNameAndPassword(credentials).build();
cacheKey = String.format("%s-%s", GAE_SERVICE, tenantInfo.getName());
}
......
......@@ -38,7 +38,7 @@ import org.mockito.Mock;
import org.opengroup.osdu.core.common.model.http.AppException;
import org.opengroup.osdu.core.common.model.indexer.IndexSchema;
import org.opengroup.osdu.core.common.model.search.RecordMetaAttribute;
import org.opengroup.osdu.core.common.search.Config;
import org.opengroup.osdu.indexer.config.IndexerConfigurationProperties;
import org.opengroup.osdu.indexer.util.ElasticClientHandler;
import org.opengroup.osdu.indexer.util.TypeMapper;
import org.powermock.api.mockito.PowerMockito;
......@@ -54,12 +54,11 @@ import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.MockitoAnnotations.initMocks;
import static org.powermock.api.mockito.PowerMockito.mockStatic;
import static org.powermock.api.mockito.PowerMockito.when;
@Ignore
@RunWith(SpringRunner.class)
@PrepareForTest({ RestHighLevelClient.class, IndicesClient.class, Config.class })
@PrepareForTest({ RestHighLevelClient.class, IndicesClient.class})
public class IndexerMappingServiceTest {
private final String kind = "tenant:test:test:1.0.0";
......@@ -67,6 +66,8 @@ public class IndexerMappingServiceTest {
private final String type = "test";
private final String mappingValid = "{\"dynamic\":false,\"properties\":{\"data\":{\"properties\":{\"Msg\":{\"type\":\"text\",\"analyzer\":\"de_indexer_analyzer\",\"search_analyzer\":\"de_search_analyzer\"},\"Location\":{\"type\":\"geo_point\"}}},\"id\":{\"type\":\"keyword\"},\"acl\":{\"properties\":{\"viewers\":{\"type\":\"keyword\"},\"owners\":{\"type\":\"keyword\"}}}}}";
@Mock
private IndexerConfigurationProperties configurationProperties;
@Mock
private RestClient restClient;
@Mock
......@@ -94,8 +95,7 @@ public class IndexerMappingServiceTest {
@Before
public void setup() throws IOException {
initMocks(this);
mockStatic(Config.class);
when(Config.isPreDemo()).thenReturn(true);
when(configurationProperties.isPreDemo()).thenReturn(true);
Map<String, String> dataMapping = new HashMap<>();
dataMapping.put("Location", "geo_point");
dataMapping.put("Msg", "text");
......
......@@ -32,6 +32,7 @@ import org.opengroup.osdu.indexer.provider.interfaces.ISchemaCache;
import org.opengroup.osdu.core.common.model.indexer.IndexSchema;
import org.opengroup.osdu.core.common.model.http.RequestStatus;
import org.opengroup.osdu.core.common.search.IndicesService;
import org.opengroup.osdu.indexer.service.impl.SchemaProviderImpl;
import org.opengroup.osdu.indexer.util.ElasticClientHandler;
import org.opengroup.osdu.core.common.search.ElasticIndexNameResolver;
import org.powermock.core.classloader.annotations.PrepareForTest;
......@@ -59,7 +60,7 @@ public class IndexerSchemaServiceTest {
@Mock
private JaxRsDpsLog log;
@Mock
private StorageService storageService;
private SchemaProviderImpl schemaProvider;
@Mock
private ElasticClientHandler elasticClientHandler;
@Mock
......@@ -82,7 +83,7 @@ public class IndexerSchemaServiceTest {
@Test
public void should_returnNull_givenEmptySchema_getIndexerInputSchemaSchemaTest() throws Exception {
when(storageService.getStorageSchema(any())).thenReturn(emptySchema);
when(schemaProvider.getSchema(any())).thenReturn(emptySchema);
IndexSchema indexSchema = this.sut.getIndexerInputSchema(kind, false);
......@@ -91,7 +92,7 @@ public class IndexerSchemaServiceTest {
@Test
public void should_returnValidResponse_givenValidSchema_getIndexerInputSchemaTest() throws Exception {
when(storageService.getStorageSchema(any())).thenReturn(someSchema);
when(schemaProvider.getSchema(any())).thenReturn(someSchema);
IndexSchema indexSchema = this.sut.getIndexerInputSchema(kind, false);
......@@ -100,7 +101,7 @@ public class IndexerSchemaServiceTest {
@Test
public void should_returnValidResponse_givenValidSchemaWithCacheHit_getIndexerInputSchemaTest() throws Exception {
when(storageService.getStorageSchema(any())).thenReturn(someSchema);
when(schemaProvider.getSchema(any())).thenReturn(someSchema);
when(this.schemaCache.get(kind + "_flattened")).thenReturn(someSchema);
IndexSchema indexSchema = this.sut.getIndexerInputSchema(kind, false);
......@@ -112,7 +113,7 @@ public class IndexerSchemaServiceTest {
public void should_throw500_givenInvalidSchemaCacheHit_getIndexerInputSchemaTest() {
try {
String invalidSchema = "{}}";
when(storageService.getStorageSchema(any())).thenReturn(invalidSchema);
when(schemaProvider.getSchema(any())).thenReturn(invalidSchema);
this.sut.getIndexerInputSchema(kind, false);
fail("Should throw exception");
......@@ -167,7 +168,7 @@ public class IndexerSchemaServiceTest {
when(this.elasticIndexNameResolver.getIndexNameFromKind(kind)).thenReturn(kind.replace(":", "-"));
when(this.schemaCache.get(kind)).thenReturn(null);
when(this.indicesService.isIndexExist(any(), any())).thenReturn(false);
when(this.storageService.getStorageSchema(kind)).thenReturn(storageSchema);
when(this.schemaProvider.getSchema(kind)).thenReturn(storageSchema);
this.sut.processSchemaMessages(schemaMessages);
......@@ -198,7 +199,7 @@ public class IndexerSchemaServiceTest {
when(this.elasticIndexNameResolver.getIndexNameFromKind(kind)).thenReturn(kind.replace(":", "-"));
when(this.schemaCache.get(kind)).thenReturn(null);
when(this.indicesService.isIndexExist(any(), any())).thenReturn(true);
when(this.storageService.getStorageSchema(kind)).thenReturn(storageSchema);
when(this.schemaProvider.getSchema(kind)).thenReturn(storageSchema);
this.sut.processSchemaMessages(schemaMessages);
......@@ -226,15 +227,15 @@ public class IndexerSchemaServiceTest {
when(this.elasticIndexNameResolver.getIndexNameFromKind(kind)).thenReturn(kind.replace(":", "-"));
when(this.schemaCache.get(kind)).thenReturn(null);
when(this.indicesService.isIndexExist(any(), any())).thenReturn(true);
when(this.storageService.getStorageSchema(kind)).thenReturn(storageSchema);
when(this.schemaProvider.getSchema(kind)).thenReturn(storageSchema);
when(this.mappingService.createMapping(any(), any(), any(), anyBoolean())).thenThrow(new AppException(HttpStatus.SC_BAD_REQUEST, reason, ""));
try {
this.sut.processSchemaMessages(schemaMessages);
} catch (AppException e) {
assertEquals(e.getError().getCode(), RequestStatus.SCHEMA_CONFLICT);
assertEquals(e.getError().getMessage(), "error creating or merging index mapping");
assertEquals(e.getError().getReason(), reason);
assertEquals(RequestStatus.SCHEMA_CONFLICT, e.getError().getCode());
assertEquals("error creating or merging index mapping", e.getError().getMessage());
assertEquals(reason, e.getError().getReason());
} catch (Exception e) {
fail("Should not throw this exception " + e.getMessage());
}
......@@ -259,15 +260,15 @@ public class IndexerSchemaServiceTest {
when(this.elasticIndexNameResolver.getIndexNameFromKind(kind)).thenReturn(kind.replace(":", "-"));
when(this.schemaCache.get(kind)).thenReturn(null);
when(this.indicesService.isIndexExist(any(), any())).thenReturn(true);
when(this.storageService.getStorageSchema(kind)).thenReturn(storageSchema);
when(this.schemaProvider.getSchema(kind)).thenReturn(storageSchema);
when(this.mappingService.createMapping(any(), any(), any(), anyBoolean())).thenThrow(new AppException(HttpStatus.SC_FORBIDDEN, reason, "blah"));
try {
this.sut.processSchemaMessages(schemaMessages);
} catch (AppException e) {
assertEquals(e.getError().getCode(), HttpStatus.SC_FORBIDDEN);
assertEquals(e.getError().getMessage(), "blah");
assertEquals(e.getError().getReason(), reason);
assertEquals(HttpStatus.SC_FORBIDDEN, e.getError().getCode());
assertEquals("blah", e.getError().getMessage());
assertEquals(reason, e.getError().getReason());
} catch (Exception e) {
fail("Should not throw this exception " + e.getMessage());
}
......@@ -285,7 +286,7 @@ public class IndexerSchemaServiceTest {
when(this.elasticIndexNameResolver.getIndexNameFromKind(kind)).thenReturn(kind.replace(":", "-"));
when(this.schemaCache.get(kind)).thenReturn(null);
when(this.indicesService.isIndexExist(any(), any())).thenReturn(true);
when(this.storageService.getStorageSchema(kind)).thenReturn(storageSchema);
when(this.schemaProvider.getSchema(kind)).thenReturn(storageSchema);
this.sut.processSchemaMessages(schemaMessages);
......@@ -339,7 +340,7 @@ public class IndexerSchemaServiceTest {
when(this.schemaCache.get(kind)).thenReturn(null);
when(this.indicesService.isIndexExist(any(), any())).thenReturn(true);
when(this.indicesService.deleteIndex(any(), any())).thenReturn(true);
when(this.storageService.getStorageSchema(kind)).thenReturn(storageSchema);
when(this.schemaProvider.getSchema(kind)).thenReturn(storageSchema);
this.sut.syncIndexMappingWithStorageSchema(kind);
......@@ -361,9 +362,9 @@ public class IndexerSchemaServiceTest {
try {
this.sut.syncIndexMappingWithStorageSchema(kind);
} catch (AppException e) {
assertEquals(e.getError().getCode(), HttpStatus.SC_CONFLICT);
assertEquals(e.getError().getMessage(), "blah");
assertEquals(e.getError().getReason(), "Index deletion error");
assertEquals(HttpStatus.SC_CONFLICT, e.getError().getCode());
assertEquals("blah", e.getError().getMessage());
assertEquals("Index deletion error", e.getError().getReason());
} catch (Exception e) {
fail("Should not throw this exception " + e.getMessage());
}
......
/*
* Copyright 2020 Google LLC
* Copyright 2020 EPAM Systems, Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.opengroup.osdu.indexer.service;//// Copyright 2017-2019, Schlumberger
////
//// Licensed under the Apache License, Version 2.0 (the "License");
//// you may not use this file except in compliance with the License.
//// You may obtain a copy of the License at
////
//// http://www.apache.org/licenses/LICENSE-2.0
////
//// Unless required by applicable law or agreed to in writing, software
//// distributed under the License is distributed on an "AS IS" BASIS,
//// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//// See the License for the specific language governing permissions and
//// limitations under the License.
//
//package org.opendes.indexer.service;
//
//import com.google.gson.Gson;
//import com.google.gson.reflect.TypeToken;
//import org.elasticsearch.action.bulk.BulkItemResponse;
//import org.elasticsearch.action.bulk.BulkResponse;
//import org.elasticsearch.client.RequestOptions;
//import org.elasticsearch.client.RestHighLevelClient;
//import org.junit.Before;
//import org.junit.Ignore;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.mockito.InjectMocks;
//import org.mockito.Mock;
//import org.mockito.Spy;
//import org.opendes.client.api.DpsHeaders;
//import org.opendes.core.logging.JaxRsDpsLog;
//import org.opendes.core.model.DeploymentEnvironment;
//import org.opendes.core.model.RecordChangedMessages;
//import org.opendes.core.service.IndicesService;
//import org.opendes.core.util.Config;
//import org.opendes.core.util.ElasticClientHandler;
//import org.opendes.core.util.ElasticIndexNameResolver;
//import org.opendes.core.util.HeadersUtil;
//import org.opendes.indexer.logging.AuditLogger;
//import org.opendes.indexer.model.*;
//import org.opendes.indexer.publish.IPublisher;
//import org.opendes.indexer.util.IRequestInfo;
//import org.opendes.indexer.util.IndexerQueueTaskBuilder;
//import org.opendes.indexer.util.JobStatus;
//import org.opendes.indexer.util.RecordInfo;
//import org.powermock.core.classloader.annotations.PrepareForTest;
//import javax.inject.Inject;
//import org.springframework.context.annotation.Lazy;
//import org.springframework.test.context.junit4.SpringRunner;
//
//import java.io.IOException;
//import java.lang.reflect.Type;
//import java.util.*;
//
//import static java.util.Collections.singletonList;
//import static org.junit.Assert.*;
//import static org.mockito.Matchers.any;
//import static org.mockito.Mockito.verify;
//import static org.mockito.Mockito.when;
//import static org.powermock.api.mockito.PowerMockito.mock;
//import static org.powermock.api.mockito.PowerMockito.mockStatic;
//
//@Ignore
//@RunWith(SpringRunner.class)
//@PrepareForTest({RestHighLevelClient.class, BulkResponse.class, StorageAcl.class, HeadersUtil.class, Config.class})
//public class IndexerServiceTest {
//
// private final String pubsubMsg = "[{\"id\":\"tenant1:doc:test1\",\"kind\":\"tenant1:testindexer1:well:1.0.0\",\"op\":\"update\"}," +
// "{\"id\":\"tenant1:doc:test2\",\"kind\":\"tenant1:testindexer2:well:1.0.0\",\"op\":\"create\"}]";
// private final String kind1 = "tenant1:testindexer1:well:1.0.0";
// private final String kind2 = "tenant1:testindexer2:well:1.0.0";
// private final String recordId1 = "tenant1:doc:test1";
// private final String recordId2 = "tenant1:doc:test2";
// private final String failureMassage = "test failure";
//
// @Mock
// private IndexSchemaService indexSchemaService;
// @Mock
// private IndicesService indicesService;
// @Mock
// private IndexerMappingService indexerMappingService;
// @Mock
// private StorageService storageService;
// @Mock
// private IPublisher publisherImpl;
// @Mock
// private RestHighLevelClient restHighLevelClient;
// @Mock
// private ElasticClientHandler elasticClientHandler;
// @Mock
// private BulkResponse bulkResponse;
// @Mock
// private IRequestInfo requestInfo;
// @Mock
// private ElasticIndexNameResolver elasticIndexNameResolver;
// @Mock
// private AttributeParsingServiceImpl attributeParsingServiceImpl;
// @Mock
// private IndexerQueueTaskBuilder indexerQueueTaskBuilder;
// @Mock
// private JaxRsDpsLog log;
// @Mock
// private AuditLogger auditLogger;
// @InjectMocks
// private IndexerServiceImpl sut;
// @InjectMocks @Spy
// private JobStatus jobStatus = new JobStatus();
//
// @Inject
// @Lazy
// private DpsHeaders dpsHeaders;
// private RecordChangedMessages recordChangedMessages;
// private List<RecordInfo> recordInfos;
//
// @Before
// public void setup() throws IOException {
//
// mockStatic(StorageAcl.class);
// mockStatic(Config.class);
//
// when(Config.getDeploymentEnvironment()).thenReturn(DeploymentEnvironment.LOCAL);
// when(Config.getElasticClusterName()).thenReturn("CLUSTER");
// when(Config.getElasticServerAddress()).thenReturn("testsite");
//
// dpsHeaders = new DpsHeaders();
// dpsHeaders.put(AppEngineHeaders.TASK_QUEUE_RETRY_COUNT, "1");
// dpsHeaders.put(DpsHeaders.AUTHORIZATION, "testAuth");
// when(requestInfo.getHeaders()).thenReturn(dpsHeaders);
// when(requestInfo.getHeadersMapWithDwdAuthZ()).thenReturn(dpsHeaders.getHeaders());
//
// Type listType = new TypeToken<List<RecordInfo>>() {}.getType();
// recordInfos = (new Gson()).fromJson(pubsubMsg, listType);
//
// when(elasticClientHandler.createRestClient()).thenReturn(restHighLevelClient);
// when(restHighLevelClient.bulk(any(), any(RequestOptions.class))).thenReturn(bulkResponse);
//
// BulkItemResponse[] responses = new BulkItemResponse[]{prepareResponseFail(), prepareResponseSuccess()};
// when(bulkResponse.getItems()).thenReturn(responses);
// Map<String, String> attr = new HashMap<>();
// attr.put(DpsHeaders.ACCOUNT_ID, "slb");
// recordChangedMessages = RecordChangedMessages.builder().attributes(attr).messageId("xxxx").publishTime("2000-01-02T10:10:44+0000").data("{}").build();
// when(StorageAcl.flattenAcl(any())).thenReturn(null);
// }
//
// @Test
// public void should_returnNull_givenEmptyJobSubInfo_processRecordChangedMessageTest() throws Exception {
// JobStatus jobStatus = this.sut.processRecordChangedMessages(recordChangedMessages, new ArrayList<>());
//
// assertNull(jobStatus);
// }
//
// @Test
// public void should_returnValidJobStatus_givenNullSchema_processRecordChangedMessageTest() {
// try {
// indexSchemaServiceMock(kind1, null);
// indexSchemaServiceMock(kind2, null);
// List<ConversionStatus> conversionStatus = new LinkedList<>();
// List<Records.Entity> validRecords = new ArrayList<>();
// Map<String, Object> storageData = new HashMap<>();
// storageData.put("schema1", "test-value");
// storageData.put("schema2", "test-value");
// storageData.put("schema3", "test-value");
// storageData.put("schema4", "test-value");
// storageData.put("schema5", "test-value");
// storageData.put("schema6", "test-value");
// validRecords.add(Records.Entity.builder().id(recordId2).kind(kind2).data(storageData).build());
// Records storageRecords = Records.builder().records(validRecords).conversionStatuses(conversionStatus).build();
//
// when(storageService.getStorageRecords(any())).thenReturn(storageRecords);
// when(indicesService.createIndex(any(), any(), any(), any(), any())).thenReturn(true);
//
// JobStatus jobStatus = this.sut.processRecordChangedMessages(recordChangedMessages, recordInfos);
//
// assertEquals(2, jobStatus.getStatusesList().size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.FAIL).size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.WARN).size());
// } catch (Exception e) {
// fail("Should not throw this exception" + e.getMessage());
// }
// }
//
// @Test
// public void should_returnValidJobStatus_givenFailedUnitsConversion_processRecordChangedMessageTest() {
// try {
// indexSchemaServiceMock(kind1, null);
// indexSchemaServiceMock(kind2, null);
// List<ConversionStatus> conversionStatuses = new LinkedList<>();
// List<String> status=new ArrayList<>();
// status.add("crs bla bla");
// ConversionStatus conversionStatus=ConversionStatus.builder().status("ERROR").errors(status).id(recordId2).build();
// conversionStatuses.add(conversionStatus);
// List<Records.Entity> validRecords = new ArrayList<>();
// Map<String, Object> storageData = new HashMap<>();
// storageData.put("schema1", "test-value");
// storageData.put("schema2", "test-value");
// storageData.put("schema3", "test-value");
// storageData.put("schema4", "test-value");
// storageData.put("schema5", "test-value");
// storageData.put("schema6", "test-value");
// validRecords.add(Records.Entity.builder().id(recordId2).kind(kind2).data(storageData).build());
// Records storageRecords = Records.builder().records(validRecords).conversionStatuses(conversionStatuses).build();
//
// when(storageService.getStorageRecords(any())).thenReturn(storageRecords);
// when(indicesService.createIndex(any(), any(), any(), any(), any())).thenReturn(true);
//
// JobStatus jobStatus = this.sut.processRecordChangedMessages(recordChangedMessages, recordInfos);
//
// assertEquals(2, jobStatus.getStatusesList().size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.FAIL).size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.WARN).size());
// assertTrue(jobStatus.getJobStatusByRecordId(jobStatus.getIdsByIndexingStatus(IndexingStatus.WARN).get(0)).getIndexProgress().getTrace().contains("crs bla bla"));
// } catch (Exception e) {
// fail("Should not throw this exception" + e.getMessage());
// }
// }
//
// @Test
// public void should_returnValidJobStatus_givenNullSchemaForARecord_processRecordChangedMessageTest() {
// try {
// List<Records.Entity> validRecords = new ArrayList<>();
// List<ConversionStatus> conversionStatus = new LinkedList<>();
// Map<String, Object> storageData = new HashMap<>();
// storageData.put("schema1", "test-value");
// storageData.put("schema2", "test-value");
// storageData.put("schema3", "test-value");
// storageData.put("schema4", "test-value");
// storageData.put("schema5", "test-value");
// storageData.put("schema6", "test-value");
// validRecords.add(Records.Entity.builder().id(recordId2).kind(kind2).data(storageData).build());
// Records storageRecords = Records.builder().records(validRecords).conversionStatuses(conversionStatus).build();
// when(storageService.getStorageRecords(any())).thenReturn(storageRecords);
//
// Map<String, String> schema = createSchema();
// indexSchemaServiceMock(kind1, schema);
// indexSchemaServiceMock(kind2, null);
// when(elasticIndexNameResolver.getIndexNameFromKind(kind2)).thenReturn("tenant1-testindexer2-well-1.0.0");
// when(indicesService.createIndex(any(), any(), any(), any(), any())).thenReturn(true);
// JobStatus jobStatus = sut.processRecordChangedMessages(recordChangedMessages, recordInfos);
//
// assertEquals(2, jobStatus.getStatusesList().size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.FAIL).size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.WARN).size());
// assertEquals("Indexed Successfully", jobStatus.getStatusesList().get(1).getIndexProgress().getTrace().pop());
// assertEquals("schema not found", jobStatus.getStatusesList().get(1).getIndexProgress().getTrace().pop());
// } catch (Exception e) {
// fail("Should not throw this exception" + e.getMessage());
// }
// }
//
// @Test
// public void should_returnValidJobStatus_givenValidCreateAndUpdateRecords_processRecordChangedMessagesTest() {
// try {
// Map<String, Object> storageData = new HashMap<>();
// storageData.put("schema1", "test-value");
// List<ConversionStatus> conversionStatus = new LinkedList<>();
// List<Records.Entity> validRecords = new ArrayList<>();
// validRecords.add(Records.Entity.builder().id(recordId2).kind(kind2).data(storageData).build());
// Records storageRecords = Records.builder().records(validRecords).conversionStatuses(conversionStatus).build();
//
// when(storageService.getStorageRecords(any())).thenReturn(storageRecords);
// when(indicesService.createIndex(any(), any(), any(), any(), any())).thenReturn(true);
// Map<String, String> schema = createSchema();
// indexSchemaServiceMock(kind2, schema);
// indexSchemaServiceMock(kind1, null);
// JobStatus jobStatus = sut.processRecordChangedMessages(recordChangedMessages, recordInfos);
//
// assertEquals(2, jobStatus.getStatusesList().size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.FAIL).size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.SUCCESS).size());
// } catch (Exception e) {
// fail("Should not throw this exception" + e.getMessage());
// }
// }
//
// @Test
// public void should_properlyUpdateAuditLogs_givenValidCreateAndUpdateRecords() {
// try {
// Map<String, Object> storageData = new HashMap<>();
// List<ConversionStatus> conversionStatus = new LinkedList<>();
//
// storageData.put("schema1", "test-value");
// List<Records.Entity> validRecords = new ArrayList<>();
// validRecords.add(Records.Entity.builder().id(recordId2).kind(kind2).data(storageData).build());
// Records storageRecords = Records.builder().records(validRecords).conversionStatuses(conversionStatus).build();
//
// when(this.storageService.getStorageRecords(any())).thenReturn(storageRecords);
// when(this.indicesService.createIndex(any(), any(), any(), any(), any())).thenReturn(true);
// Map<String, String> schema = createSchema();
// indexSchemaServiceMock(kind2, schema);
// indexSchemaServiceMock(kind1, null);
// JobStatus jobStatus = this.sut.processRecordChangedMessages(recordChangedMessages, recordInfos);
//
// assertEquals(2, jobStatus.getStatusesList().size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.FAIL).size());
// assertEquals(1, jobStatus.getIdsByIndexingStatus(IndexingStatus.SUCCESS).size());
//
// verify(this.auditLogger).indexCreateRecordSuccess(singletonList("RecordStatus(id=tenant1:doc:test2, kind=tenant1:testindexer2:well:1.0.0, operationType=create, status=SUCCESS)"));
// verify(this.auditLogger).indexUpdateRecordFail(singletonList("RecordStatus(id=tenant1:doc:test1, kind=tenant1:testindexer1:well:1.0.0, operationType=update, status=FAIL)"));
// } catch (Exception e) {
// fail("Should not throw this exception" + e.getMessage());
// }
// }
//
// private BulkItemResponse prepareResponseFail() {
// BulkItemResponse responseFail = mock(BulkItemResponse.class);
// when(responseFail.isFailed()).thenReturn(true);
// when(responseFail.getFailureMessage()).thenReturn(failureMassage);
// when(responseFail.getId()).thenReturn(recordId1);
// when(responseFail.getFailure()).thenReturn(new BulkItemResponse.Failure("failure index", "failure type", "failure id", new Exception("test failure")));
// return responseFail;
// }
//
// private BulkItemResponse prepareResponseSuccess() {
// BulkItemResponse responseSuccess = mock(BulkItemResponse.class);
// when(responseSuccess.getId()).thenReturn(recordId2);
// return responseSuccess;
// }
//
// private void indexSchemaServiceMock(String kind, Map<String, String> schema) {
// if (schema == null) {
// IndexSchema indexSchema = IndexSchema.builder().kind(kind).dataSchema(null).build();
// when(indexSchemaService.getIndexerInputSchema(kind)).thenReturn(indexSchema);
// } else {
// IndexSchema indexSchema = IndexSchema.builder().kind(kind).dataSchema(schema).build();
// when(indexSchemaService.getIndexerInputSchema(kind)).thenReturn(indexSchema);
// }
// }
//
// private Map<String, String> createSchema() {
// Map<String, String> schema = new HashMap<>();
// schema.put("schema1", "keyword");
// schema.put("schema2", "boolean");
// schema.put("schema3", "date");
// schema.put("schema6", "object");
// return schema;
// }
//}
......@@ -29,9 +29,8 @@ import org.opengroup.osdu.core.common.model.http.DpsHeaders;
import org.opengroup.osdu.core.common.model.indexer.RecordQueryResponse;
import org.opengroup.osdu.core.common.model.indexer.RecordReindexRequest;
import org.opengroup.osdu.core.common.provider.interfaces.IRequestInfo;
import org.opengroup.osdu.core.common.search.Config;
import org.opengroup.osdu.indexer.config.IndexerConfigurationProperties;
import org.opengroup.osdu.indexer.util.IndexerQueueTaskBuilder;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.modules.junit4.PowerMockRunnerDelegate;
import org.springframework.test.context.junit4.SpringRunner;
......@@ -46,13 +45,14 @@ import static org.powermock.api.mockito.PowerMockito.when;
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(SpringRunner.class)
@PrepareForTest({Config.class})
public class ReindexServiceTest {
private final String cursor = "100";
private final String correlationId = UUID.randomUUID().toString();
@Mock
private IndexerConfigurationProperties configurationProperties;
@Mock
private StorageService storageService;
@Mock
......@@ -123,8 +123,7 @@ public class ReindexServiceTest {
results.add("test1");
recordQueryResponse.setResults(results);
mockStatic(Config.class);
when(Config.getStorageRecordsBatchSize()).thenReturn(1);
when(configurationProperties.getStorageRecordsBatchSize()).thenReturn(1);
when(storageService.getRecordsByKind(any())).thenReturn(recordQueryResponse);
......
......@@ -39,9 +39,9 @@ import org.opengroup.osdu.core.common.http.IUrlFetchService;
import org.opengroup.osdu.core.common.model.indexer.RecordQueryResponse;
import org.opengroup.osdu.core.common.model.indexer.RecordReindexRequest;
import org.opengroup.osdu.core.common.model.indexer.Records;
import org.opengroup.osdu.indexer.config.IndexerConfigurationProperties;
import org.springframework.http.HttpStatus;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.util.ReflectionTestUtils;
import java.lang.reflect.Type;
import java.net.URISyntaxException;
......@@ -67,6 +67,8 @@ public class StorageServiceTest {
private JaxRsDpsLog log;
@Mock
private IRequestInfo requestInfo;
@Mock
private IndexerConfigurationProperties configurationProperties;
@InjectMocks
private StorageServiceImpl sut;
......@@ -89,7 +91,7 @@ public class StorageServiceTest {
jobStatus.initialize(msgs);
ids = Arrays.asList(RECORD_ID1, RECORDS_ID2);
ReflectionTestUtils.setField(this.sut, "STORAGE_RECORDS_BATCH_SIZE", "20");
when(configurationProperties.getStorageRecordsBatchSize()).thenReturn(20);
}
@Test
......
......@@ -41,7 +41,7 @@ import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
import org.opengroup.osdu.core.common.model.search.DeploymentEnvironment;
import org.opengroup.osdu.core.common.model.search.IdToken;
import org.opengroup.osdu.core.common.provider.interfaces.IJwtCache;
import org.opengroup.osdu.core.common.search.Config;
import org.opengroup.osdu.indexer.config.IndexerConfigurationProperties;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.springframework.test.context.junit4.SpringRunner;
......@@ -52,11 +52,13 @@ import static org.powermock.api.mockito.PowerMockito.when;
@Ignore
@RunWith(SpringRunner.class)
@PrepareForTest({GoogleNetHttpTransport.class, GoogleCredential.class, NetHttpTransport.class, SignJwtResponse.class, Iam.Builder.class, HttpClients.class, EntityUtils.class, Config.class})
@PrepareForTest({GoogleNetHttpTransport.class, GoogleCredential.class, NetHttpTransport.class, SignJwtResponse.class, Iam.Builder.class, HttpClients.class, EntityUtils.class, IndexerConfigurationProperties.class})
public class ServiceAccountJwtGcpClientImplTest {
private static final String JWT_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1UVXlPREE0TXpFd09BPT0ifQ.eyJzdWIiOiJtemh1OUBzbGIuY29tIiwiaXNzIjoic2F1dGgtcHJldmlldy5zbGIuY29tIiwiYXVkIjoidGVzdC1zbGJkZXYtZGV2cG9ydGFsLnNsYmFwcC5jb20iLCJpYXQiOjE1MjgxNDg5MTUsImV4cCI6MTUyODIzNTMxNSwicHJvdmlkZXIiOiJzbGIuY29tIiwiY2xpZW50IjoidGVzdC1zbGJkZXYtZGV2cG9ydGFsLnNsYmFwcC5jb20iLCJ1c2VyaWQiOiJtemh1OUBzbGIuY29tIiwiZW1haWwiOiJtemh1OUBzbGIuY29tIiwiYXV0aHoiOiJ7XCJhY2NvdW50Q291bnRyeVwiOntcImNvZGVcIjpcInVzXCIsXCJpZFwiOjU3MTU5OTkxMDE4MTI3MzYsXCJuYW1lXCI6XCJVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2FcIn0sXCJhY2NvdW50SWRcIjo1NjkxODc4ODMzOTEzODU2LFwiYWNjb3VudE5hbWVcIjpcIlNJUyBJbnRlcm5hbCBIUVwiLFwiY3JlYXRlZFwiOlwiMjAxOC0wNS0wM1QxNzoyNTo1NS40NDNaXCIsXCJkZXBhcnRtZW50TWFuYWdlclwiOm51bGwsXCJzdWJzY3JpcHRpb25zXCI6W3tcImFjY291bnRJZFwiOjU2OTE4Nzg4MzM5MTM4NTYsXCJjb250cmFjdElkXCI6NTc1MTcwMDIxMjE1NDM2OCxcImNyZWF0ZWRcIjpcIjIwMTgtMDUtMDNUMTc6MzM6MDkuNTczWlwiLFwiY3JtQ29udHJhY3RJZFwiOlwiU0lTLUlOVEVSTkFMLUhRLVFBXCIsXCJjcm1Db250cmFjdEl0ZW1JZFwiOlwiZGV2bGlcIixcImV4cGlyYXRpb25cIjpcIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwWlwiLFwiaWRcIjo1MDc5Mjg4NTA0MTIzMzkyLFwicHJvZHVjdFwiOntcImNvZGVcIjpcImRldmVsb3Blci1saWdodFwiLFwiY29tY2F0TmFtZVwiOlwiTm90IGluIENvbUNhdFwiLFwiZmVhdHVyZVNldHNcIjpbe1wiYXBwbGljYXRpb25cIjp7XCJjb2RlXCI6XCJhcGlkZXZlbG9wZXJwb3J0YWxcIixcImlkXCI6NTE2ODkzMDY5NTkzODA0OCxcIm5hbWVcIjpcIkFQSSBEZXZlbG9wZXIgUG9ydGFsXCIsXCJ0eXBlXCI6XCJXZWJBcHBcIn0sXCJjbGFpbXNcIjpudWxsLFwiaWRcIjo1MTkxNTcyMjg3MTI3NTUyLFwibmFtZVwiOlwiRGV2ZWxvcGVyXCIsXCJ0eXBlXCI6XCJCQVNFXCJ9XSxcImlkXCI6NTE1MDczMDE1MTI2NDI1NixcIm5hbWVcIjpcIkRldmVsb3BlciBQb3J0YWxcIixcInBhcnROdW1iZXJcIjpcIlNERUwtUEItU1VCVVwifX1dLFwidXNlckVtYWlsXCI6XCJtemh1OUBzbGIuY29tXCIsXCJ1c2VyTmFtZVwiOlwiTWluZ3lhbmcgWmh1XCJ9XG4iLCJsYXN0bmFtZSI6IlpodSIsImZpcnN0bmFtZSI6Ik1pbmd5YW5nIiwiY291bnRyeSI6IiIsImNvbXBhbnkiOiIiLCJqb2J0aXRsZSI6IiIsInN1YmlkIjoiNDE3YjczMjktYmMwNy00OTFmLWJiYzQtZTQ1YjRhMWFiYjVjLVd3U0c0dyIsImlkcCI6ImNvcnAyIiwiaGQiOiJzbGIuY29tIn0.WQfGr1Xu-6IdaXdoJ9Fwzx8O2el1UkFPWo1vk_ujiAfdOjAR46UG5SrBC7mzC7gYRyK3a4fimBmbv3uRVJjTNXdxXRLZDw0SvXUMIOqjUGLom491ESbrtka_Xz7vGO-tWyDcEQDTfFzQ91LaVN7XdzL18_EDTXZoPhKb-zquyk9WLQxP9Mw-3Yh-UrbvC9nl1-GRn1IVbzp568kqkpOVUFM9alYSGw-oMGDZNt1DIYOJnpGaw2RB5B3AKvNivZH_Xdac7ZTzQbsDOt8B8DL2BphuxcJ9jshCJkM2SHQ15uErv8sfnzMwdF08e_0QcC_30I8eX9l8yOu6TnwwqlXunw";
@Mock
private IndexerConfigurationProperties indexerConfigurationProperties;
@Mock
private JaxRsDpsLog log;
@Mock
......@@ -101,8 +103,8 @@ public class ServiceAccountJwtGcpClientImplTest {
when(credential.createScoped(any())).thenReturn(credential);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any())).thenReturn(httpResponse);
when(Config.getDeploymentEnvironment()).thenReturn(DeploymentEnvironment.LOCAL);
when(Config.getGoogleAudiences()).thenReturn("aud");
when(indexerConfigurationProperties.getDeploymentEnvironment()).thenReturn(DeploymentEnvironment.LOCAL);
when(indexerConfigurationProperties.getGoogleAudiences()).thenReturn("aud");
// when(this.tenantInfoServiceProvider).thenReturn(this.tenantInfoService);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment