Update poms to conform to merge job requirements
[aai/search-data-service.git] / search-data-service / src / test / java / org / onap / aai / sa / rest / IndexApiTest.java
diff --git a/search-data-service/src/test/java/org/onap/aai/sa/rest/IndexApiTest.java b/search-data-service/src/test/java/org/onap/aai/sa/rest/IndexApiTest.java
deleted file mode 100644 (file)
index ed84a7a..0000000
+++ /dev/null
@@ -1,280 +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 static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import org.junit.Before;
-// import org.glassfish.jersey.server.ResourceConfig;
-// import org.glassfish.jersey.test.JerseyTest;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.onap.aai.sa.searchdbabstraction.elasticsearch.exception.DocumentStoreOperationException;
-import org.onap.aai.sa.searchdbabstraction.entity.OperationResult;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.MvcResult;
-
-//import javax.ws.rs.core.Application;
-//import javax.ws.rs.core.Response;
-
-
-/**
- * This suite of tests is intended to exercise the set of REST endpoints associated with manipulating Indexes in the
- * document store.
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest
-@AutoConfigureMockMvc
-public class IndexApiTest {
-
-    private final String TOP_URI = "/test/indexes/";
-    private final String SIMPLE_DOC_SCHEMA_JSON = "src/test/resources/json/simpleDocument.json";
-    private final String DYNAMIC_INDEX_PAYLOAD = "src/test/resources/json/dynamicIndex.json";
-
-    @Autowired
-    private MockMvc mockMvc;
-
-    //
-    // @Override
-    // protected Application configure() {
-    //
-    // // Make sure that our test endpoint is on the resource path
-    // // for Jersey Test.
-    // return new ResourceConfig(SearchServiceApiHarness.class);
-    // }
-    //
-    //
-
-    @Before
-    public void setup() throws Exception {
-        System.setProperty("CONFIG_HOME", System.getProperty("user.dir") + File.separator + "src/test/resources/json");
-    }
-
-    /**
-     * Tests the dynamic shcema creation flow that send the request JSON to the data store without any JSON validation
-     * against a schema
-     *
-     * @throws IOException
-     */
-    @Test
-    public void createDynamicIndexTest() throws Exception {
-        String indexName = "super-ultra-dynamic-mega-index";
-        String dynamicUri = TOP_URI + "dynamic/";
-        File indexFile = new File(DYNAMIC_INDEX_PAYLOAD);
-        String indexPayload = TestUtils.readFileToString(indexFile);
-
-        // String result = target(dynamicUri + indexName).request().put(Entity.json(indexPayload), String.class);
-        MvcResult result = this.mockMvc
-                .perform(put(dynamicUri + indexName).contentType(MediaType.APPLICATION_JSON).content(indexPayload))
-                .andReturn();
-
-        assertEquals(indexPayload, result.getResponse().getContentAsString());
-    }
-
-
-    /**
-     * This test validates that the {@link IndexApi} is able to convert {@link OperationResult} obects to standard REST
-     * {@link ResponseEntity} objects.
-     *
-     * @throws FileNotFoundException
-     * @throws IOException
-     * @throws DocumentStoreOperationException
-     */
-    @Test
-    public void responseFromOperationResultTest()
-            throws FileNotFoundException, IOException, DocumentStoreOperationException {
-
-        int SUCCESS_RESULT_CODE = 200;
-        String SUCCESS_RESULT_STRING = "Everything is ay-okay!";
-        int FAILURE_RESULT_CODE = 500;
-        String FAILURE_CAUSE_STRING = "Something went wrong!";
-
-
-        // Create an instance of the index API endpoint that we will test against.
-        // We will override the init() method because we don't want it to try to
-        // connect to a real document store.
-        IndexApi indexApi = new IndexApi(new SearchServiceApiHarness()) {
-            @Override
-            public void init() { /* do nothing */ }
-        };
-        //
-        // Construct an OperationResult instance with a success code and string.
-        OperationResult successResult = new OperationResult();
-        successResult.setResultCode(SUCCESS_RESULT_CODE);
-        successResult.setResult(SUCCESS_RESULT_STRING);
-
-        // Convert our success OperationResult to a standard REST Response...
-        ResponseEntity<?> successResponse = indexApi.responseFromOperationResult(successResult);
-
-        // ...and validate that the Response is correctly populated.
-        assertEquals("Unexpected result code", SUCCESS_RESULT_CODE, successResponse.getStatusCodeValue());
-        assertTrue("Incorrect result string", ((String) successResponse.getBody()).equals(SUCCESS_RESULT_STRING));
-
-        // Construct an OperationResult instance with an error code and failure
-        // cause.
-        OperationResult failureResult = new OperationResult();
-        failureResult.setResultCode(FAILURE_RESULT_CODE);
-        failureResult.setFailureCause(FAILURE_CAUSE_STRING);
-
-        // Convert our failure OperationResult to a standard REST Response...
-        ResponseEntity<?> failureResponse = indexApi.responseFromOperationResult(failureResult);
-
-        // ...and validate that the Response is correctly populated.
-        assertEquals("Unexpected result code", FAILURE_RESULT_CODE, failureResponse.getStatusCodeValue());
-        assertTrue("Incorrect result string", ((String) failureResponse.getBody()).equals(FAILURE_CAUSE_STRING));
-    }
-
-    //
-    //
-    // /**
-    // * This test validates the behaviour of the 'Create Index' POST request
-    // * endpoint.
-    // *
-    // * @throws IOException
-    // */
-    @Test
-    public void createIndexTest() throws Exception {
-
-        String INDEX_NAME = "test-index";
-        String EXPECTED_SETTINGS = "{\"analysis\": " + "{\"filter\": " + "{\"nGram_filter\": { "
-                + "\"type\": \"nGram\", " + "\"min_gram\": 1, " + "\"max_gram\": 50, "
-                + "\"token_chars\": [ \"letter\", \"digit\", \"punctuation\", \"symbol\" ]}}," + "\"analyzer\": {"
-                + "\"nGram_analyzer\": " + "{\"type\": \"custom\"," + "\"tokenizer\": \"whitespace\","
-                + "\"filter\": [\"lowercase\",\"asciifolding\",\"nGram_filter\"]}," + "\"whitespace_analyzer\": "
-                + "{\"type\": \"custom\"," + "\"tokenizer\": \"whitespace\","
-                + "\"filter\": [\"lowercase\",\"asciifolding\"]}}}}";
-        String EXPECTED_MAPPINGS =
-                "{\"dynamic_templates\":[{\"strings\":{\"match_mapping_type\":\"string\",\"match\":\"*\",\"mapping\":{\"type\":\"text\",\"fielddata\":true}}}]"
-                        + ",\"properties\": {" + "\"serverName\": {" + "\"type\": \"string\", "
-                        + "\"index\": \"analyzed\", " + "\"search_analyzer\": \"whitespace\"}, "
-                        + "\"serverComplex\": {" + "\"type\": \"string\", " + "\"search_analyzer\": \"whitespace\"}}}";
-
-        // Read a valid document schema from a json file.
-        File schemaFile = new File(SIMPLE_DOC_SCHEMA_JSON);
-        String documentJson = TestUtils.readFileToString(schemaFile);
-
-        // Send a request to our 'create index' endpoint, using the schema
-        // which we just read.
-        // String result = target(TOP_URI + INDEX_NAME).request().put(Entity.json(documentJson), String.class);
-        MvcResult result = this.mockMvc
-                .perform(put(TOP_URI + INDEX_NAME).contentType(MediaType.APPLICATION_JSON).content(documentJson))
-                .andReturn();
-
-
-        // Our stub document store DAO returns the parameters that it was
-        // passed as the result string, so now we can validate that our
-        // endpoint invoked it with the correct parameters.
-        String[] tokenizedResult = result.getResponse().getContentAsString().split("@");
-        assertTrue("Unexpected Index Name '" + tokenizedResult[0] + "' passed to doc store DAO",
-                tokenizedResult[0].equals(INDEX_NAME));
-        assertTrue("Unexpected settings string '" + tokenizedResult[1] + "' passed to doc store DAO",
-                tokenizedResult[1].equals(EXPECTED_SETTINGS));
-        assertTrue("Unexpected mappings string '" + tokenizedResult[2] + "' passed to doc store DAO",
-                tokenizedResult[2].equals(EXPECTED_MAPPINGS));
-    }
-
-    //
-    //
-    /**
-     * This test validates that a 'create index' request with an improperly formatted document schema as the payload
-     * will result in an appropriate error being returned from the endpoint.
-     */
-    @Test
-    public void createIndexWithMangledSchemaTest() throws Exception {
-
-        String INDEX_NAME = "test-index";
-        int BAD_REQUEST_CODE = 400;
-
-        String invalidSchemaString = "this is definitely not json!";
-
-        // ResponseEntity result = target(TOP_URI + INDEX_NAME).request().put(Entity.json(invalidSchemaString),
-        // ResponseEntity.class);
-        MvcResult result = this.mockMvc
-                .perform(put(TOP_URI + INDEX_NAME).contentType(MediaType.APPLICATION_JSON).content(invalidSchemaString))
-                .andReturn();
-
-        assertEquals("Invalid document schema should result in a 400 error", BAD_REQUEST_CODE,
-                result.getResponse().getStatus());
-    }
-
-    //
-    //
-    /**
-     * This test validates the behaviour of the 'Delete Index' end point.
-     */
-    @Test
-    public void deleteIndexTest() throws Exception {
-
-        String INDEX_NAME = "test-index";
-
-        // Send a request to the 'delete index' endpoint.
-        // String result = target(TOP_URI + INDEX_NAME).request().delete(String.class);
-
-        MvcResult result = this.mockMvc.perform(delete(TOP_URI + INDEX_NAME).contentType(MediaType.APPLICATION_JSON)
-                .header("If-Match", "1").content("Some Json")).andReturn();
-
-        // Validate that the expected parameters were passed to the document
-        // store DAO.
-        assertTrue("Unexpected index name '" + result.getResponse().getContentAsString() + "' passed to doc store DAO",
-                result.getResponse().getContentAsString().equals(INDEX_NAME));
-    }
-
-    //
-    //
-    // /**
-    // * This test validates that attempting to delete an index which does not
-    // * exist results in a 404 error.
-    // */
-    @Test
-    public void deleteIndexDoesNotExistTest() throws Exception {
-
-        int NOT_FOUND_CODE = 404;
-
-        // Send a request to the 'delete index' endpoint, specifying a
-        // non-existent index.
-        // ResponseEntity result = target(TOP_URI +
-        // StubEsController.DOES_NOT_EXIST_INDEX).request().delete(ResponseEntity.class);
-
-        MvcResult result =
-                this.mockMvc
-                        .perform(delete(TOP_URI + StubEsController.DOES_NOT_EXIST_INDEX)
-                                .contentType(MediaType.APPLICATION_JSON).header("If-Match", "1").content("Some Json"))
-                        .andReturn();
-
-
-        // Validate that a 404 error code is returned from the end point.
-        assertEquals("Deleting an index which does not exist should result in a 404 error", NOT_FOUND_CODE,
-                result.getResponse().getStatus());
-    }
-}