use of org.finra.herd.model.jpa.SearchIndexStatusEntity in project herd by FINRAOS.
the class SearchIndexServiceImplTest method testCreateSearchIndexEntity.
@Test
public void testCreateSearchIndexEntity() {
// Create a search index key.
SearchIndexKey searchIndexKey = new SearchIndexKey(SEARCH_INDEX_NAME);
// Create a search index create request.
SearchIndexCreateRequest searchIndexCreateRequest = new SearchIndexCreateRequest(SEARCH_INDEX_TYPE);
// Creates a test search index type entity.
SearchIndexTypeEntity searchIndexTypeEntity = new SearchIndexTypeEntity();
searchIndexTypeEntity.setCode(SEARCH_INDEX_TYPE);
// Creates a test search index status entity.
SearchIndexStatusEntity searchIndexStatusEntity = new SearchIndexStatusEntity();
searchIndexStatusEntity.setCode(SEARCH_INDEX_STATUS);
// Create a search index entity from the search index create request.
SearchIndexEntity searchIndexEntity = searchIndexServiceImpl.createSearchIndexEntity(searchIndexCreateRequest, searchIndexTypeEntity, searchIndexStatusEntity);
// Verify the external calls.
verifyNoMoreInteractions(alternateKeyHelper, businessObjectDefinitionDao, businessObjectDefinitionHelper, configurationDaoHelper, searchIndexDao, searchIndexDaoHelper, searchIndexHelperService, searchIndexStatusDaoHelper, searchIndexTypeDaoHelper);
// Validate the returned object.
assertNotNull(searchIndexEntity);
assertNotNull(searchIndexEntity.getType());
assertEquals(SEARCH_INDEX_TYPE, searchIndexEntity.getType().getCode());
assertNotNull(searchIndexEntity.getStatus());
assertEquals(SEARCH_INDEX_STATUS, searchIndexEntity.getStatus().getCode());
assertNull(searchIndexEntity.getCreatedBy());
assertNull(searchIndexEntity.getCreatedOn());
assertNull(searchIndexEntity.getUpdatedBy());
assertNull(searchIndexEntity.getUpdatedOn());
}
use of org.finra.herd.model.jpa.SearchIndexStatusEntity in project herd by FINRAOS.
the class SearchIndexDaoHelper method updateSearchIndexStatus.
/**
* Gets a search index entity by its key and ensure it exists.
*
* @param searchIndexKey the search index key (case sensitive)
* @param searchIndexStatus the status of the search index (case insensitive)
*
* @throws org.finra.herd.model.ObjectNotFoundException if the search index entity or search index status entity doesn't exist
*/
public void updateSearchIndexStatus(SearchIndexKey searchIndexKey, String searchIndexStatus) throws ObjectNotFoundException {
// Get the search index entity and ensure that it exists.
SearchIndexEntity searchIndexEntity = getSearchIndexEntity(searchIndexKey);
// Get the search index status entity and ensure that it exists.
SearchIndexStatusEntity searchIndexStatusEntity = searchIndexStatusDaoHelper.getSearchIndexStatusEntity(searchIndexStatus);
// Update the search index status.
searchIndexEntity.setStatus(searchIndexStatusEntity);
// Persist the entity.
searchIndexDao.saveAndRefresh(searchIndexEntity);
}
use of org.finra.herd.model.jpa.SearchIndexStatusEntity in project herd by FINRAOS.
the class SearchIndexStatusDaoTestHelper method createSearchIndexStatusEntity.
/**
* Creates and persists a new search index status entity.
*
* @param statusCode the code of the search index status
*
* @return the newly created search index status entity
*/
public SearchIndexStatusEntity createSearchIndexStatusEntity(String statusCode) {
SearchIndexStatusEntity searchIndexStatusEntity;
searchIndexStatusEntity = searchIndexStatusDao.getSearchIndexStatusByCode(statusCode);
if (searchIndexStatusEntity == null) {
searchIndexStatusEntity = new SearchIndexStatusEntity();
searchIndexStatusEntity.setCode(statusCode);
searchIndexStatusEntity = searchIndexStatusDao.saveAndRefresh(searchIndexStatusEntity);
}
return searchIndexStatusEntity;
}
use of org.finra.herd.model.jpa.SearchIndexStatusEntity in project herd by FINRAOS.
the class SearchIndexActivationServiceTest method testSearchIndexActivation.
@Test
@Ignore
public void testSearchIndexActivation() {
// Get the search index type value.
String searchIndexType = SearchIndexTypeEntity.SearchIndexTypes.BUS_OBJCT_DFNTN.name();
SearchIndexTypeEntity searchIndexTypeEntity = new SearchIndexTypeEntity();
searchIndexTypeEntity.setCode(searchIndexType);
// Get the search index status value.
String searchIndexStatus = SearchIndexStatusEntity.SearchIndexStatuses.READY.name();
// Creates a test search index status entity.
SearchIndexStatusEntity searchIndexStatusEntity = new SearchIndexStatusEntity();
searchIndexStatusEntity.setCode(searchIndexStatus);
// Create a search index entity
SearchIndexEntity searchIndexEntity = searchIndexDaoTestHelper.createSearchIndexEntity(SEARCH_INDEX_NAME, searchIndexType, searchIndexStatus);
// Search index key
SearchIndexKey searchIndexKey = new SearchIndexKey(SEARCH_INDEX_NAME);
// Create a search index entity response
SearchIndexEntity responseSearchIndexEntity = new SearchIndexEntity();
responseSearchIndexEntity.setName(SEARCH_INDEX_NAME);
responseSearchIndexEntity.setType(searchIndexTypeEntity);
responseSearchIndexEntity.setActive(Boolean.TRUE);
responseSearchIndexEntity.setCreatedBy(USER_ID);
responseSearchIndexEntity.setCreatedOn(new Timestamp(CREATED_ON.toGregorianCalendar().getTimeInMillis()));
responseSearchIndexEntity.setUpdatedOn(new Timestamp(UPDATED_ON.toGregorianCalendar().getTimeInMillis()));
// Create a search index activation request.
SearchIndexActivationCreateRequest searchIndexActivationCreateRequest = new SearchIndexActivationCreateRequest();
searchIndexActivationCreateRequest.setSearchIndexKey(searchIndexKey);
// Mock the external calls.
when(alternateKeyHelper.validateStringParameter("Search index name", SEARCH_INDEX_NAME)).thenReturn(SEARCH_INDEX_NAME);
when(searchIndexDaoHelper.getSearchIndexEntity(searchIndexKey)).thenReturn(searchIndexEntity);
when(searchIndexDao.getSearchIndexEntities(searchIndexTypeEntity)).thenReturn(Arrays.asList(searchIndexEntity));
when(searchIndexDao.saveAndRefresh(any(SearchIndexEntity.class))).thenReturn(responseSearchIndexEntity);
// Call the method under test.
SearchIndexActivation response = searchIndexActivationService.createSearchIndexActivation(searchIndexActivationCreateRequest);
// Verify the external calls.
verify(alternateKeyHelper).validateStringParameter("Search index name", SEARCH_INDEX_NAME);
verify(searchIndexDaoHelper).getSearchIndexEntity(searchIndexKey);
verify(searchIndexDao).getSearchIndexEntities(searchIndexTypeEntity);
verify(searchIndexDao).saveAndRefresh(any(SearchIndexEntity.class));
verifyNoMoreInteractions(alternateKeyHelper, searchIndexDao, searchIndexDaoHelper);
// Validate the returned object.
assertEquals(new SearchIndex(searchIndexKey, searchIndexType, searchIndexStatus, SEARCH_INDEX_ACTIVE_FLAG, NO_SEARCH_INDEX_STATISTICS, USER_ID, CREATED_ON, UPDATED_ON), response);
}
use of org.finra.herd.model.jpa.SearchIndexStatusEntity in project herd by FINRAOS.
the class SearchIndexServiceTest method testCreateSearchIndex.
@Test
public void testCreateSearchIndex() {
// Create a search index key.
SearchIndexKey searchIndexKey = new SearchIndexKey(SEARCH_INDEX_NAME);
// Get the search index type value.
String searchIndexType = SearchIndexTypeEntity.SearchIndexTypes.BUS_OBJCT_DFNTN.name();
// Get the search index status value.
String searchIndexStatus = SearchIndexStatusEntity.SearchIndexStatuses.BUILDING.name();
// Create a search index create request.
SearchIndexCreateRequest searchIndexCreateRequest = new SearchIndexCreateRequest(searchIndexType);
// Creates a test search index type entity.
SearchIndexTypeEntity searchIndexTypeEntity = new SearchIndexTypeEntity();
searchIndexTypeEntity.setCode(searchIndexType);
// Creates a test search index status entity.
SearchIndexStatusEntity searchIndexStatusEntity = new SearchIndexStatusEntity();
searchIndexStatusEntity.setCode(searchIndexStatus);
// Creates a test search index entity.
SearchIndexEntity searchIndexEntity = new SearchIndexEntity();
searchIndexEntity.setName(SEARCH_INDEX_NAME);
searchIndexEntity.setType(searchIndexTypeEntity);
searchIndexEntity.setStatus(searchIndexStatusEntity);
searchIndexEntity.setCreatedBy(USER_ID);
searchIndexEntity.setCreatedOn(new Timestamp(CREATED_ON.toGregorianCalendar().getTimeInMillis()));
searchIndexEntity.setUpdatedOn(new Timestamp(UPDATED_ON.toGregorianCalendar().getTimeInMillis()));
searchIndexEntity.setActive(Boolean.FALSE);
// Mock some of the external call responses.
@SuppressWarnings("unchecked") Future<Void> mockedFuture = mock(Future.class);
// Mock the external calls.
when(alternateKeyHelper.validateStringParameter("Search index type", searchIndexType)).thenReturn(searchIndexType);
when(searchIndexTypeDaoHelper.getSearchIndexTypeEntity(searchIndexType)).thenReturn(searchIndexTypeEntity);
when(searchIndexStatusDaoHelper.getSearchIndexStatusEntity(searchIndexStatus)).thenReturn(searchIndexStatusEntity);
when(searchIndexDao.saveAndRefresh(any(SearchIndexEntity.class))).thenReturn(searchIndexEntity);
when(configurationHelper.getProperty(ConfigurationValue.ELASTICSEARCH_BDEF_DOCUMENT_TYPE, String.class)).thenReturn(SEARCH_INDEX_DOCUMENT_TYPE);
when(configurationHelper.getProperty(ConfigurationValue.ELASTICSEARCH_BDEF_INDEX_NAME, String.class)).thenReturn(SEARCH_INDEX_ALIAS_BDEF);
when(configurationDaoHelper.getClobProperty(ConfigurationValue.ELASTICSEARCH_BDEF_MAPPINGS_JSON.getKey())).thenReturn(SEARCH_INDEX_MAPPING);
when(configurationDaoHelper.getClobProperty(ConfigurationValue.ELASTICSEARCH_BDEF_SETTINGS_JSON.getKey())).thenReturn(SEARCH_INDEX_SETTINGS);
when(searchIndexHelperService.indexAllBusinessObjectDefinitions(searchIndexKey, SEARCH_INDEX_DOCUMENT_TYPE)).thenReturn(mockedFuture);
// Create a search index.
SearchIndex response = searchIndexService.createSearchIndex(searchIndexCreateRequest);
// Verify the external calls.
verify(alternateKeyHelper).validateStringParameter("Search index type", searchIndexType);
verify(searchIndexTypeDaoHelper).getSearchIndexTypeEntity(searchIndexType);
verify(searchIndexStatusDaoHelper).getSearchIndexStatusEntity(searchIndexStatus);
verify(searchIndexDao).saveAndRefresh(any(SearchIndexEntity.class));
verify(configurationHelper).getProperty(ConfigurationValue.ELASTICSEARCH_BDEF_DOCUMENT_TYPE, String.class);
verify(configurationHelper, times(2)).getProperty(ConfigurationValue.ELASTICSEARCH_BDEF_INDEX_NAME, String.class);
verify(configurationDaoHelper).getClobProperty(ConfigurationValue.ELASTICSEARCH_BDEF_MAPPINGS_JSON.getKey());
verify(configurationDaoHelper).getClobProperty(ConfigurationValue.ELASTICSEARCH_BDEF_SETTINGS_JSON.getKey());
verify(indexFunctionsDao).createIndex(any(), any(), any(), any(), any());
verify(searchIndexHelperService).indexAllBusinessObjectDefinitions(searchIndexKey, SEARCH_INDEX_DOCUMENT_TYPE);
verifyNoMoreInteractions(alternateKeyHelper, businessObjectDefinitionDao, businessObjectDefinitionHelper, configurationDaoHelper, configurationHelper, indexFunctionsDao, searchIndexDao, searchIndexDaoHelper, searchIndexHelperService, searchIndexStatusDaoHelper, searchIndexTypeDaoHelper);
// Validate the returned object.
assertEquals(new SearchIndex(searchIndexKey, searchIndexType, searchIndexStatus, SEARCH_INDEX_DEFAULT_ACTIVE_FLAG, NO_SEARCH_INDEX_STATISTICS, USER_ID, CREATED_ON, UPDATED_ON), response);
}
Aggregations