X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Forg%2Fonap%2Faai%2Fsa%2Frest%2FDocumentApiTest.java;fp=src%2Ftest%2Fjava%2Forg%2Fonap%2Faai%2Fsa%2Frest%2FDocumentApiTest.java;h=49a10df72220369a3e491e95fa84cb53c788bb55;hb=ce701746049abfd94a87b46e43f296faf32d6213;hp=b11e60b8e001a2c4b842a5eb06c3b9776946e7b4;hpb=06d31abe3065205c87447687ad87c05e602c97d7;p=aai%2Fsearch-data-service.git diff --git a/src/test/java/org/onap/aai/sa/rest/DocumentApiTest.java b/src/test/java/org/onap/aai/sa/rest/DocumentApiTest.java index b11e60b..49a10df 100644 --- a/src/test/java/org/onap/aai/sa/rest/DocumentApiTest.java +++ b/src/test/java/org/onap/aai/sa/rest/DocumentApiTest.java @@ -20,13 +20,21 @@ */ package org.onap.aai.sa.rest; -import org.glassfish.jersey.server.ResourceConfig; -import org.glassfish.jersey.test.JerseyTest; +//import org.glassfish.jersey.server.ResourceConfig; +//import org.glassfish.jersey.test.JerseyTest; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; import org.junit.Ignore; import org.junit.Test; +import org.junit.runner.RunWith; +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.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.MvcResult; import javax.ws.rs.client.Entity; import javax.ws.rs.client.Invocation.Builder; @@ -36,7 +44,18 @@ import java.io.IOException; import static org.junit.Assert.assertTrue; -public class DocumentApiTest extends JerseyTest { +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@RunWith(SpringRunner.class) +@SpringBootTest +@AutoConfigureMockMvc +public class DocumentApiTest { private static final String INDEXES_URI = "/test/indexes/"; private static final String DOCUMENT_URI = "documents/"; @@ -59,14 +78,8 @@ public class DocumentApiTest extends JerseyTest { private static final String CREATE_JSON_CONTENT = "creation content"; - - @Override - protected Application configure() { - - // Make sure that our test endpoint is on the resource path - // for Jersey Test. - return new ResourceConfig(SearchServiceApiHarness.class); - } + @Autowired + private MockMvc mockMvc; /** * This test validates the behaviour of the 'Create Document' POST request @@ -76,16 +89,17 @@ public class DocumentApiTest extends JerseyTest { * @throws ParseException */ @Test - public void createDocumentTest() throws IOException, ParseException { - String result = target(INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI).request().post(Entity.json(CREATE_JSON_CONTENT), String.class); + public void createDocumentTest() throws Exception { + MvcResult result = this.mockMvc.perform ( post ( INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI ).contentType ( MediaType.APPLICATION_JSON ) + .content ( CREATE_JSON_CONTENT ) ).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. JSONParser parser = new JSONParser(); - JSONObject json = (JSONObject) parser.parse(result); + JSONObject json = (JSONObject) parser.parse(result.getResponse ().getContentAsString ()); assertTrue("Unexpected Result ", !json.get("etag").toString().isEmpty()); } @@ -98,16 +112,19 @@ public class DocumentApiTest extends JerseyTest { * @throws ParseException */ @Test - public void updateDocumentTest() throws IOException, ParseException { - WebTarget target = target(INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID); - Builder request = target.request().header("If-Match", "1"); - String result = request.put(Entity.json(CREATE_JSON_CONTENT), String.class); + public void updateDocumentTest() throws Exception { + // WebTarget target = target(INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID); + // Builder request = target.request().header("If-Match", "1"); + // String result = request.put(Entity.json(CREATE_JSON_CONTENT), String.class); + + MvcResult result = this.mockMvc.perform ( put ( INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID ).contentType ( MediaType.APPLICATION_JSON ) + .header ( "If-Match", "1" ).content ( CREATE_JSON_CONTENT ) ).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. JSONParser parser = new JSONParser(); - JSONObject json = (JSONObject) parser.parse(result); + JSONObject json = (JSONObject) parser.parse(result.getResponse ().getContentAsString ()); assertTrue("Unexpected Result ", !json.get("etag").toString().isEmpty()); } @@ -120,63 +137,80 @@ public class DocumentApiTest extends JerseyTest { * @throws ParseException */ @Test - public void getDocumentTest() throws IOException, ParseException { - String result = target(INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID).request().get(String.class); + public void getDocumentTest() throws Exception { + // String result = target(INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID).request().get(String.class); + + // MvcResult result = this.mockMvc.perform ( get ( INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID ) ).andReturn (); + MvcResult result = this.mockMvc.perform ( get ( INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID ) + .contentType ( MediaType.APPLICATION_JSON ) + .header ( "If-Match", "1" ) + .content ( CREATE_JSON_CONTENT ) ).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. JSONParser parser = new JSONParser(); - JSONObject json = (JSONObject) parser.parse(result); + JSONObject json = (JSONObject) parser.parse(result.getResponse ().getContentAsString ()); assertTrue("Unexpected Result ", !json.get("etag").toString().isEmpty()); } - - /** - * This test validates the behaviour of the 'Delete Document' DELETE request - * endpoint. - * - * @throws IOException - * @throws ParseException - */ +// +// /** +// * This test validates the behaviour of the 'Delete Document' DELETE request +// * endpoint. +// * +// * @throws IOException +// * @throws ParseException +// */ @Test - public void deleteDocumentTest() throws IOException, ParseException { - WebTarget target = target(INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID); - Builder request = target.request().header("If-Match", "1"); - String result = request.delete(String.class); + public void deleteDocumentTest() throws Exception { +// WebTarget target = target(INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID); +// Builder request = target.request().header("If-Match", "1"); +// String result = request.delete(String.class); + MvcResult result = this.mockMvc.perform ( delete ( INDEXES_URI + INDEX_NAME + "/" + DOCUMENT_URI + DOC_ID ) + .contentType ( MediaType.APPLICATION_JSON ) + .header ( "If-Match", "1" ) + .content ( CREATE_JSON_CONTENT ) ).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. - assertTrue("Unexpected Result ", result.isEmpty()); + assertTrue("Unexpected Result ", result.getResponse ().getContentAsString ().isEmpty ()); } - - /** - * This test validates the behaviour of the 'Search Documents' GET request - * endpoint. - * - * @throws IOException - * @throws ParseException - */ +// +// /** +// * This test validates the behaviour of the 'Search Documents' GET request +// * endpoint. +// * +// * @throws IOException +// * @throws ParseException +// */ @Ignore @Test - public void searchDocumentTest1() throws IOException, ParseException { - String result = target(INDEXES_URI + INDEX_NAME + "/" + SEARCH_URI + SIMPLE_QUERY).request().get(String.class); + public void searchDocumentTest1() throws Exception { + // String result = target(INDEXES_URI + INDEX_NAME + "/" + SEARCH_URI + SIMPLE_QUERY).request().get(String.class); + + MvcResult result = this.mockMvc.perform ( get ( INDEXES_URI + INDEX_NAME + "/" + SEARCH_URI + SIMPLE_QUERY ) + .contentType ( MediaType.APPLICATION_JSON ) + .header ( "If-Match", "1" ) + .content ( CREATE_JSON_CONTENT ) ).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. JSONParser parser = new JSONParser(); - JSONObject json = (JSONObject) parser.parse(result); + JSONObject json = (JSONObject) parser.parse(result.getResponse ().getContentAsString ()); assertTrue("Unexpected Result ", json.get("totalHits").toString().equals("1")); } - +// /** * This test validates the behaviour of the 'Search Documents' GET request * endpoint. @@ -185,14 +219,18 @@ public class DocumentApiTest extends JerseyTest { * @throws ParseException */ @Test - public void searchDocumentTest2() throws IOException, ParseException { - String result = target(INDEXES_URI + INDEX_NAME + "/" + SEARCH_URI).request().post(Entity.json(COMPLEX_QUERY), String.class); + public void searchDocumentTest2() throws Exception { + // String result = target(INDEXES_URI + INDEX_NAME + "/" + SEARCH_URI).request().post(Entity.json(COMPLEX_QUERY), String.class); + + MvcResult result = this.mockMvc.perform ( get ( INDEXES_URI + INDEX_NAME + "/" + SEARCH_URI) + .contentType ( MediaType.APPLICATION_JSON ) + .content ( COMPLEX_QUERY ) ).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. JSONParser parser = new JSONParser(); - JSONObject json = (JSONObject) parser.parse(result); + JSONObject json = (JSONObject) parser.parse(result.getResponse ().getContentAsString ()); JSONObject resultJson = (JSONObject) json.get("searchResult"); assertTrue("Unexpected Result ", resultJson.get("totalHits").toString().equals("1"));