diff --git a/src/test/java/edu/tamu/scholars/middleware/discovery/AbstractSolrDocumentIntegrationTest.java b/src/test/java/edu/tamu/scholars/middleware/discovery/AbstractSolrDocumentIntegrationTest.java index 693bfc43b..1f829c175 100644 --- a/src/test/java/edu/tamu/scholars/middleware/discovery/AbstractSolrDocumentIntegrationTest.java +++ b/src/test/java/edu/tamu/scholars/middleware/discovery/AbstractSolrDocumentIntegrationTest.java @@ -1,38 +1,21 @@ package edu.tamu.scholars.middleware.discovery; -import static edu.tamu.scholars.middleware.discovery.DiscoveryConstants.DEFAULT_QUERY; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.io.File; import java.io.IOException; -import java.nio.file.Files; import java.util.ArrayList; -import java.util.Collections; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; -import org.apache.solr.client.solrj.request.CoreAdminRequest; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; - import edu.tamu.scholars.middleware.config.SolrTestConfig; -import edu.tamu.scholars.middleware.discovery.component.Indexer; import edu.tamu.scholars.middleware.discovery.model.AbstractIndexDocument; -import edu.tamu.scholars.middleware.discovery.model.Individual; import edu.tamu.scholars.middleware.discovery.model.repo.IndividualRepo; @Import(SolrTestConfig.class) @@ -45,13 +28,7 @@ public abstract class AbstractSolrDocumentIntegrationTest indexers; - - @Autowired + @MockBean protected IndividualRepo repo; protected List mockDocuments = new ArrayList(); @@ -60,70 +37,12 @@ public abstract class AbstractSolrDocumentIntegrationTest i.type().equals(getType())) - .forEach(indexer -> { - indexer.init(); - }); - } - - private void deleteCore() throws SolrServerException, IOException { - CoreAdminRequest.Unload unloadRequest = new CoreAdminRequest.Unload(true); - unloadRequest.setCoreName(collectionName); - solrClient.request(unloadRequest); - } - - private void createDocuments() throws SolrServerException, IOException { - assertEquals(0, repo.count(DEFAULT_QUERY, Collections.emptyList())); - ObjectMapper objectMapper = new ObjectMapper(); - List mockFiles = getMockFiles(); - for (File file : mockFiles) { - Map content = objectMapper.readValue(file, new TypeReference>() {}); - - solrClient.addBean(collectionName, Individual.from(content)); - - @SuppressWarnings("unchecked") - D mockDocument = (D) objectMapper.readValue(file, getType()); - assertNotNull(mockDocument); - mockDocuments.add(mockDocument); - } - assertTrue(mockDocuments.size() > 0, "No mock documents processed"); - solrClient.commit(collectionName); - numberOfDocuments = (int) repo.count(DEFAULT_QUERY, Collections.emptyList()); - assertEquals(mockFiles.size(), numberOfDocuments, "Indexed documents count not matching mock documents count"); - } - - private void deleteDocuments() throws SolrServerException, IOException { - solrClient.deleteByQuery(collectionName, DEFAULT_QUERY); - solrClient.commit(collectionName); - } - - private List getMockFiles() throws IOException { - assertTrue(mocksDirectoryResource.exists()); - assertTrue(mocksDirectoryResource.isFile()); - File mocksDirectory = mocksDirectoryResource.getFile(); - assertTrue(mocksDirectory.isDirectory()); - - return Files.walk(mocksDirectory.toPath().resolve(getDocPath()), 2) - .map(path -> path.toFile()) - .filter(file -> file.isFile()) - .collect(Collectors.toList()); + } protected String getDocPath() { diff --git a/src/test/java/edu/tamu/scholars/middleware/discovery/controller/AbstractSolrDocumentControllerTest.java b/src/test/java/edu/tamu/scholars/middleware/discovery/controller/AbstractSolrDocumentControllerTest.java index 380efa3ea..c7a7592fb 100644 --- a/src/test/java/edu/tamu/scholars/middleware/discovery/controller/AbstractSolrDocumentControllerTest.java +++ b/src/test/java/edu/tamu/scholars/middleware/discovery/controller/AbstractSolrDocumentControllerTest.java @@ -25,8 +25,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.web.servlet.MockMvc; @@ -34,8 +33,7 @@ import edu.tamu.scholars.middleware.discovery.model.AbstractIndexDocument; import edu.tamu.scholars.middleware.utility.ConstraintDescriptionsHelper; -@SpringBootTest -@AutoConfigureMockMvc +@WebMvcTest @AutoConfigureRestDocs public abstract class AbstractSolrDocumentControllerTest extends AbstractSolrDocumentIntegrationTest { diff --git a/src/test/java/edu/tamu/scholars/middleware/export/controller/AbstractSolrDocumentExportControllerTest.java b/src/test/java/edu/tamu/scholars/middleware/export/controller/AbstractSolrDocumentExportControllerTest.java index 38932c369..28a1d5d14 100644 --- a/src/test/java/edu/tamu/scholars/middleware/export/controller/AbstractSolrDocumentExportControllerTest.java +++ b/src/test/java/edu/tamu/scholars/middleware/export/controller/AbstractSolrDocumentExportControllerTest.java @@ -26,8 +26,7 @@ import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -37,8 +36,7 @@ import edu.tamu.scholars.middleware.view.model.DisplayView; import edu.tamu.scholars.middleware.view.model.repo.DisplayViewRepo; -@SpringBootTest -@AutoConfigureMockMvc +@WebMvcTest @AutoConfigureRestDocs public abstract class AbstractSolrDocumentExportControllerTest extends AbstractSolrDocumentIntegrationTest { diff --git a/src/test/java/edu/tamu/scholars/middleware/theme/controller/ThemeControllerTest.java b/src/test/java/edu/tamu/scholars/middleware/theme/controller/ThemeControllerTest.java index ef181542e..dba20b46c 100644 --- a/src/test/java/edu/tamu/scholars/middleware/theme/controller/ThemeControllerTest.java +++ b/src/test/java/edu/tamu/scholars/middleware/theme/controller/ThemeControllerTest.java @@ -30,8 +30,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -46,8 +45,7 @@ import edu.tamu.scholars.middleware.theme.model.Theme; import edu.tamu.scholars.middleware.utility.ConstraintDescriptionsHelper; -@SpringBootTest -@AutoConfigureMockMvc +@WebMvcTest @AutoConfigureRestDocs public class ThemeControllerTest extends ThemeIntegrationTest { diff --git a/src/test/java/edu/tamu/scholars/middleware/view/ResourceViewIntegrationTest.java b/src/test/java/edu/tamu/scholars/middleware/view/ResourceViewIntegrationTest.java index b4cf3416a..895b655a6 100644 --- a/src/test/java/edu/tamu/scholars/middleware/view/ResourceViewIntegrationTest.java +++ b/src/test/java/edu/tamu/scholars/middleware/view/ResourceViewIntegrationTest.java @@ -1,18 +1,16 @@ package edu.tamu.scholars.middleware.view; -import com.fasterxml.jackson.databind.ObjectMapper; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.test.web.servlet.MockMvc; +import com.fasterxml.jackson.databind.ObjectMapper; + import edu.tamu.scholars.middleware.view.model.View; import edu.tamu.scholars.middleware.view.model.repo.ViewRepo; -@SpringBootTest -@AutoConfigureMockMvc +@WebMvcTest @AutoConfigureRestDocs public abstract class ResourceViewIntegrationTest> extends ViewIntegrationTest {