Update poms to conform to merge job requirements
[aai/search-data-service.git] / search-data-service / src / test / java / org / onap / aai / sa / rest / DocumentTest.java
diff --git a/search-data-service/src/test/java/org/onap/aai/sa/rest/DocumentTest.java b/search-data-service/src/test/java/org/onap/aai/sa/rest/DocumentTest.java
deleted file mode 100644 (file)
index e4cf335..0000000
+++ /dev/null
@@ -1,727 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017-2018 Amdocs
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.aai.sa.rest;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-// import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-import org.onap.aai.sa.searchdbabstraction.elasticsearch.config.ElasticSearchConfig;
-import org.onap.aai.sa.searchdbabstraction.elasticsearch.dao.DocumentStoreDataEntity;
-import org.onap.aai.sa.searchdbabstraction.elasticsearch.dao.DocumentStoreInterface;
-import org.onap.aai.sa.searchdbabstraction.elasticsearch.dao.ElasticSearchHttpController;
-import org.onap.aai.sa.searchdbabstraction.elasticsearch.exception.DocumentStoreOperationException;
-import org.onap.aai.sa.searchdbabstraction.entity.DocumentOperationResult;
-import org.onap.aai.sa.searchdbabstraction.entity.ErrorResult;
-import org.onap.aai.sa.searchdbabstraction.entity.SearchHits;
-import org.onap.aai.sa.searchdbabstraction.entity.SearchOperationResult;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import java.util.Properties;
-
-
-public class DocumentTest {
-
-    @Mock
-    SearchServiceApi searchServiceApi;
-
-    @Mock
-    HttpServletRequest request;
-
-    @Mock
-    HttpHeaders headers;
-
-    @Mock
-    HttpServletResponse httpResponse;
-
-    @Mock
-    DocumentStoreInterface documentStore;
-
-    @Mock
-    MultivaluedMap<String, String> multivaluedMap;
-
-    @InjectMocks
-    IndexApi indexApi;
-
-    DocumentApi documentApi;
-
-    @Mock
-    ElasticSearchHttpController httpController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        documentApi = new DocumentApi(searchServiceApi);
-    }
-
-    @Test
-    public void testDocumentClass_AllMethods() throws JsonProcessingException {
-        Document doc = new Document();
-        doc.setField("name-1", "value-1");
-        Assert.assertTrue(doc.getFields().size() == 1);
-        Assert.assertTrue(doc.toJson().contains("value-1"));
-        Assert.assertNotNull(doc.toString());
-        Assert.assertTrue(doc.toString().contains("name-1"));
-    }
-
-    @Test
-    public void testProcessPost_NullContent() {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = null;
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        ResponseEntity<String> response =
-                documentApi.processPost(content, request, headers, httpResponse, "index", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.BAD_REQUEST.value() == response.getStatusCodeValue());
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testProcessPost_NotNullContent() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenThrow(IllegalArgumentException.class);
-        ResponseEntity<?> response =
-                documentApi.processPost(content, request, headers, httpResponse, "index", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    //
-    @Test
-    public void testProcessPost_ValidRequest() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        DocumentOperationResult result = new DocumentOperationResult();
-        result.setResultCode(150);
-        result.setError(new ErrorResult("type-1", "reason-1"));
-        result.setFailureCause("test-failure");
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(true);
-        Mockito.when(documentStore.createDocument(Mockito.anyString(), Mockito.any(DocumentStoreDataEntity.class),
-                Mockito.anyBoolean())).thenReturn(result);
-        Mockito.doNothing().when(httpResponse).setHeader(Mockito.anyString(), Mockito.anyString());
-        ResponseEntity<String> response =
-                documentApi.processPost(content, request, headers, httpResponse, "index", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.INTERNAL_SERVER_ERROR.value() == response.getStatusCodeValue());
-    }
-
-    //
-    @Test
-    public void testProcessSearchWithGet_Created() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        SearchOperationResult result = new SearchOperationResult();
-        result.setResultCode(201);
-        SearchHits hits = new SearchHits();
-        hits.setTotalHits("2");
-        result.setSearchResult(hits);
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(true);
-        Mockito.when(documentStore.search(Mockito.anyString(), Mockito.anyString())).thenReturn(result);
-        ResponseEntity<String> response =
-                documentApi.processSearchWithGet(content, request, headers, "index-1", "query-text", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.CREATED.value() == response.getStatusCodeValue());
-
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testProcessSearchWithGet_ValidateThrowsException() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        SearchOperationResult result = new SearchOperationResult();
-        result.setResultCode(201);
-        SearchHits hits = new SearchHits();
-        hits.setTotalHits("2");
-        result.setSearchResult(hits);
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenThrow(IllegalArgumentException.class);
-        Mockito.when(documentStore.search(Mockito.anyString(), Mockito.anyString())).thenReturn(result);
-        ResponseEntity<String> response =
-                documentApi.processSearchWithGet(content, request, headers, "index-1", "query-text", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-
-    }
-
-    @Test
-    public void testProcessSearchWithGet_ValidateIsFalse() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        SearchOperationResult result = new SearchOperationResult();
-        result.setResultCode(201);
-        SearchHits hits = new SearchHits();
-        hits.setTotalHits("2");
-        result.setSearchResult(hits);
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(false);
-        Mockito.when(documentStore.search(Mockito.anyString(), Mockito.anyString())).thenReturn(result);
-        ResponseEntity<String> response =
-                documentApi.processSearchWithGet(content, request, headers, "index-1", "query-text", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-
-    }
-
-    @Test
-    public void testProcessSearchWithGet_InvalidResult() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        SearchOperationResult result = new SearchOperationResult();
-        result.setResultCode(302);
-        SearchHits hits = new SearchHits();
-        hits.setTotalHits("2");
-        result.setSearchResult(hits);
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(true);
-        Mockito.when(documentStore.search(Mockito.anyString(), Mockito.anyString())).thenReturn(result);
-        ResponseEntity<String> response =
-                documentApi.processSearchWithGet(content, request, headers, "index-1", "query-text", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FOUND.value() == response.getStatusCodeValue());
-
-    }
-
-    @Test
-    public void testProcessPut_NullContent() {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = null;
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        ResponseEntity<String> response =
-                documentApi.processPut(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.BAD_REQUEST.value() == response.getStatusCodeValue());
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testProcessPut_RequestThrowsException() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenThrow(IllegalArgumentException.class);
-        ResponseEntity<String> response =
-                documentApi.processPut(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testProcessPut_RequestInvalid() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(false);
-        ResponseEntity<String> response =
-                documentApi.processPut(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testProcessPut_ResultInvalid() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        DocumentOperationResult result = new DocumentOperationResult();
-        result.setResultCode(302);
-        result.setError(new ErrorResult("type-1", "reason-1"));
-        result.setFailureCause("test-failure");
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(true);
-        Mockito.when(documentStore.createDocument(Mockito.anyString(), Mockito.any(DocumentStoreDataEntity.class),
-                Mockito.anyBoolean())).thenReturn(result);
-        ResponseEntity<String> response =
-                documentApi.processPut(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FOUND.value() == response.getStatusCodeValue());
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testProcessDelete_RequestThrowsException() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenThrow(IllegalArgumentException.class);
-        ResponseEntity<String> response =
-                documentApi.processDelete(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testProcessDelete_RequestInvalid() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(false);
-        ResponseEntity<String> response =
-                documentApi.processDelete(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @Ignore
-    @Test
-    public void testProcessDelete_ResultInvalid() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        DocumentOperationResult result = new DocumentOperationResult();
-        result.setResultCode(302);
-        result.setError(new ErrorResult("type-1", "reason-1"));
-        result.setFailureCause("test-failure");
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(true);
-        Mockito.when(documentStore.deleteDocument(Mockito.anyString(), Mockito.any(DocumentStoreDataEntity.class)))
-                .thenReturn(result);
-        ResponseEntity<String> response =
-                documentApi.processDelete(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FOUND.value() == response.getStatusCodeValue());
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testProcessGet_RequestThrowsException() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenThrow(IllegalArgumentException.class);
-        ResponseEntity<String> response =
-                documentApi.processGet(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testProcessGet_RequestInvalid() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(false);
-        ResponseEntity<String> response =
-                documentApi.processGet(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testProcessGet_ResultInvalid() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        DocumentOperationResult result = new DocumentOperationResult();
-        result.setResultCode(302);
-        result.setError(new ErrorResult("type-1", "reason-1"));
-        result.setFailureCause("test-failure");
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(true);
-        Mockito.when(documentStore.getDocument(Mockito.anyString(), Mockito.any(DocumentStoreDataEntity.class)))
-                .thenReturn(result);
-        ResponseEntity<String> response =
-                documentApi.processGet(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FOUND.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testQueryWithGetWithPayload_NullContent() {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = null;
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        ResponseEntity<String> response =
-                documentApi.queryWithGetWithPayload(content, request, headers, "index-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.BAD_REQUEST.value() == response.getStatusCodeValue());
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testQueryWithGetWithPayload_RequestThrowsException() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenThrow(IllegalArgumentException.class);
-        ResponseEntity<String> response =
-                documentApi.queryWithGetWithPayload(content, request, headers, "index-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testQueryWithGetWithPayload_RequestInvalid() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(false);
-        ResponseEntity<String> response =
-                documentApi.queryWithGetWithPayload(content, request, headers, "index-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testCreateProcessIndex_IndexApi_RequestInvalid() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(false);
-        ResponseEntity<String> response =
-                indexApi.processCreateIndex("document-1", request, headers, "index-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testCreateProcessIndex_IndexApi_RequestThrowsException() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenThrow(IllegalArgumentException.class);
-        ResponseEntity<String> response =
-                indexApi.processCreateIndex("document-1", request, headers, "index-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testCreateProcessIndex_IndexApi_NullDocument() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String documentSchema = null;
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(true);
-        ResponseEntity<String> response =
-                indexApi.processCreateIndex(documentSchema, request, headers, "index-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.INTERNAL_SERVER_ERROR.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testProcessDelete_IndexApi_RequestInvalid() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(false);
-        ResponseEntity<String> response = indexApi.processDelete("document-1", request, headers, documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testProcessDelete_IndexApi_RequestThrowsException() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenThrow(IllegalArgumentException.class);
-        ResponseEntity<String> response = indexApi.processDelete("document-1", request, headers, documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testProcessDelete_IndexApi_DeleteIndexException() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenReturn(true);
-        Mockito.when(documentStore.deleteIndex(Mockito.anyString())).thenThrow(DocumentStoreOperationException.class);
-        ResponseEntity<String> response = indexApi.processDelete("document-1", request, headers, documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.INTERNAL_SERVER_ERROR.value() == response.getStatusCodeValue());
-    }
-
-    @Test
-    public void testUserAuthorization() throws Exception {
-        String transactionId = "transactionId-1";
-        String remoteAddr = "http://127.0.0.1";
-        String content = "content";
-        // Mockito.when(headers.getRequestHeaders()).thenReturn(multivaluedMap);;
-        Mockito.when(multivaluedMap.getFirst(Mockito.anyString())).thenReturn(transactionId);
-        Mockito.when(request.getRemoteAddr()).thenReturn(remoteAddr);
-        Mockito.when(request.getMethod()).thenReturn("testMethod");
-        Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://127.0.0.1"));
-        Mockito.when(request.getRemoteHost()).thenReturn("localhost");
-        Mockito.when(searchServiceApi.validateRequest(Mockito.any(HttpHeaders.class),
-                Mockito.any(HttpServletRequest.class), Mockito.any(ApiUtils.Action.class), Mockito.anyString()))
-                .thenCallRealMethod();
-
-        Mockito.doAnswer(new Answer<ElasticSearchConfig>() {
-            public ElasticSearchConfig answer(InvocationOnMock invocation) {
-                Properties properties = new Properties();
-                return new ElasticSearchConfig(properties);
-            }
-        }).when(httpController).getElasticSearchConfig();
-
-        searchServiceApi.documentStore = httpController;
-
-        ResponseEntity<String> response =
-                documentApi.processPut(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-
-        Mockito.doAnswer(new Answer<ElasticSearchConfig>() {
-            public ElasticSearchConfig answer(InvocationOnMock invocation) {
-                Properties properties = new Properties();
-                properties.put(ElasticSearchConfig.ES_AUTH_ENABLED, "true");
-                return new ElasticSearchConfig(properties);
-            }
-        }).when(httpController).getElasticSearchConfig();
-
-
-        response = documentApi.processPut(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FORBIDDEN.value() == response.getStatusCodeValue());
-
-        Mockito.doAnswer(new Answer<ElasticSearchConfig>() {
-            public ElasticSearchConfig answer(InvocationOnMock invocation) {
-                Properties properties = new Properties();
-                properties.put(ElasticSearchConfig.ES_AUTH_ENABLED, "false");
-                return new ElasticSearchConfig(properties);
-            }
-        }).when(httpController).getElasticSearchConfig();
-
-        DocumentOperationResult result = new DocumentOperationResult();
-        result.setResultCode(302);
-        result.setError(new ErrorResult("type-1", "reason-1"));
-        result.setFailureCause("test-failure");
-        Mockito.when(documentStore.createDocument(Mockito.anyString(), Mockito.any(DocumentStoreDataEntity.class),
-                Mockito.anyBoolean())).thenReturn(result);
-        response = documentApi.processPut(content, request, headers, httpResponse, "index", "id-1", documentStore);
-        Assert.assertNotNull(response);
-        Assert.assertTrue(HttpStatus.FOUND.value() == response.getStatusCodeValue());
-
-    }
-}
\ No newline at end of file