diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9532d03..14254a2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,10 +18,10 @@ jobs: - name: "Setup Java" uses: actions/setup-java@v1 with: - java-version: 1.8 + java-version: 11 - name: "Maven Tests" - run: mvn clean test cobertura:cobertura jacoco:report coveralls:report -DdryRun=true + run: mvn clean test jacoco:report coveralls:report -DdryRun=true - name: "Coverage Report" uses: MikeEdgar/github-action@raw_coverage_file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5a534b1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,62 @@ +# Settings. +ARG USER_ID=3001 +ARG USER_NAME=iriifservice +ARG HOME_DIR=/$USER_NAME +ARG SOURCE_DIR=$HOME_DIR/source + +# Maven stage. +FROM maven:3-openjdk-11-slim as maven +ARG USER_ID +ARG USER_NAME +ARG HOME_DIR +ARG SOURCE_DIR + +# Create the group (use a high ID to attempt to avoid conflits). +RUN groupadd -g $USER_ID $USER_NAME + +# Create the user (use a high ID to attempt to avoid conflits). +RUN useradd -d $HOME_DIR -m -u $USER_ID -g $USER_ID $USER_NAME + +# Update the system. +RUN apt-get update && apt-get upgrade -y + +# Set deployment directory. +WORKDIR $SOURCE_DIR + +# Copy files over. +COPY ./pom.xml ./pom.xml +COPY ./src ./src + +# Assign file permissions. +RUN chown -R ${USER_ID}:${USER_ID} ${SOURCE_DIR} + +# Login as user. +USER $USER_NAME + +# Build. +RUN mvn package -Pjar -DskipTests=true + +# Switch to Normal JRE Stage. +FROM openjdk:11-jre-slim +ARG USER_ID +ARG USER_NAME +ARG HOME_DIR +ARG SOURCE_DIR + +# Create the group (use a high ID to attempt to avoid conflits). +RUN groupadd -g $USER_ID $USER_NAME + +# Create the user (use a high ID to attempt to avoid conflits). +RUN useradd -d $HOME_DIR -m -u $USER_ID -g $USER_ID $USER_NAME + +# Login as user. +USER $USER_NAME + +# Set deployment directory. +WORKDIR $HOME_DIR + +# Copy over the built artifact from the maven image. +COPY --from=maven $SOURCE_DIR/target/ROOT.jar ./iriif.jar + +# Run java command. +CMD ["java", "-jar", "./iriif.jar"] diff --git a/pom.xml b/pom.xml index 48d7cab..8d81a72 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,6 @@ edu.tamu ir-iiif-service 0.5.5 - war IR IIIF Service @@ -16,23 +15,44 @@ edu.tamu.weaver webservice-parent - 2.0.3 + 2.1.1-RC8 + edu.tamu.iiif.IrIiifServiceInitializer UTF-8 UTF-8 - 1.8 - 3.2.0 + 11 + 4.4.0 3.2.6 + ${java.version} + ${java.version} + 2.22.2 classpath:/config/ + war + ${maven.packaging} + + + + war + + war + + + + jar + + jar + + + + - edu.tamu.weaver messaging @@ -52,6 +72,12 @@ org.springframework.boot spring-boot-starter-data-redis + + + io.lettuce + lettuce-core + + @@ -78,28 +104,38 @@ - org.springframework.restdocs - spring-restdocs-mockmvc - test + org.springframework.boot + spring-boot-configuration-processor + true - org.springframework.security - spring-security-test - test + commons-validator + commons-validator + 1.7 - it.ozimov - embedded-redis - 0.7.2 - test + commons-io + commons-io + 2.11.0 - commons-validator - commons-validator - 1.6 + org.apache.commons + commons-text + 1.9 + + + + com.google.guava + guava + 31.1-jre + + + + redis.clients + jedis @@ -107,6 +143,16 @@ apache-jena-libs pom ${jena-libs.version} + + + commons-io + commons-io + + + com.google.guava + guava + + @@ -122,9 +168,44 @@ - org.springframework.boot - spring-boot-configuration-processor - true + org.springframework.restdocs + spring-restdocs-mockmvc + test + + + + org.springframework.security + spring-security-test + test + + + + it.ozimov + embedded-redis + 0.7.3 + test + + + commons-io + commons-io + + + com.google.guava + guava + + + + + + org.mockito + mockito-core + test + + + + org.mockito + mockito-junit-jupiter + test @@ -132,6 +213,18 @@ ROOT + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-plugins.version} + + + + org.apache.maven.plugins + maven-failsafe-plugin + ${maven-plugins.version} + + org.apache.maven.plugins maven-compiler-plugin @@ -145,6 +238,13 @@ org.springframework.boot spring-boot-maven-plugin + + + + repackage + + + @@ -156,25 +256,6 @@ - - org.codehaus.mojo - cobertura-maven-plugin - - true - - true - - java.util.logging.* - - - - html - xml - - true - - - org.jacoco jacoco-maven-plugin @@ -194,6 +275,13 @@ + + + javax.xml.bind + jaxb-api + 2.3.1 + + @@ -268,7 +356,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 2.7 + 3.2.2 false diff --git a/src/main/java/edu/tamu/iiif/IrIiifServiceInitializer.java b/src/main/java/edu/tamu/iiif/IrIiifServiceInitializer.java index b379936..96df951 100644 --- a/src/main/java/edu/tamu/iiif/IrIiifServiceInitializer.java +++ b/src/main/java/edu/tamu/iiif/IrIiifServiceInitializer.java @@ -3,7 +3,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.web.support.SpringBootServletInitializer; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; /** * Entry point to the IR IIIF service initializer. diff --git a/src/main/java/edu/tamu/iiif/config/WebMvcConfig.java b/src/main/java/edu/tamu/iiif/config/WebMvcConfig.java index 8a744a1..7bd79e3 100644 --- a/src/main/java/edu/tamu/iiif/config/WebMvcConfig.java +++ b/src/main/java/edu/tamu/iiif/config/WebMvcConfig.java @@ -4,12 +4,12 @@ import org.springframework.context.annotation.Configuration; import org.springframework.web.method.support.HandlerMethodArgumentResolver; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import edu.tamu.iiif.controller.resolver.ManifestRequestArgumentResolver; @Configuration -public class WebMvcConfig extends WebMvcConfigurerAdapter { +public class WebMvcConfig implements WebMvcConfigurer { @Override public void addArgumentResolvers(List argumentResolvers) { diff --git a/src/main/java/edu/tamu/iiif/constants/Constants.java b/src/main/java/edu/tamu/iiif/constants/Constants.java index f55c1af..b966663 100644 --- a/src/main/java/edu/tamu/iiif/constants/Constants.java +++ b/src/main/java/edu/tamu/iiif/constants/Constants.java @@ -18,11 +18,11 @@ public class Constants { public final static String IMAGE_IDENTIFIER = "image"; // Manifest Controller Mappings - public final static String COLLECTION_MAPPING = "/" + COLLECTION_IDENTIFIER + "/**/*"; - public final static String PRESENTATION_MAPPING = "/" + PRESENTATION_IDENTIFIER + "/**/*"; - public final static String SEQUENCE_MAPPING = "/" + SEQUENCE_IDENTIFIER + "/**/*"; - public final static String CANVAS_MAPPING = "/" + CANVAS_IDENTIFIER + "/**/*"; - public final static String IMAGE_MAPPING = "/" + IMAGE_IDENTIFIER + "/**/*"; + public final static String COLLECTION_MAPPING = "/" + COLLECTION_IDENTIFIER + "/**"; + public final static String PRESENTATION_MAPPING = "/" + PRESENTATION_IDENTIFIER + "/**"; + public final static String SEQUENCE_MAPPING = "/" + SEQUENCE_IDENTIFIER + "/**"; + public final static String CANVAS_MAPPING = "/" + CANVAS_IDENTIFIER + "/**"; + public final static String IMAGE_MAPPING = "/" + IMAGE_IDENTIFIER + "/**"; // Fedora public final static String FEDORA_FCR_METADATA = "/fcr:metadata"; diff --git a/src/main/java/edu/tamu/iiif/controller/AbstractManifestController.java b/src/main/java/edu/tamu/iiif/controller/AbstractManifestController.java index ce5e474..d854b76 100644 --- a/src/main/java/edu/tamu/iiif/controller/AbstractManifestController.java +++ b/src/main/java/edu/tamu/iiif/controller/AbstractManifestController.java @@ -9,7 +9,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.StringEscapeUtils; +import org.apache.commons.text.StringEscapeUtils; import org.springframework.beans.factory.annotation.Autowired; import edu.tamu.iiif.service.ManifestService; diff --git a/src/main/java/edu/tamu/iiif/service/AbstractManifestService.java b/src/main/java/edu/tamu/iiif/service/AbstractManifestService.java index 05d69cc..62a37ee 100644 --- a/src/main/java/edu/tamu/iiif/service/AbstractManifestService.java +++ b/src/main/java/edu/tamu/iiif/service/AbstractManifestService.java @@ -20,11 +20,6 @@ import javax.annotation.PostConstruct; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.MapperFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; - import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Property; import org.apache.jena.rdf.model.RDFNode; @@ -39,6 +34,11 @@ import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; + import de.digitalcollections.iiif.presentation.model.api.v2.Canvas; import de.digitalcollections.iiif.presentation.model.api.v2.Image; import de.digitalcollections.iiif.presentation.model.api.v2.ImageResource; @@ -109,6 +109,8 @@ public abstract class AbstractManifestService implements ManifestService { @PostConstruct protected void init() { mapper.enable(SerializationFeature.INDENT_OUTPUT); + + // This deprecated use cannot be removed until IiifPresentationApiObjectMapper() exposes builder(). mapper.enable(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY); } diff --git a/src/main/java/edu/tamu/iiif/service/RedisResourceResolver.java b/src/main/java/edu/tamu/iiif/service/RedisResourceResolver.java index 181f050..f7f4165 100644 --- a/src/main/java/edu/tamu/iiif/service/RedisResourceResolver.java +++ b/src/main/java/edu/tamu/iiif/service/RedisResourceResolver.java @@ -40,15 +40,15 @@ public String create(String url) throws URISyntaxException { } public String resolve(String id) throws NotFoundException { - if (redisResourceRepo.exists(id)) { - return redisResourceRepo.findOne(id).getUrl(); + if (redisResourceRepo.existsById(id)) { + return redisResourceRepo.findById(id).get().getUrl(); } throw new NotFoundException(String.format("Resource with id %s not found!", id)); } public void remove(String id) throws NotFoundException { - if (redisResourceRepo.exists(id)) { - redisResourceRepo.delete(id); + if (redisResourceRepo.existsById(id)) { + redisResourceRepo.deleteById(id); } else { throw new NotFoundException(String.format("Resource with id %s not found!", id)); } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 8bd9323..2bb06c0 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,11 +3,11 @@ server: port: 9000 logging: - file: ir-iiif-service.log level: edu.tamu.iiif: INFO org.springframework: INFO - path: /var/logs/iiif + file: + name: /var/logs/iiif/ir-iiif-service.log # to enable messaging, include profile weaver-messaging and update activemq broker-url, username and password diff --git a/src/test/java/edu/tamu/iiif/IrIiifServiceInitializerTest.java b/src/test/java/edu/tamu/iiif/IrIiifServiceInitializerTest.java index d5ef46a..6514b82 100644 --- a/src/test/java/edu/tamu/iiif/IrIiifServiceInitializerTest.java +++ b/src/test/java/edu/tamu/iiif/IrIiifServiceInitializerTest.java @@ -1,18 +1,15 @@ package edu.tamu.iiif; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.constants.Constants; -@RunWith(SpringRunner.class) @SpringBootTest(classes = IrIiifServiceInitializer.class) public class IrIiifServiceInitializerTest { diff --git a/src/test/java/edu/tamu/iiif/config/model/AdminConfigTest.java b/src/test/java/edu/tamu/iiif/config/model/AdminConfigTest.java index 51f61cb..cca9422 100644 --- a/src/test/java/edu/tamu/iiif/config/model/AdminConfigTest.java +++ b/src/test/java/edu/tamu/iiif/config/model/AdminConfigTest.java @@ -1,17 +1,17 @@ package edu.tamu.iiif.config.model; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.ArrayList; import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; import edu.tamu.iiif.config.model.AdminConfig.Credentials; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class AdminConfigTest { @Test diff --git a/src/test/java/edu/tamu/iiif/config/model/DSpaceRdfIiiifConfigTest.java b/src/test/java/edu/tamu/iiif/config/model/DSpaceRdfIiiifConfigTest.java index b31505f..b7e15b7 100644 --- a/src/test/java/edu/tamu/iiif/config/model/DSpaceRdfIiiifConfigTest.java +++ b/src/test/java/edu/tamu/iiif/config/model/DSpaceRdfIiiifConfigTest.java @@ -1,15 +1,15 @@ package edu.tamu.iiif.config.model; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.ArrayList; import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class DSpaceRdfIiiifConfigTest { @Test diff --git a/src/test/java/edu/tamu/iiif/config/model/FedoraPcdmIiiifConfigTest.java b/src/test/java/edu/tamu/iiif/config/model/FedoraPcdmIiiifConfigTest.java index 7e850bf..1b9dcd7 100644 --- a/src/test/java/edu/tamu/iiif/config/model/FedoraPcdmIiiifConfigTest.java +++ b/src/test/java/edu/tamu/iiif/config/model/FedoraPcdmIiiifConfigTest.java @@ -1,15 +1,15 @@ package edu.tamu.iiif.config.model; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.ArrayList; import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class FedoraPcdmIiiifConfigTest { @Test diff --git a/src/test/java/edu/tamu/iiif/config/model/ResolverConfigTest.java b/src/test/java/edu/tamu/iiif/config/model/ResolverConfigTest.java index 519e95c..1b4e6ac 100644 --- a/src/test/java/edu/tamu/iiif/config/model/ResolverConfigTest.java +++ b/src/test/java/edu/tamu/iiif/config/model/ResolverConfigTest.java @@ -1,15 +1,15 @@ package edu.tamu.iiif.config.model; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; import edu.tamu.iiif.config.model.AdminConfig.Credentials; import edu.tamu.iiif.config.model.ResolverConfig.ResolverType; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class ResolverConfigTest { @Test diff --git a/src/test/java/edu/tamu/iiif/controller/AbstractManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/AbstractManifestControllerTest.java index fb26bc3..519949e 100644 --- a/src/test/java/edu/tamu/iiif/controller/AbstractManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/AbstractManifestControllerTest.java @@ -1,12 +1,9 @@ package edu.tamu.iiif.controller; -import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; -@RunWith(SpringRunner.class) @AutoConfigureRestDocs(outputDir = "target/generated-snippets") public abstract class AbstractManifestControllerTest implements ManifestControllerTest { diff --git a/src/test/java/edu/tamu/iiif/controller/ManifestBuilderTest.java b/src/test/java/edu/tamu/iiif/controller/ManifestBuilderTest.java index 6e99611..f2ee0d1 100644 --- a/src/test/java/edu/tamu/iiif/controller/ManifestBuilderTest.java +++ b/src/test/java/edu/tamu/iiif/controller/ManifestBuilderTest.java @@ -1,17 +1,17 @@ package edu.tamu.iiif.controller; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import java.util.Arrays; import javax.servlet.http.HttpServletResponse; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class ManifestBuilderTest { @Test @@ -19,11 +19,11 @@ public void testManifestBuilder() { HttpServletResponse response = mock(HttpServletResponse.class); ManifestBuilder builder = ManifestBuilder.build(response, ManifestRequest.of("test", false, Arrays.asList(new String[] { "allow" }), Arrays.asList(new String[] { "disallow" }))); ManifestRequest request = builder.getRequest(); - Assert.assertEquals(response, builder.getResponse()); - Assert.assertEquals("test", request.getContext()); - Assert.assertEquals(false, request.isUpdate()); - Assert.assertEquals("allow", request.getAllowed()); - Assert.assertEquals("disallow", request.getDisallowed()); + assertEquals(response, builder.getResponse()); + assertEquals("test", request.getContext()); + assertEquals(false, request.isUpdate()); + assertEquals("allow", request.getAllowed()); + assertEquals("disallow", request.getDisallowed()); } } diff --git a/src/test/java/edu/tamu/iiif/controller/ManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/ManifestControllerTest.java index 0d72ff6..b39f191 100644 --- a/src/test/java/edu/tamu/iiif/controller/ManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/ManifestControllerTest.java @@ -1,10 +1,7 @@ package edu.tamu.iiif.controller; -import org.junit.Test; - public interface ManifestControllerTest { - @Test public void testGetManifest() throws Exception; } diff --git a/src/test/java/edu/tamu/iiif/controller/ManifestRequestTest.java b/src/test/java/edu/tamu/iiif/controller/ManifestRequestTest.java index cba93dd..356b946 100644 --- a/src/test/java/edu/tamu/iiif/controller/ManifestRequestTest.java +++ b/src/test/java/edu/tamu/iiif/controller/ManifestRequestTest.java @@ -1,29 +1,30 @@ package edu.tamu.iiif.controller; +import static org.junit.jupiter.api.Assertions.assertEquals; + import java.util.Arrays; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class ManifestRequestTest { @Test public void testManifestRequest() { ManifestRequest request = ManifestRequest.of("test", false); - Assert.assertEquals("test", request.getContext()); - Assert.assertEquals(false, request.isUpdate()); + assertEquals("test", request.getContext()); + assertEquals(false, request.isUpdate()); } @Test public void testManifestRequestAdvanced() { ManifestRequest request = ManifestRequest.of("test", false, Arrays.asList(new String[] { "allow" }), Arrays.asList(new String[] { "disallow" })); - Assert.assertEquals("test", request.getContext()); - Assert.assertEquals(false, request.isUpdate()); - Assert.assertEquals("allow", request.getAllowed()); - Assert.assertEquals("disallow", request.getDisallowed()); + assertEquals("test", request.getContext()); + assertEquals(false, request.isUpdate()); + assertEquals("allow", request.getAllowed()); + assertEquals("disallow", request.getDisallowed()); } } diff --git a/src/test/java/edu/tamu/iiif/controller/ResourceControllerTest.java b/src/test/java/edu/tamu/iiif/controller/ResourceControllerTest.java index c951c0d..48ae2dd 100644 --- a/src/test/java/edu/tamu/iiif/controller/ResourceControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/ResourceControllerTest.java @@ -1,6 +1,6 @@ package edu.tamu.iiif.controller; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; @@ -16,25 +16,29 @@ import java.net.URISyntaxException; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.exception.NotFoundException; import edu.tamu.iiif.model.RedisResource; import edu.tamu.iiif.service.ResourceResolver; -@RunWith(SpringRunner.class) -@WebMvcTest(value = ResourceController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = ResourceController.class) @AutoConfigureRestDocs(outputDir = "target/generated-snippets") public class ResourceControllerTest { @@ -58,25 +62,16 @@ public class ResourceControllerTest { private final String invalidUrl = "fubar"; - @Before + @BeforeEach public void setup() throws URISyntaxException, NotFoundException { - try { - when(resourceResolver.resolve(mockResource.getId())).thenReturn(mockResource.getUrl()); - when(resourceResolver.lookup(mockResource.getUrl())).thenReturn(mockResource.getId()); - when(resourceResolver.create(mockResource.getUrl())).thenReturn(mockResource.getId()); - when(resourceResolver.create(mockResourceNotExistYet.getUrl())).thenReturn(mockResourceNotExistYet.getId()); - } catch (URISyntaxException e) { - e.printStackTrace(); - } catch (NotFoundException e) { - e.printStackTrace(); - } + when(resourceResolver.resolve(mockResource.getId())).thenReturn(mockResource.getUrl()); + when(resourceResolver.lookup(mockResource.getUrl())).thenReturn(mockResource.getId()); + when(resourceResolver.create(mockResource.getUrl())).thenReturn(mockResource.getId()); + when(resourceResolver.create(mockResourceNotExistYet.getUrl())).thenReturn(mockResourceNotExistYet.getId()); when(resourceResolver.resolve(mockResourceNotExist.getId())).thenThrow(new NotFoundException(resourceWithIdNotFound)); - when(resourceResolver.lookup(mockResourceNotExist.getUrl())).thenThrow(new NotFoundException(resourceWithUrlNotFound)); - when(resourceResolver.lookup(mockResourceNotExistYet.getUrl())).thenThrow(new NotFoundException(resourceWithUrlNotFoundYet)); - when(resourceResolver.lookup(invalidUrl)).thenThrow(new URISyntaxException(invalidUrl, "Not a valid URL")); doThrow(new NotFoundException(resourceWithIdNotFound)).when(resourceResolver).remove(mockResourceNotExist.getId()); @@ -143,6 +138,7 @@ public void testGetResourceIdNotFound() throws Exception { } @Test + @WithMockUser(roles={ "ADMIN" }) public void testPutResource() throws Exception { RequestBuilder requestBuilder = put("/resources").param("uri", mockResourceNotExistYet.getUrl()).accept(TEXT_PLAIN); RestDocumentationResultHandler restDocHandler = document("resources/putResource", requestParameters(parameterWithName("uri").description("The resource URI."))); @@ -152,6 +148,7 @@ public void testPutResource() throws Exception { } @Test + @WithMockUser(roles={ "ADMIN" }) public void testPutExistingResource() throws Exception { RequestBuilder requestBuilder = put("/resources").param("uri", mockResource.getUrl()).accept(TEXT_PLAIN); RestDocumentationResultHandler restDocHandler = document("resources/putResource", requestParameters(parameterWithName("uri").description("The resource URI."))); @@ -161,6 +158,7 @@ public void testPutExistingResource() throws Exception { } @Test + @WithMockUser(roles={ "ADMIN" }) public void testPostResource() throws Exception { RequestBuilder requestBuilder = post("/resources").param("uri", mockResourceNotExistYet.getUrl()).accept(TEXT_PLAIN); RestDocumentationResultHandler restDocHandler = document("resources/postResource", requestParameters(parameterWithName("uri").description("The resource URI."))); @@ -170,6 +168,7 @@ public void testPostResource() throws Exception { } @Test + @WithMockUser(roles={ "ADMIN" }) public void testPostExistingResource() throws Exception { RequestBuilder requestBuilder = post("/resources").param("uri", mockResource.getUrl()).accept(TEXT_PLAIN); RestDocumentationResultHandler restDocHandler = document("resources/postResource", requestParameters(parameterWithName("uri").description("The resource URI."))); @@ -179,6 +178,7 @@ public void testPostExistingResource() throws Exception { } @Test + @WithMockUser(roles={ "ADMIN" }) public void testPostResourceInvalidUrl() throws Exception { RequestBuilder requestBuilder = post("/resources").param("uri", invalidUrl).accept(TEXT_PLAIN); RestDocumentationResultHandler restDocHandler = document("resources/postResource", requestParameters(parameterWithName("uri").description("The resource URI."))); @@ -188,6 +188,7 @@ public void testPostResourceInvalidUrl() throws Exception { } @Test + @WithMockUser(roles={ "ADMIN" }) public void testRemoveResource() throws Exception { RequestBuilder requestBuilder = delete("/resources/{id}", mockResource.getId()).accept(TEXT_PLAIN); RestDocumentationResultHandler restDocHandler = document("resources/removeResource", pathParameters(parameterWithName("id").description("The resource id."))); @@ -196,6 +197,7 @@ public void testRemoveResource() throws Exception { } @Test + @WithMockUser(roles={ "ADMIN" }) public void testRemoveResourceNotFound() throws Exception { RequestBuilder requestBuilder = delete("/resources/{id}", mockResourceNotExist.getId()).accept(TEXT_PLAIN); MvcResult result = mockMvc.perform(requestBuilder).andReturn(); diff --git a/src/test/java/edu/tamu/iiif/controller/advice/GlobalExceptionHandlerTest.java b/src/test/java/edu/tamu/iiif/controller/advice/GlobalExceptionHandlerTest.java index a5465a4..d8b0db7 100644 --- a/src/test/java/edu/tamu/iiif/controller/advice/GlobalExceptionHandlerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/advice/GlobalExceptionHandlerTest.java @@ -1,55 +1,61 @@ package edu.tamu.iiif.controller.advice; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + import java.io.IOException; import org.apache.jena.riot.RiotException; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.data.redis.RedisConnectionFailureException; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import edu.tamu.iiif.exception.NotFoundException; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class GlobalExceptionHandlerTest { private GlobalExceptionHandler globalExceptionHandler = new GlobalExceptionHandler(); @Test public void testHandleIOException() { - ResponseEntity response = globalExceptionHandler.handleIOException(new IOException("This is a test")); - Assert.assertEquals("This is a test", response.getBody()); - Assert.assertEquals(HttpStatus.SERVICE_UNAVAILABLE, response.getStatusCode()); + String message = "This is a test"; + ResponseEntity response = globalExceptionHandler.handleIOException(new IOException(message)); + assertEquals(message, response.getBody()); + assertEquals(HttpStatus.SERVICE_UNAVAILABLE, response.getStatusCode()); } @Test public void testHandleIOExceptionIOException() { ResponseEntity response = globalExceptionHandler.handleIOException(new IOException(new Throwable("Broken pipe"))); - Assert.assertNull(response); + assertNull(response); } @Test public void testHandleRiotException() { - ResponseEntity response = globalExceptionHandler.handleRiotException(new RiotException("This is a test")); - Assert.assertEquals("This is a test", response.getBody()); - Assert.assertEquals(HttpStatus.SERVICE_UNAVAILABLE, response.getStatusCode()); + String message = "This is a test"; + ResponseEntity response = globalExceptionHandler.handleRiotException(new RiotException(message)); + assertEquals(message, response.getBody()); + assertEquals(HttpStatus.SERVICE_UNAVAILABLE, response.getStatusCode()); } @Test public void testHandleRedisConnectionFailureException() { - ResponseEntity response = globalExceptionHandler.handleRedisConnectionFailureException(new RedisConnectionFailureException("This is a test")); - Assert.assertEquals("This is a test", response.getBody()); - Assert.assertEquals(HttpStatus.SERVICE_UNAVAILABLE, response.getStatusCode()); + String message = "This is a test"; + ResponseEntity response = globalExceptionHandler.handleRedisConnectionFailureException(new RedisConnectionFailureException(message)); + assertEquals(message, response.getBody()); + assertEquals(HttpStatus.SERVICE_UNAVAILABLE, response.getStatusCode()); } @Test public void testHandleNotFoundException() { - ResponseEntity response = globalExceptionHandler.handleNotFoundException(new NotFoundException("This is a test")); - Assert.assertEquals("This is a test", response.getBody()); - Assert.assertEquals(HttpStatus.NOT_FOUND, response.getStatusCode()); + String message = "This is a test"; + ResponseEntity response = globalExceptionHandler.handleNotFoundException(new NotFoundException(message)); + assertEquals(message, response.getBody()); + assertEquals(HttpStatus.NOT_FOUND, response.getStatusCode()); } } diff --git a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfCanvasManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfCanvasManifestControllerTest.java index a11543b..e4c8029 100644 --- a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfCanvasManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfCanvasManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.dspace.rdf; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.dspace.rdf.DSpaceRdfCanvasManifestService; -@WebMvcTest(value = DSpaceRdfCanvasManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = DSpaceRdfCanvasManifestController.class) public class DSpaceRdfCanvasManifestControllerTest extends AbstractManifestControllerTest { @MockBean diff --git a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfCollectionManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfCollectionManifestControllerTest.java index 5af58eb..657716e 100644 --- a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfCollectionManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfCollectionManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.dspace.rdf; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.dspace.rdf.DSpaceRdfCollectionManifestService; -@WebMvcTest(value = DSpaceRdfCollectionManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = DSpaceRdfCollectionManifestController.class) public class DSpaceRdfCollectionManifestControllerTest extends AbstractManifestControllerTest { @MockBean diff --git a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfImageManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfImageManifestControllerTest.java index 05529c6..582d657 100644 --- a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfImageManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfImageManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.dspace.rdf; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.dspace.rdf.DSpaceRdfImageManifestService; -@WebMvcTest(value = DSpaceRdfImageManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = DSpaceRdfImageManifestController.class) public class DSpaceRdfImageManifestControllerTest extends AbstractManifestControllerTest { @MockBean diff --git a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfPresentationManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfPresentationManifestControllerTest.java index b99d75e..83bff7e 100644 --- a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfPresentationManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfPresentationManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.dspace.rdf; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.dspace.rdf.DSpaceRdfPresentationManifestService; -@WebMvcTest(value = DSpaceRdfPresentationManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = DSpaceRdfPresentationManifestController.class) public class DSpaceRdfPresentationManifestControllerTest extends AbstractManifestControllerTest { @MockBean diff --git a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfSequenceManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfSequenceManifestControllerTest.java index 90d348e..09b27c0 100644 --- a/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfSequenceManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/dspace/rdf/DSpaceRdfSequenceManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.dspace.rdf; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.dspace.rdf.DSpaceRdfSequenceManifestService; -@WebMvcTest(value = DSpaceRdfSequenceManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = DSpaceRdfSequenceManifestController.class) public class DSpaceRdfSequenceManifestControllerTest extends AbstractManifestControllerTest { @MockBean diff --git a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmCanvasManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmCanvasManifestControllerTest.java index b23eb4f..7058cc5 100644 --- a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmCanvasManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmCanvasManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.fedora.pcdm; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.fedora.pcdm.FedoraPcdmCanvasManifestService; -@WebMvcTest(value = FedoraPcdmCanvasManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = FedoraPcdmCanvasManifestController.class) public class FedoraPcdmCanvasManifestControllerTest extends AbstractManifestControllerTest { @MockBean @@ -36,7 +42,7 @@ public class FedoraPcdmCanvasManifestControllerTest extends AbstractManifestCont public void testGetManifest() throws Exception { String expected = readFileToString(json.getFile(), "UTF-8"); when(fedoraPcdmCanvasManifestService.getManifest(any(ManifestRequest.class))).thenReturn(expected); - RequestBuilder requestBuilder = get("/fedora/canvas/{context}", "/cars_pcdm_objects/chevy/pages/page_0").accept(APPLICATION_JSON); + RequestBuilder requestBuilder = get("/fedora/canvas/{context}", "cars_pcdm_objects/chevy/pages/page_0").accept(APPLICATION_JSON); RestDocumentationResultHandler restDocHandler = document("fedora/canvas", pathParameters(parameterWithName("context").description("The context path."))); MvcResult result = mockMvc.perform(requestBuilder).andDo(restDocHandler).andReturn(); assertEquals(expected, result.getResponse().getContentAsString()); diff --git a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmCollectionManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmCollectionManifestControllerTest.java index 1b3320a..40c249f 100644 --- a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmCollectionManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmCollectionManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.fedora.pcdm; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.fedora.pcdm.FedoraPcdmCollectionManifestService; -@WebMvcTest(value = FedoraPcdmCollectionManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = FedoraPcdmCollectionManifestController.class) public class FedoraPcdmCollectionManifestControllerTest extends AbstractManifestControllerTest { @MockBean diff --git a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmImageManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmImageManifestControllerTest.java index 0917d15..1f1e3a2 100644 --- a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmImageManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmImageManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.fedora.pcdm; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.fedora.pcdm.FedoraPcdmImageManifestService; -@WebMvcTest(value = FedoraPcdmImageManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = FedoraPcdmImageManifestController.class) public class FedoraPcdmImageManifestControllerTest extends AbstractManifestControllerTest { @MockBean diff --git a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmPresentationManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmPresentationManifestControllerTest.java index 8466f3b..0f5e1cc 100644 --- a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmPresentationManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmPresentationManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.fedora.pcdm; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.fedora.pcdm.FedoraPcdmPresentationManifestService; -@WebMvcTest(value = FedoraPcdmPresentationManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = FedoraPcdmPresentationManifestController.class) public class FedoraPcdmPresentationManifestControllerTest extends AbstractManifestControllerTest { @MockBean diff --git a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmSequenceManifestControllerTest.java b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmSequenceManifestControllerTest.java index d4ac8a5..a44aa65 100644 --- a/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmSequenceManifestControllerTest.java +++ b/src/test/java/edu/tamu/iiif/controller/fedora/pcdm/FedoraPcdmSequenceManifestControllerTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.controller.fedora.pcdm; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; @@ -10,20 +10,26 @@ import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName; import static org.springframework.restdocs.request.RequestDocumentation.pathParameters; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; import org.springframework.core.io.Resource; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.RequestBuilder; +import edu.tamu.iiif.config.model.AdminConfig; import edu.tamu.iiif.controller.AbstractManifestControllerTest; import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.service.fedora.pcdm.FedoraPcdmSequenceManifestService; -@WebMvcTest(value = FedoraPcdmSequenceManifestController.class, secure = false) +@Import({ AdminConfig.class }) +@ExtendWith(MockitoExtension.class) +@WebMvcTest(value = FedoraPcdmSequenceManifestController.class) public class FedoraPcdmSequenceManifestControllerTest extends AbstractManifestControllerTest { @MockBean diff --git a/src/test/java/edu/tamu/iiif/exception/NotFoundExceptionTest.java b/src/test/java/edu/tamu/iiif/exception/NotFoundExceptionTest.java index 5591d3f..b421e1b 100644 --- a/src/test/java/edu/tamu/iiif/exception/NotFoundExceptionTest.java +++ b/src/test/java/edu/tamu/iiif/exception/NotFoundExceptionTest.java @@ -1,15 +1,18 @@ package edu.tamu.iiif.exception; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class NotFoundExceptionTest { - @Test(expected = NotFoundException.class) - public void testThrowNotFoundException() throws NotFoundException { - throw new NotFoundException("This is only a test!"); + @Test + public void testThrowNotFoundException() { + Assertions.assertThrows(NotFoundException.class, () -> { + throw new NotFoundException("This is only a test!"); + }); } } diff --git a/src/test/java/edu/tamu/iiif/exception/RedisManifestNotFoundExceptionTest.java b/src/test/java/edu/tamu/iiif/exception/RedisManifestNotFoundExceptionTest.java index 6774436..95f4ee6 100644 --- a/src/test/java/edu/tamu/iiif/exception/RedisManifestNotFoundExceptionTest.java +++ b/src/test/java/edu/tamu/iiif/exception/RedisManifestNotFoundExceptionTest.java @@ -1,15 +1,18 @@ package edu.tamu.iiif.exception; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class RedisManifestNotFoundExceptionTest { - @Test(expected = RedisManifestNotFoundException.class) - public void testThrowRedisManifestNotFoundException() throws RedisManifestNotFoundException { - throw new RedisManifestNotFoundException("This is only a test!"); + @Test + public void testThrowRedisManifestNotFoundException() { + Assertions.assertThrows(RedisManifestNotFoundException.class, () -> { + throw new RedisManifestNotFoundException("This is only a test!"); + }); } } diff --git a/src/test/java/edu/tamu/iiif/model/ManifestTypeTest.java b/src/test/java/edu/tamu/iiif/model/ManifestTypeTest.java index fe7bf2a..06e33c5 100644 --- a/src/test/java/edu/tamu/iiif/model/ManifestTypeTest.java +++ b/src/test/java/edu/tamu/iiif/model/ManifestTypeTest.java @@ -5,22 +5,22 @@ import static edu.tamu.iiif.constants.Constants.IMAGE_IDENTIFIER; import static edu.tamu.iiif.constants.Constants.PRESENTATION_IDENTIFIER; import static edu.tamu.iiif.constants.Constants.SEQUENCE_IDENTIFIER; +import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class ManifestTypeTest { @Test public void testManifestType() { - Assert.assertEquals(CANVAS_IDENTIFIER, ManifestType.CANVAS.getName()); - Assert.assertEquals(COLLECTION_IDENTIFIER, ManifestType.COLLECTION.getName()); - Assert.assertEquals(IMAGE_IDENTIFIER, ManifestType.IMAGE.getName()); - Assert.assertEquals(PRESENTATION_IDENTIFIER, ManifestType.PRESENTATION.getName()); - Assert.assertEquals(SEQUENCE_IDENTIFIER, ManifestType.SEQUENCE.getName()); + assertEquals(CANVAS_IDENTIFIER, ManifestType.CANVAS.getName()); + assertEquals(COLLECTION_IDENTIFIER, ManifestType.COLLECTION.getName()); + assertEquals(IMAGE_IDENTIFIER, ManifestType.IMAGE.getName()); + assertEquals(PRESENTATION_IDENTIFIER, ManifestType.PRESENTATION.getName()); + assertEquals(SEQUENCE_IDENTIFIER, ManifestType.SEQUENCE.getName()); } } diff --git a/src/test/java/edu/tamu/iiif/model/RedisManifestTest.java b/src/test/java/edu/tamu/iiif/model/RedisManifestTest.java index 1331cab..911cf25 100644 --- a/src/test/java/edu/tamu/iiif/model/RedisManifestTest.java +++ b/src/test/java/edu/tamu/iiif/model/RedisManifestTest.java @@ -1,11 +1,13 @@ package edu.tamu.iiif.model; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; -@RunWith(SpringRunner.class) +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +@ExtendWith(SpringExtension.class) public class RedisManifestTest { protected static final String FEDORA_PCDM_IDENTIFIER = "fedora-pcdm"; @@ -13,36 +15,36 @@ public class RedisManifestTest { @Test public void testCreateDefault() { RedisManifest redisManifest = new RedisManifest(); - Assert.assertNotNull(redisManifest); - Assert.assertNotNull(redisManifest.getCreation()); - Assert.assertEquals("", redisManifest.getAllowed()); - Assert.assertEquals("", redisManifest.getDisallowed()); + assertNotNull(redisManifest); + assertNotNull(redisManifest.getCreation()); + assertEquals("", redisManifest.getAllowed()); + assertEquals("", redisManifest.getDisallowed()); } @Test public void testCreate() { RedisManifest redisManifest = new RedisManifest("path", ManifestType.COLLECTION, FEDORA_PCDM_IDENTIFIER, "{\"@id\":\"http:localhost/fedora/collection?context=pcdm\"}"); - Assert.assertNotNull(redisManifest); - Assert.assertNotNull(redisManifest.getCreation()); - Assert.assertEquals("path", redisManifest.getPath()); - Assert.assertEquals(ManifestType.COLLECTION, redisManifest.getType()); - Assert.assertEquals(FEDORA_PCDM_IDENTIFIER, redisManifest.getRepository()); - Assert.assertEquals("{\"@id\":\"http:localhost/fedora/collection?context=pcdm\"}", redisManifest.getJson()); - Assert.assertEquals("", redisManifest.getAllowed()); - Assert.assertEquals("", redisManifest.getDisallowed()); + assertNotNull(redisManifest); + assertNotNull(redisManifest.getCreation()); + assertEquals("path", redisManifest.getPath()); + assertEquals(ManifestType.COLLECTION, redisManifest.getType()); + assertEquals(FEDORA_PCDM_IDENTIFIER, redisManifest.getRepository()); + assertEquals("{\"@id\":\"http:localhost/fedora/collection?context=pcdm\"}", redisManifest.getJson()); + assertEquals("", redisManifest.getAllowed()); + assertEquals("", redisManifest.getDisallowed()); } @Test public void testCreateComplete() { RedisManifest redisManifest = new RedisManifest("path", ManifestType.COLLECTION, FEDORA_PCDM_IDENTIFIER, "apple,banana", "cat,dog", "{\"@id\":\"http:localhost/fedora/collection?context=pcdm\"}"); - Assert.assertNotNull(redisManifest); - Assert.assertNotNull(redisManifest.getCreation()); - Assert.assertEquals("path", redisManifest.getPath()); - Assert.assertEquals(ManifestType.COLLECTION, redisManifest.getType()); - Assert.assertEquals(FEDORA_PCDM_IDENTIFIER, redisManifest.getRepository()); - Assert.assertEquals("{\"@id\":\"http:localhost/fedora/collection?context=pcdm\"}", redisManifest.getJson()); - Assert.assertEquals("apple,banana", redisManifest.getAllowed()); - Assert.assertEquals("cat,dog", redisManifest.getDisallowed()); + assertNotNull(redisManifest); + assertNotNull(redisManifest.getCreation()); + assertEquals("path", redisManifest.getPath()); + assertEquals(ManifestType.COLLECTION, redisManifest.getType()); + assertEquals(FEDORA_PCDM_IDENTIFIER, redisManifest.getRepository()); + assertEquals("{\"@id\":\"http:localhost/fedora/collection?context=pcdm\"}", redisManifest.getJson()); + assertEquals("apple,banana", redisManifest.getAllowed()); + assertEquals("cat,dog", redisManifest.getDisallowed()); } @Test @@ -50,10 +52,10 @@ public void testUpdate() { RedisManifest redisManifest = new RedisManifest("path", ManifestType.COLLECTION, FEDORA_PCDM_IDENTIFIER, "apple,banana", "cat,dog", "{\"@id\":\"http:localhost/fedora/collection?context=pcdm\"}"); redisManifest.setId("1"); redisManifest.setJson("{\"@id\":\"http:localhost/dspace/presentation?context=123456789/123456\"}"); - Assert.assertEquals("1", redisManifest.getId()); - Assert.assertEquals("{\"@id\":\"http:localhost/dspace/presentation?context=123456789/123456\"}", redisManifest.getJson()); - Assert.assertEquals("apple,banana", redisManifest.getAllowed()); - Assert.assertEquals("cat,dog", redisManifest.getDisallowed()); + assertEquals("1", redisManifest.getId()); + assertEquals("{\"@id\":\"http:localhost/dspace/presentation?context=123456789/123456\"}", redisManifest.getJson()); + assertEquals("apple,banana", redisManifest.getAllowed()); + assertEquals("cat,dog", redisManifest.getDisallowed()); } } diff --git a/src/test/java/edu/tamu/iiif/model/RedisResourceTest.java b/src/test/java/edu/tamu/iiif/model/RedisResourceTest.java index 07bd705..866010e 100644 --- a/src/test/java/edu/tamu/iiif/model/RedisResourceTest.java +++ b/src/test/java/edu/tamu/iiif/model/RedisResourceTest.java @@ -1,22 +1,24 @@ package edu.tamu.iiif.model; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import java.util.UUID; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class RedisResourceTest { @Test public void testCreate() { String url = "http://localhost:900/fcrepo/rest/image02"; RedisResource redisResource = new RedisResource(url); - Assert.assertNotNull(redisResource); - Assert.assertEquals(UUID.nameUUIDFromBytes(redisResource.getUrl().getBytes()).toString(), redisResource.getId()); - Assert.assertEquals(url, redisResource.getUrl()); + assertNotNull(redisResource); + assertEquals(UUID.nameUUIDFromBytes(redisResource.getUrl().getBytes()).toString(), redisResource.getId()); + assertEquals(url, redisResource.getUrl()); } } diff --git a/src/test/java/edu/tamu/iiif/model/rdf/RdfCanvasTest.java b/src/test/java/edu/tamu/iiif/model/rdf/RdfCanvasTest.java index 3497b94..0b9c8bf 100644 --- a/src/test/java/edu/tamu/iiif/model/rdf/RdfCanvasTest.java +++ b/src/test/java/edu/tamu/iiif/model/rdf/RdfCanvasTest.java @@ -1,24 +1,26 @@ package edu.tamu.iiif.model.rdf; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; import de.digitalcollections.iiif.presentation.model.impl.v2.ImageImpl; import edu.tamu.iiif.model.ImageWithInfo; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class RdfCanvasTest { @Test public void testCreateDefault() { RdfCanvas rdfCanvas = new RdfCanvas(); - Assert.assertNotNull(rdfCanvas); - Assert.assertNotNull(rdfCanvas.getHeight()); - Assert.assertNotNull(rdfCanvas.getWidth()); - Assert.assertNotNull(rdfCanvas.getImages()); - Assert.assertEquals(0, rdfCanvas.getImages().size()); + assertNotNull(rdfCanvas); + assertNotNull(rdfCanvas.getHeight()); + assertNotNull(rdfCanvas.getWidth()); + assertNotNull(rdfCanvas.getImages()); + assertEquals(0, rdfCanvas.getImages().size()); } @Test @@ -27,9 +29,9 @@ public void testUpdate() { rdfCanvas.setHeight(100); rdfCanvas.setWidth(100); rdfCanvas.addImage(ImageWithInfo.of(new ImageImpl())); - Assert.assertEquals(100, rdfCanvas.getHeight()); - Assert.assertEquals(100, rdfCanvas.getWidth()); - Assert.assertEquals(1, rdfCanvas.getImages().size()); + assertEquals(100, rdfCanvas.getHeight()); + assertEquals(100, rdfCanvas.getWidth()); + assertEquals(1, rdfCanvas.getImages().size()); } } diff --git a/src/test/java/edu/tamu/iiif/model/rdf/RdfOrderedSequenceTest.java b/src/test/java/edu/tamu/iiif/model/rdf/RdfOrderedSequenceTest.java index e0b3d31..aae69b7 100644 --- a/src/test/java/edu/tamu/iiif/model/rdf/RdfOrderedSequenceTest.java +++ b/src/test/java/edu/tamu/iiif/model/rdf/RdfOrderedSequenceTest.java @@ -2,6 +2,10 @@ import static edu.tamu.iiif.constants.Constants.IANA_FIRST_PREDICATE; import static edu.tamu.iiif.constants.Constants.IANA_LAST_PREDICATE; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.util.Optional; @@ -9,14 +13,13 @@ import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Resource; import org.assertj.core.util.Files; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; import edu.tamu.iiif.utility.RdfModelUtility; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class RdfOrderedSequenceTest { @Test @@ -33,21 +36,21 @@ public void testRdfOrderedSequence() { System.out.println(lastId.get()); RdfOrderedResource rdfOrderedSequence = new RdfOrderedResource(model, resource, firstId.get(), lastId.get()); - Assert.assertNotNull(rdfOrderedSequence); - Assert.assertEquals(model, rdfOrderedSequence.getModel()); + assertNotNull(rdfOrderedSequence); + assertEquals(model, rdfOrderedSequence.getModel()); - Assert.assertEquals(firstId.get(), rdfOrderedSequence.getFirstId()); - Assert.assertEquals(lastId.get(), rdfOrderedSequence.getLastId()); + assertEquals(firstId.get(), rdfOrderedSequence.getFirstId()); + assertEquals(lastId.get(), rdfOrderedSequence.getLastId()); - Assert.assertTrue(rdfOrderedSequence.isFirst()); - Assert.assertFalse(rdfOrderedSequence.isLast()); + assertTrue(rdfOrderedSequence.isFirst()); + assertFalse(rdfOrderedSequence.isLast()); rdfOrderedSequence.setCurrentId(rdfOrderedSequence.getLastId()); - Assert.assertTrue(rdfOrderedSequence.isLast()); - Assert.assertFalse(rdfOrderedSequence.isFirst()); + assertTrue(rdfOrderedSequence.isLast()); + assertFalse(rdfOrderedSequence.isFirst()); - Assert.assertEquals(lastId.get(), rdfOrderedSequence.getCurrentId()); + assertEquals(lastId.get(), rdfOrderedSequence.getCurrentId()); } } diff --git a/src/test/java/edu/tamu/iiif/model/rdf/RdfResourceTest.java b/src/test/java/edu/tamu/iiif/model/rdf/RdfResourceTest.java index 343fbf1..dbc3620 100644 --- a/src/test/java/edu/tamu/iiif/model/rdf/RdfResourceTest.java +++ b/src/test/java/edu/tamu/iiif/model/rdf/RdfResourceTest.java @@ -1,5 +1,8 @@ package edu.tamu.iiif.model.rdf; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import java.io.File; import org.apache.jena.rdf.model.Model; @@ -9,15 +12,14 @@ import org.apache.jena.rdf.model.Resource; import org.apache.jena.rdf.model.Statement; import org.assertj.core.util.Files; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; import edu.tamu.iiif.constants.Constants; import edu.tamu.iiif.utility.RdfModelUtility; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class RdfResourceTest { private final static String rdf = Files.contentOf(new File("src/test/resources/mock/dspace/rdf/item.rdf"), "UTF-8"); @@ -26,8 +28,8 @@ public class RdfResourceTest { public void testCreateDefault() { Model model = RdfModelUtility.createRdfModel(rdf); RdfResource rdfResource = new RdfResource(model); - Assert.assertNotNull(rdfResource); - Assert.assertEquals(model, rdfResource.getModel()); + assertNotNull(rdfResource); + assertEquals(model, rdfResource.getModel()); } @Test @@ -35,9 +37,9 @@ public void testCreateWithResource() { Model model = RdfModelUtility.createRdfModel(rdf); Resource resource = model.getResource(Constants.DSPACE_IS_PART_OF_COLLECTION_PREDICATE); RdfResource rdfResource = new RdfResource(model, resource); - Assert.assertNotNull(rdfResource); - Assert.assertEquals(model, rdfResource.getModel()); - Assert.assertEquals(resource, rdfResource.getResource()); + assertNotNull(rdfResource); + assertEquals(model, rdfResource.getModel()); + assertEquals(resource, rdfResource.getResource()); } @Test @@ -47,8 +49,8 @@ public void testCreateFromRdfResourceWithResourceId() { RdfResource testRdfResource = new RdfResource(testModel, testResource); Resource resource = testModel.getResource(Constants.DSPACE_HAS_BITSTREAM_PREDICATE); RdfResource rdfResource = new RdfResource(testRdfResource, Constants.DSPACE_HAS_BITSTREAM_PREDICATE); - Assert.assertNotNull(rdfResource); - Assert.assertEquals(resource, rdfResource.getResource()); + assertNotNull(rdfResource); + assertEquals(resource, rdfResource.getResource()); } @Test @@ -58,8 +60,8 @@ public void testCreateFromRdfResourceWithResourceResource() { RdfResource testRdfResource = new RdfResource(testModel, testResource); Resource resource = testModel.getResource(Constants.DSPACE_HAS_BITSTREAM_PREDICATE); RdfResource rdfResource = new RdfResource(testRdfResource, resource); - Assert.assertNotNull(rdfResource); - Assert.assertEquals(resource, rdfResource.getResource()); + assertNotNull(rdfResource); + assertEquals(resource, rdfResource.getResource()); } @Test @@ -68,36 +70,36 @@ public void testMethods() { Resource resource = model.getResource(Constants.DSPACE_IS_PART_OF_COLLECTION_PREDICATE); RdfResource rdfResource = new RdfResource(model, resource); - Assert.assertEquals(model, rdfResource.getModel()); - Assert.assertEquals(resource, rdfResource.getResource()); - Assert.assertEquals(Constants.DSPACE_IS_PART_OF_COLLECTION_PREDICATE, rdfResource.getId()); + assertEquals(model, rdfResource.getModel()); + assertEquals(resource, rdfResource.getResource()); + assertEquals(Constants.DSPACE_IS_PART_OF_COLLECTION_PREDICATE, rdfResource.getId()); Resource testResource = model.getResource(Constants.DSPACE_HAS_BITSTREAM_PREDICATE); rdfResource.setResource(testResource); - Assert.assertEquals(testResource, rdfResource.getResource()); - Assert.assertEquals(Constants.DSPACE_HAS_BITSTREAM_PREDICATE, rdfResource.getId()); + assertEquals(testResource, rdfResource.getResource()); + assertEquals(Constants.DSPACE_HAS_BITSTREAM_PREDICATE, rdfResource.getId()); - Assert.assertEquals(resource, rdfResource.getResourceById(Constants.DSPACE_IS_PART_OF_COLLECTION_PREDICATE)); + assertEquals(resource, rdfResource.getResourceById(Constants.DSPACE_IS_PART_OF_COLLECTION_PREDICATE)); Property property = model.getProperty(Constants.DUBLIN_CORE_TERMS_TITLE); - Assert.assertEquals(property, rdfResource.getProperty(Constants.DUBLIN_CORE_TERMS_TITLE)); + assertEquals(property, rdfResource.getProperty(Constants.DUBLIN_CORE_TERMS_TITLE)); Statement statement = resource.getProperty(property); - Assert.assertEquals(statement, rdfResource.getStatementOfPropertyWithId(Constants.DUBLIN_CORE_TERMS_TITLE)); + assertEquals(statement, rdfResource.getStatementOfPropertyWithId(Constants.DUBLIN_CORE_TERMS_TITLE)); NodeIterator nodeIterator = rdfResource.getAllNodesOfPropertyWithId(Constants.DSPACE_HAS_BITSTREAM_PREDICATE); - Assert.assertNotNull(nodeIterator); + assertNotNull(nodeIterator); - Assert.assertEquals(1, nodeIterator.toList().size()); + assertEquals(1, nodeIterator.toList().size()); ResIterator resIterator = rdfResource.listResourcesWithPropertyWithId(Constants.DSPACE_HAS_BITSTREAM_PREDICATE); - Assert.assertNotNull(resIterator); + assertNotNull(resIterator); - Assert.assertEquals(1, resIterator.toList().size()); + assertEquals(1, resIterator.toList().size()); } } diff --git a/src/test/java/edu/tamu/iiif/service/AbstractManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/AbstractManifestServiceTest.java index b77b588..473f17a 100644 --- a/src/test/java/edu/tamu/iiif/service/AbstractManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/AbstractManifestServiceTest.java @@ -1,30 +1,31 @@ package edu.tamu.iiif.service; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.when; -import static org.mockito.MockitoAnnotations.initMocks; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.lenient; import static org.springframework.test.util.ReflectionTestUtils.setField; import java.net.URISyntaxException; import java.util.Base64; import java.util.Optional; -import com.fasterxml.jackson.databind.ObjectMapper; - -import org.junit.Before; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.Spy; import org.mockito.invocation.InvocationOnMock; +import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.stubbing.Answer; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.web.client.RestTemplate; +import com.fasterxml.jackson.databind.ObjectMapper; + import edu.tamu.iiif.exception.NotFoundException; import edu.tamu.iiif.model.ManifestType; import edu.tamu.iiif.model.repo.RedisManifestRepo; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) +@ExtendWith(MockitoExtension.class) public abstract class AbstractManifestServiceTest implements ManifestServiceTest { protected static final String IIIF_SERVICE_URL = "http://localhost:9000"; @@ -45,12 +46,11 @@ public abstract class AbstractManifestServiceTest implements ManifestServiceTest @Mock protected ResourceResolver resourceResolver; - @Before + @BeforeEach public void init() throws URISyntaxException, NotFoundException { - initMocks(this); - when(redisManifestRepo.findByPathAndTypeAndRepositoryAndAllowedAndDisallowed(any(String.class), any(ManifestType.class), any(String.class), any(String.class), any(String.class))).thenReturn(Optional.empty()); + lenient().when(redisManifestRepo.findByPathAndTypeAndRepositoryAndAllowedAndDisallowed(any(String.class), any(ManifestType.class), any(String.class), any(String.class), any(String.class))).thenReturn(Optional.empty()); - when(resourceResolver.lookup(any(String.class))).thenAnswer(new Answer() { + lenient().when(resourceResolver.lookup(any(String.class))).thenAnswer(new Answer() { @Override public String answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); diff --git a/src/test/java/edu/tamu/iiif/service/CustomRedirectStrategyTest.java b/src/test/java/edu/tamu/iiif/service/CustomRedirectStrategyTest.java index 3a609f9..6b0783d 100644 --- a/src/test/java/edu/tamu/iiif/service/CustomRedirectStrategyTest.java +++ b/src/test/java/edu/tamu/iiif/service/CustomRedirectStrategyTest.java @@ -1,6 +1,6 @@ package edu.tamu.iiif.service; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.net.MalformedURLException; import java.net.URI; @@ -13,11 +13,12 @@ import org.apache.http.message.BasicHttpResponse; import org.apache.http.protocol.BasicHttpContext; import org.apache.http.protocol.HttpContext; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class CustomRedirectStrategyTest { @Test @@ -42,23 +43,27 @@ public void testGetLocationURIRelativeLocation() throws ProtocolException, Malfo assertEquals("http://localhost:9000/relocated/test", uri.toString()); } - @Test(expected = ProtocolException.class) + @Test public void testGetLocationURIWithBadLocation() throws ProtocolException { - CustomRedirectStrategy customRedirectStrategy = new CustomRedirectStrategy(); - HttpRequest request = new BasicHttpRequest("GET", "http://localhost:9000/test"); - HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, 301, "Gone fishing!"); - response.setHeader("location", "this$won't&work"); - HttpContext context = new BasicHttpContext(); - customRedirectStrategy.getLocationURI(request, response, context); + Assertions.assertThrows(ProtocolException.class, () -> { + CustomRedirectStrategy customRedirectStrategy = new CustomRedirectStrategy(); + HttpRequest request = new BasicHttpRequest("GET", "http://localhost:9000/test"); + HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, 301, "Gone fishing!"); + response.setHeader("location", "this$won't&work"); + HttpContext context = new BasicHttpContext(); + customRedirectStrategy.getLocationURI(request, response, context); + }); } - @Test(expected = ProtocolException.class) + @Test public void testGetLocationURIWithoutLocation() throws ProtocolException { - CustomRedirectStrategy customRedirectStrategy = new CustomRedirectStrategy(); - HttpRequest request = new BasicHttpRequest("GET", "http://localhost:9000/test"); - HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, 301, "Gone fishing!"); - HttpContext context = new BasicHttpContext(); - customRedirectStrategy.getLocationURI(request, response, context); + Assertions.assertThrows(ProtocolException.class, () -> { + CustomRedirectStrategy customRedirectStrategy = new CustomRedirectStrategy(); + HttpRequest request = new BasicHttpRequest("GET", "http://localhost:9000/test"); + HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, 301, "Gone fishing!"); + HttpContext context = new BasicHttpContext(); + customRedirectStrategy.getLocationURI(request, response, context); + }); } } diff --git a/src/test/java/edu/tamu/iiif/service/RedisResourceResolverTest.java b/src/test/java/edu/tamu/iiif/service/RedisResourceResolverTest.java index e41f646..6739b74 100644 --- a/src/test/java/edu/tamu/iiif/service/RedisResourceResolverTest.java +++ b/src/test/java/edu/tamu/iiif/service/RedisResourceResolverTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.service; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.when; import static org.springframework.test.util.ReflectionTestUtils.setField; @@ -10,17 +10,20 @@ import java.net.URISyntaxException; import java.util.Optional; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import edu.tamu.iiif.exception.NotFoundException; import edu.tamu.iiif.model.RedisResource; import edu.tamu.iiif.model.repo.RedisResourceRepo; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) +@ExtendWith(MockitoExtension.class) public class RedisResourceResolverTest { @MockBean @@ -32,17 +35,17 @@ public class RedisResourceResolverTest { private final RedisResource mockResourceNotExist = new RedisResource("http://localhost:9000/fcrepo/rest/image02"); - @Before + @BeforeEach public void setup() { - when(redisResourceRepo.exists(mockResource.getId())).thenReturn(true); - when(redisResourceRepo.findOne(mockResource.getId())).thenReturn(mockResource); + when(redisResourceRepo.existsById(mockResource.getId())).thenReturn(true); + when(redisResourceRepo.findById(mockResource.getId())).thenReturn(Optional.of(mockResource)); when(redisResourceRepo.findByUrl(mockResource.getUrl())).thenReturn(Optional.of(mockResource)); when(redisResourceRepo.save(any(RedisResource.class))).thenReturn(mockResource); - doNothing().when(redisResourceRepo).delete(mockResource.getId()); + doNothing().when(redisResourceRepo).deleteById(mockResource.getId()); when(redisResourceRepo.findByUrl(mockResourceNotExist.getUrl())).thenReturn(Optional.empty()); - when(redisResourceRepo.exists(mockResourceNotExist.getId())).thenReturn(false); + when(redisResourceRepo.existsById(mockResourceNotExist.getId())).thenReturn(false); setField(redisResourceResolver, "redisResourceRepo", redisResourceRepo); } @@ -53,9 +56,11 @@ public void testLookup() throws NotFoundException, URISyntaxException { assertEquals(mockResource.getId(), id); } - @Test(expected = NotFoundException.class) + @Test public void testLookupNotFound() throws NotFoundException, URISyntaxException { - redisResourceResolver.lookup(mockResourceNotExist.getUrl()); + Assertions.assertThrows(NotFoundException.class, () -> { + redisResourceResolver.lookup(mockResourceNotExist.getUrl()); + }); } @Test @@ -70,9 +75,11 @@ public void testResolve() throws NotFoundException { assertEquals(mockResource.getUrl(), url); } - @Test(expected = NotFoundException.class) + @Test public void testResolveNotFound() throws NotFoundException { - redisResourceResolver.resolve(mockResourceNotExist.getId()); + Assertions.assertThrows(NotFoundException.class, () -> { + redisResourceResolver.resolve(mockResourceNotExist.getId()); + }); } @Test @@ -80,9 +87,11 @@ public void testRemove() throws NotFoundException { redisResourceResolver.remove(mockResource.getId()); } - @Test(expected = NotFoundException.class) + @Test public void testRemoveNotFound() throws NotFoundException { - redisResourceResolver.remove(mockResourceNotExist.getId()); + Assertions.assertThrows(NotFoundException.class, () -> { + redisResourceResolver.remove(mockResourceNotExist.getId()); + }); } } diff --git a/src/test/java/edu/tamu/iiif/service/RemoteResourceResolverTest.java b/src/test/java/edu/tamu/iiif/service/RemoteResourceResolverTest.java index 4db283d..5579a0f 100644 --- a/src/test/java/edu/tamu/iiif/service/RemoteResourceResolverTest.java +++ b/src/test/java/edu/tamu/iiif/service/RemoteResourceResolverTest.java @@ -1,8 +1,8 @@ package edu.tamu.iiif.service; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.mockito.Matchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import static org.springframework.test.util.ReflectionTestUtils.setField; @@ -11,9 +11,10 @@ import org.apache.commons.lang3.StringUtils; import org.apache.http.client.utils.URIBuilder; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -21,7 +22,7 @@ import org.springframework.http.RequestEntity.BodyBuilder; import org.springframework.http.RequestEntity.HeadersBuilder; import org.springframework.http.ResponseEntity; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.web.client.RestTemplate; import edu.tamu.iiif.config.model.AdminConfig.Credentials; @@ -30,7 +31,7 @@ import edu.tamu.iiif.exception.NotFoundException; import edu.tamu.iiif.model.RedisResource; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class RemoteResourceResolverTest { @MockBean @@ -44,7 +45,7 @@ public class RemoteResourceResolverTest { private final ResolverConfig resolver = new ResolverConfig(); - @Before + @BeforeEach public void setup() throws URISyntaxException { resolver.setType(ResolverType.REMOTE); resolver.setUrl("http://localhost:9001/entity"); @@ -69,16 +70,18 @@ public void testLookup() throws NotFoundException, URISyntaxException { assertEquals(mockResource.getId(), id); } - @Test(expected = NotFoundException.class) + @Test public void testLookupNotFound() throws NotFoundException, URISyntaxException { - URIBuilder builder = new URIBuilder(resolver.getUrl()); - builder.addParameter("url", mockResourceNotExist.getUrl()); - URI uri = builder.build(); - RequestEntity requestNotFound = RequestEntity.get(uri).accept(MediaType.TEXT_PLAIN).build(); + Assertions.assertThrows(NotFoundException.class, () -> { + URIBuilder builder = new URIBuilder(resolver.getUrl()); + builder.addParameter("url", mockResourceNotExist.getUrl()); + URI uri = builder.build(); + RequestEntity requestNotFound = RequestEntity.get(uri).accept(MediaType.TEXT_PLAIN).build(); - when(restTemplate.exchange(eq(requestNotFound), eq(String.class))).thenReturn(new ResponseEntity(String.format("Resource with url %s not found!", requestNotFound.getUrl()), HttpStatus.NOT_FOUND)); + when(restTemplate.exchange(eq(requestNotFound), eq(String.class))).thenReturn(new ResponseEntity(String.format("Resource with url %s not found!", requestNotFound.getUrl()), HttpStatus.NOT_FOUND)); - remoteResourceResolver.lookup(mockResourceNotExist.getUrl()); + remoteResourceResolver.lookup(mockResourceNotExist.getUrl()); + }); } @Test @@ -110,15 +113,17 @@ public void testResolve() throws NotFoundException, URISyntaxException { assertEquals(mockResource.getUrl(), url); } - @Test(expected = NotFoundException.class) + @Test public void testResolveNotFound() throws NotFoundException, URISyntaxException { - URIBuilder builder = new URIBuilder(StringUtils.removeEnd(resolver.getUrl(), "/") + "/" + mockResourceNotExist.getId()); - URI uri = builder.build(); - RequestEntity request = RequestEntity.get(uri).accept(MediaType.TEXT_PLAIN).build(); + Assertions.assertThrows(NotFoundException.class, () -> { + URIBuilder builder = new URIBuilder(StringUtils.removeEnd(resolver.getUrl(), "/") + "/" + mockResourceNotExist.getId()); + URI uri = builder.build(); + RequestEntity request = RequestEntity.get(uri).accept(MediaType.TEXT_PLAIN).build(); - when(restTemplate.exchange(eq(request), eq(String.class))).thenReturn(new ResponseEntity(String.format("Resource with id %s not found!", mockResourceNotExist.getId()), HttpStatus.FOUND)); + when(restTemplate.exchange(eq(request), eq(String.class))).thenReturn(new ResponseEntity(String.format("Resource with id %s not found!", mockResourceNotExist.getId()), HttpStatus.FOUND)); - remoteResourceResolver.resolve(mockResourceNotExist.getId()); + remoteResourceResolver.resolve(mockResourceNotExist.getId()); + }); } @Test @@ -136,19 +141,21 @@ public void testRemove() throws NotFoundException, URISyntaxException { remoteResourceResolver.remove(mockResource.getId()); } - @Test(expected = NotFoundException.class) + @Test public void testRemoveNotFound() throws NotFoundException, URISyntaxException { - URIBuilder builder = new URIBuilder(StringUtils.removeEnd(resolver.getUrl(), "/") + "/" + mockResourceNotExist.getId()); - URI uri = builder.build(); - HeadersBuilder headerBuilder = RequestEntity.delete(uri); - if (resolver.hasCredentials()) { - headerBuilder.header("Authorization", String.format("Basic %s", resolver.getBase64Credentials())); - } - RequestEntity request = headerBuilder.build(); - - when(restTemplate.exchange(eq(request), eq(String.class))).thenReturn(new ResponseEntity(String.format("Resource with id %s not found!", mockResourceNotExist.getId()), HttpStatus.NOT_FOUND)); - - remoteResourceResolver.remove(mockResourceNotExist.getId()); + Assertions.assertThrows(NotFoundException.class, () -> { + URIBuilder builder = new URIBuilder(StringUtils.removeEnd(resolver.getUrl(), "/") + "/" + mockResourceNotExist.getId()); + URI uri = builder.build(); + HeadersBuilder headerBuilder = RequestEntity.delete(uri); + if (resolver.hasCredentials()) { + headerBuilder.header("Authorization", String.format("Basic %s", resolver.getBase64Credentials())); + } + RequestEntity request = headerBuilder.build(); + + when(restTemplate.exchange(eq(request), eq(String.class))).thenReturn(new ResponseEntity(String.format("Resource with id %s not found!", mockResourceNotExist.getId()), HttpStatus.NOT_FOUND)); + + remoteResourceResolver.remove(mockResourceNotExist.getId()); + }); } } diff --git a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfCanvasManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfCanvasManifestServiceTest.java index ff32a70..a2e64c3 100644 --- a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfCanvasManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfCanvasManifestServiceTest.java @@ -1,24 +1,27 @@ package edu.tamu.iiif.service.dspace.rdf; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import java.io.IOException; import java.net.URISyntaxException; -import com.fasterxml.jackson.databind.JsonNode; - -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; +import com.fasterxml.jackson.databind.JsonNode; + import edu.tamu.iiif.controller.ManifestRequest; +@ExtendWith(MockitoExtension.class) public class DSpaceRdfCanvasManifestServiceTest extends AbstractDSpaceRdfManifestServiceTest { @InjectMocks @@ -33,7 +36,7 @@ public class DSpaceRdfCanvasManifestServiceTest extends AbstractDSpaceRdfManifes @Value("classpath:mock/dspace/json/canvas.json") private Resource canvas; - @Before + @BeforeEach public void setup() { setup(dspaceRdfCanvasManifestService); } diff --git a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfCollectionManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfCollectionManifestServiceTest.java index 88c4859..2826787 100644 --- a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfCollectionManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfCollectionManifestServiceTest.java @@ -1,16 +1,18 @@ package edu.tamu.iiif.service.dspace.rdf; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import java.io.IOException; import java.net.URISyntaxException; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; @@ -18,6 +20,7 @@ import edu.tamu.iiif.controller.ManifestRequest; +@ExtendWith(MockitoExtension.class) public class DSpaceRdfCollectionManifestServiceTest extends AbstractDSpaceRdfManifestServiceTest { @InjectMocks @@ -41,7 +44,7 @@ public class DSpaceRdfCollectionManifestServiceTest extends AbstractDSpaceRdfMan @Value("classpath:mock/dspace/json/collections.json") private Resource collections; - @Before + @BeforeEach public void setup() { setup(dspaceRdfCollectionManifestService); } diff --git a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfImageManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfImageManifestServiceTest.java index f43e6e4..e7b18e1 100644 --- a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfImageManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfImageManifestServiceTest.java @@ -1,24 +1,27 @@ package edu.tamu.iiif.service.dspace.rdf; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import java.io.IOException; import java.net.URISyntaxException; -import com.fasterxml.jackson.databind.JsonNode; - -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; +import com.fasterxml.jackson.databind.JsonNode; + import edu.tamu.iiif.controller.ManifestRequest; +@ExtendWith(MockitoExtension.class) public class DSpaceRdfImageManifestServiceTest extends AbstractDSpaceRdfManifestServiceTest { @InjectMocks @@ -27,7 +30,7 @@ public class DSpaceRdfImageManifestServiceTest extends AbstractDSpaceRdfManifest @Value("classpath:mock/dspace/json/image.json") private Resource image; - @Before + @BeforeEach public void setup() { setup(dspaceRdfImageManifestService); } diff --git a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfPresentationManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfPresentationManifestServiceTest.java index 8b39fd4..03fde4a 100644 --- a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfPresentationManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfPresentationManifestServiceTest.java @@ -2,29 +2,33 @@ import static edu.tamu.iiif.model.ManifestType.PRESENTATION; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; +import static org.mockito.Mockito.lenient; import java.io.IOException; import java.net.URISyntaxException; import java.util.Arrays; import java.util.Optional; -import com.fasterxml.jackson.databind.JsonNode; - -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; +import com.fasterxml.jackson.databind.JsonNode; + import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.model.ManifestType; import edu.tamu.iiif.model.RedisManifest; +@ExtendWith(MockitoExtension.class) public class DSpaceRdfPresentationManifestServiceTest extends AbstractDSpaceRdfManifestServiceTest { @InjectMocks @@ -57,7 +61,7 @@ public class DSpaceRdfPresentationManifestServiceTest extends AbstractDSpaceRdfM @Value("classpath:mock/dspace/json/collection-presentation.json") private Resource collectionPresentation; - @Before + @BeforeEach public void setup() { setup(dspaceRdfPresentationManifestService); } @@ -73,31 +77,9 @@ public void testGetManifest() throws IOException, URISyntaxException { public void testGetCollectionManifest() throws IOException, URISyntaxException { setupMocks(); when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158299"), eq(String.class))).thenReturn(readFileToString(collectionRdf.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158301"), eq(String.class))).thenReturn(readFileToString(subcommunityRdf.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158298"), eq(String.class))).thenReturn(readFileToString(communityRdf.getFile(), "UTF-8")); - - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158316"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8").replace("123456789/158308", "123456789/158316")); - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158317"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8").replace("123456789/158308", "123456789/158317")); - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158310"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8").replace("123456789/158308", "123456789/158310")); - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158307"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8").replace("123456789/158308", "123456789/158307")); - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158313"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8").replace("123456789/158308", "123456789/158313")); - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158312"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8").replace("123456789/158308", "123456789/158312")); HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", "image/png; charset=utf-8"); - when(restTemplate.headForHeaders(eq(DSPACE_URL + "/xmlui/bitstream/123456789/158307/1/sports-car-146873_960_720.png"))).thenReturn(headers); - when(restTemplate.headForHeaders(eq(DSPACE_URL + "/xmlui/bitstream/123456789/158310/1/sports-car-146873_960_720.png"))).thenReturn(headers); - when(restTemplate.headForHeaders(eq(DSPACE_URL + "/xmlui/bitstream/123456789/158312/1/sports-car-146873_960_720.png"))).thenReturn(headers); - when(restTemplate.headForHeaders(eq(DSPACE_URL + "/xmlui/bitstream/123456789/158313/1/sports-car-146873_960_720.png"))).thenReturn(headers); - when(restTemplate.headForHeaders(eq(DSPACE_URL + "/xmlui/bitstream/123456789/158316/1/sports-car-146873_960_720.png"))).thenReturn(headers); - when(restTemplate.headForHeaders(eq(DSPACE_URL + "/xmlui/bitstream/123456789/158317/1/sports-car-146873_960_720.png"))).thenReturn(headers); - - when(restTemplate.getForObject(eq(IMAGE_SERVICE_URL + "/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMxMC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json"), eq(String.class))).thenReturn(readFileToString(image.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(IMAGE_SERVICE_URL + "/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMxMy8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json"), eq(String.class))).thenReturn(readFileToString(image.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(IMAGE_SERVICE_URL + "/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMxMi8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json"), eq(String.class))).thenReturn(readFileToString(image.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(IMAGE_SERVICE_URL + "/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMxNy8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json"), eq(String.class))).thenReturn(readFileToString(image.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(IMAGE_SERVICE_URL + "/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwNy8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json"), eq(String.class))).thenReturn(readFileToString(image.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(IMAGE_SERVICE_URL + "/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMxNi8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json"), eq(String.class))).thenReturn(readFileToString(image.getFile(), "UTF-8")); String manifest = dspaceRdfPresentationManifestService.getManifest(ManifestRequest.of("123456789/158299", false)); assertEquals(objectMapper.readValue(collectionPresentation.getFile(), JsonNode.class), objectMapper.readValue(manifest, JsonNode.class)); @@ -136,7 +118,7 @@ public void testGetManifestUpdateCached() throws IOException, URISyntaxException private void setupMocks() throws IOException { when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158308"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158308/1/sports-car-146873_960_720.png"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8")); + lenient().when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158308/1/sports-car-146873_960_720.png"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8")); HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", "image/png; charset=utf-8"); when(restTemplate.headForHeaders(eq(DSPACE_URL + "/xmlui/bitstream/123456789/158308/1/sports-car-146873_960_720.png"))).thenReturn(headers); diff --git a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfSequenceManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfSequenceManifestServiceTest.java index 51d6c69..bad2f50 100644 --- a/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfSequenceManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/dspace/rdf/DSpaceRdfSequenceManifestServiceTest.java @@ -1,24 +1,28 @@ package edu.tamu.iiif.service.dspace.rdf; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.when; import java.io.IOException; import java.net.URISyntaxException; -import com.fasterxml.jackson.databind.JsonNode; - -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; +import com.fasterxml.jackson.databind.JsonNode; + import edu.tamu.iiif.controller.ManifestRequest; +@ExtendWith(MockitoExtension.class) public class DSpaceRdfSequenceManifestServiceTest extends AbstractDSpaceRdfManifestServiceTest { @InjectMocks @@ -33,7 +37,7 @@ public class DSpaceRdfSequenceManifestServiceTest extends AbstractDSpaceRdfManif @Value("classpath:mock/dspace/json/sequence.json") private Resource sequence; - @Before + @BeforeEach public void setup() { setup(dspaceRdfSequenceManifestService); } @@ -45,8 +49,11 @@ public void testGetManifest() throws IOException, URISyntaxException { HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", "image/png; charset=utf-8"); when(restTemplate.headForHeaders(eq(DSPACE_URL + "/xmlui/bitstream/123456789/158308/1/sports-car-146873_960_720.png"))).thenReturn(headers); - when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158308/1/sports-car-146873_960_720.png"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8")); when(restTemplate.getForObject(eq(IMAGE_SERVICE_URL + "/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json"), eq(String.class))).thenReturn(readFileToString(image.getFile(), "UTF-8")); + + // Lenient() is required here because Mockito incorrectly thinks this is not used and reports this as unnecessary stubbing but removing this stub results in a NPE. + lenient().when(restTemplate.getForObject(eq(DSPACE_URL + "/rdf/handle/123456789/158308/1/sports-car-146873_960_720.png"), eq(String.class))).thenReturn(readFileToString(rdf.getFile(), "UTF-8")); + String manifest = dspaceRdfSequenceManifestService.getManifest(ManifestRequest.of("123456789/158308", false)); assertEquals(objectMapper.readValue(sequence.getFile(), JsonNode.class), objectMapper.readValue(manifest, JsonNode.class)); diff --git a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/AbstractFedoraPcdmManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/AbstractFedoraPcdmManifestServiceTest.java index c28c924..4452eeb 100644 --- a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/AbstractFedoraPcdmManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/AbstractFedoraPcdmManifestServiceTest.java @@ -1,78 +1,78 @@ -package edu.tamu.iiif.service.fedora.pcdm; - -import static org.mockito.Mockito.when; - -import java.util.ArrayList; -import java.util.List; - -import org.springframework.boot.test.mock.mockito.MockBean; - -import edu.tamu.iiif.config.model.FedoraPcdmIiifConfig; -import edu.tamu.iiif.service.AbstractManifestServiceTest; - -public abstract class AbstractFedoraPcdmManifestServiceTest extends AbstractManifestServiceTest { - - @MockBean - private FedoraPcdmIiifConfig config; - - protected static final String FEDORA_URL = "http://localhost:9000/fcrepo/rest"; - - protected static final String FEDORA_PCDM_IDENTIFIER = "fedora-pcdm"; - - protected void setup(AbstractFedoraPcdmManifestService fedoraPcdmManifestService) { - super.setup(fedoraPcdmManifestService); - List labelPredicates = new ArrayList(); - labelPredicates.add("http://purl.org/dc/elements/1.1/title"); - labelPredicates.add("http://purl.org/dc/terms/title"); - labelPredicates.add("http://www.w3.org/2000/01/rdf-schema#label"); - labelPredicates.add("http://purl.org/dc/elements/1.1/identifier"); - - List descriptionPredicates = new ArrayList(); - descriptionPredicates.add("http://purl.org/dc/terms/abstract"); - descriptionPredicates.add("http://purl.org/dc/terms/description"); - descriptionPredicates.add("http://purl.org/dc/elements/1.1/description"); - - List attributionPredicates = new ArrayList(); - attributionPredicates.add("http://purl.org/dc/elements/1.1/creator"); - attributionPredicates.add("http://purl.org/dc/terms/creator"); - attributionPredicates.add("http://purl.org/dc/elements/1.1/contributor"); - attributionPredicates.add("http://purl.org/dc/terms/contributor"); - attributionPredicates.add("http://purl.org/dc/elements/1.1/publisher"); - attributionPredicates.add("http://purl.org/dc/terms/publisher"); - attributionPredicates.add("http://purl.org/dc/elements/1.1/rights"); - attributionPredicates.add("http://purl.org/dc/terms/rightsHolder"); - - List licensePrecedence = new ArrayList(); - licensePrecedence.add("http://purl.org/dc/terms/license"); - - List metadataPrefixes = new ArrayList(); - metadataPrefixes.add("http://purl.org/dc/elements/1.1/"); - metadataPrefixes.add("http://purl.org/dc/terms/"); - - List metadataExclusion = new ArrayList(); - metadataExclusion.add("http://purl.org/dc/terms/description"); - metadataExclusion.add("http://purl.org/dc/elements/1.1/description"); - - when(config.getLabelPredicates()).thenReturn(labelPredicates); - when(config.getDescriptionPredicates()).thenReturn(descriptionPredicates); - when(config.getAttributionPredicates()).thenReturn(attributionPredicates); - when(config.getLicensePrecedence()).thenReturn(licensePrecedence); - when(config.getMetadataPrefixes()).thenReturn(metadataPrefixes); - when(config.getMetadataExclusion()).thenReturn(metadataExclusion); - - when(config.getUrl()).thenReturn(FEDORA_URL); - when(config.getIdentifier()).thenReturn(FEDORA_PCDM_IDENTIFIER); - when(config.getContextAsMetadata()).thenReturn(true); - } - - @Override - protected String getRepoRdfIdentifier() { - return FEDORA_PCDM_IDENTIFIER; - } - - @Override - protected String getRepoBaseUrl() { - return FEDORA_URL + "/"; - } - -} +package edu.tamu.iiif.service.fedora.pcdm; + +import static org.mockito.Mockito.lenient; + +import java.util.ArrayList; +import java.util.List; + +import org.springframework.boot.test.mock.mockito.MockBean; + +import edu.tamu.iiif.config.model.FedoraPcdmIiifConfig; +import edu.tamu.iiif.service.AbstractManifestServiceTest; + +public abstract class AbstractFedoraPcdmManifestServiceTest extends AbstractManifestServiceTest { + + @MockBean + private FedoraPcdmIiifConfig config; + + protected static final String FEDORA_URL = "http://localhost:9000/fcrepo/rest"; + + protected static final String FEDORA_PCDM_IDENTIFIER = "fedora-pcdm"; + + protected void setup(AbstractFedoraPcdmManifestService fedoraPcdmManifestService) { + super.setup(fedoraPcdmManifestService); + List labelPredicates = new ArrayList(); + labelPredicates.add("http://purl.org/dc/elements/1.1/title"); + labelPredicates.add("http://purl.org/dc/terms/title"); + labelPredicates.add("http://www.w3.org/2000/01/rdf-schema#label"); + labelPredicates.add("http://purl.org/dc/elements/1.1/identifier"); + + List descriptionPredicates = new ArrayList(); + descriptionPredicates.add("http://purl.org/dc/terms/abstract"); + descriptionPredicates.add("http://purl.org/dc/terms/description"); + descriptionPredicates.add("http://purl.org/dc/elements/1.1/description"); + + List attributionPredicates = new ArrayList(); + attributionPredicates.add("http://purl.org/dc/elements/1.1/creator"); + attributionPredicates.add("http://purl.org/dc/terms/creator"); + attributionPredicates.add("http://purl.org/dc/elements/1.1/contributor"); + attributionPredicates.add("http://purl.org/dc/terms/contributor"); + attributionPredicates.add("http://purl.org/dc/elements/1.1/publisher"); + attributionPredicates.add("http://purl.org/dc/terms/publisher"); + attributionPredicates.add("http://purl.org/dc/elements/1.1/rights"); + attributionPredicates.add("http://purl.org/dc/terms/rightsHolder"); + + List licensePrecedence = new ArrayList(); + licensePrecedence.add("http://purl.org/dc/terms/license"); + + List metadataPrefixes = new ArrayList(); + metadataPrefixes.add("http://purl.org/dc/elements/1.1/"); + metadataPrefixes.add("http://purl.org/dc/terms/"); + + List metadataExclusion = new ArrayList(); + metadataExclusion.add("http://purl.org/dc/terms/description"); + metadataExclusion.add("http://purl.org/dc/elements/1.1/description"); + + lenient().when(config.getLabelPredicates()).thenReturn(labelPredicates); + lenient().when(config.getDescriptionPredicates()).thenReturn(descriptionPredicates); + lenient().when(config.getAttributionPredicates()).thenReturn(attributionPredicates); + lenient().when(config.getLicensePrecedence()).thenReturn(licensePrecedence); + lenient().when(config.getMetadataPrefixes()).thenReturn(metadataPrefixes); + lenient().when(config.getMetadataExclusion()).thenReturn(metadataExclusion); + + lenient().when(config.getUrl()).thenReturn(FEDORA_URL); + lenient().when(config.getIdentifier()).thenReturn(FEDORA_PCDM_IDENTIFIER); + lenient().when(config.getContextAsMetadata()).thenReturn(true); + } + + @Override + protected String getRepoRdfIdentifier() { + return FEDORA_PCDM_IDENTIFIER; + } + + @Override + protected String getRepoBaseUrl() { + return FEDORA_URL + "/"; + } + +} diff --git a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmCanvasManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmCanvasManifestServiceTest.java index 3a366fd..436b11b 100644 --- a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmCanvasManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmCanvasManifestServiceTest.java @@ -1,17 +1,19 @@ package edu.tamu.iiif.service.fedora.pcdm; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import java.io.IOException; import java.net.URISyntaxException; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; @@ -20,6 +22,7 @@ import edu.tamu.iiif.controller.ManifestRequest; +@ExtendWith(MockitoExtension.class) public class FedoraPcdmCanvasManifestServiceTest extends AbstractFedoraPcdmManifestServiceTest { @InjectMocks @@ -40,7 +43,7 @@ public class FedoraPcdmCanvasManifestServiceTest extends AbstractFedoraPcdmManif @Value("classpath:mock/fedora/json/canvas.json") private Resource canvas; - @Before + @BeforeEach public void setup() { setup(fedoraPcdmCanvasManifestService); } diff --git a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmCollectionManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmCollectionManifestServiceTest.java index 630c741..5dc41b3 100644 --- a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmCollectionManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmCollectionManifestServiceTest.java @@ -1,16 +1,18 @@ package edu.tamu.iiif.service.fedora.pcdm; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import java.io.IOException; import java.net.URISyntaxException; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; @@ -18,11 +20,12 @@ import edu.tamu.iiif.controller.ManifestRequest; +@ExtendWith(MockitoExtension.class) public class FedoraPcdmCollectionManifestServiceTest extends AbstractFedoraPcdmManifestServiceTest { @InjectMocks private FedoraPcdmCollectionManifestService fedoraPcdmCollectionManifestService; - + @Value("classpath:mock/fedora/rdf/collection_container.rdf") private Resource collectionRdf; @@ -38,7 +41,7 @@ public class FedoraPcdmCollectionManifestServiceTest extends AbstractFedoraPcdmM @Value("classpath:mock/fedora/json/collection.json") private Resource collection; - @Before + @BeforeEach public void setup() { setup(fedoraPcdmCollectionManifestService); } @@ -48,8 +51,6 @@ public void testGetManifest() throws IOException, URISyntaxException { when(restTemplate.getForObject(eq(FEDORA_URL + "/mwbObjects/TGWCatalog"), eq(String.class))).thenReturn(readFileToString(collectionRdf.getFile(), "UTF-8")); when(restTemplate.getForObject(eq(FEDORA_URL + "/mwbObjects/TGWCatalog/Pages/ExCat0084"), eq(String.class))).thenReturn(readFileToString(itemRdf.getFile(), "UTF-8")); when(restTemplate.getForObject(eq(FEDORA_URL + "/mwbObjects/TGWCatalog/Pages/ExCat0084/fcr:metadata"), eq(String.class))).thenReturn(readFileToString(itemRdf.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(FEDORA_URL + "/mwbObjects/TGWCatalog/Pages/ExCat0084/files/fcr:metadata"), eq(String.class))).thenReturn(readFileToString(itemFilesRdf.getFile(), "UTF-8")); - when(restTemplate.getForObject(eq(FEDORA_URL + "/mwbObjects/TGWCatalog/Pages/ExCat0084/files/ExCat0084.jpg/fcr:metadata"), eq(String.class))).thenReturn(readFileToString(itemFilesEntryRdf.getFile(), "UTF-8")); String manifest = fedoraPcdmCollectionManifestService.getManifest(ManifestRequest.of("mwbObjects/TGWCatalog", false)); assertEquals(objectMapper.readValue(collection.getFile(), JsonNode.class), objectMapper.readValue(manifest, JsonNode.class)); diff --git a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmImageManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmImageManifestServiceTest.java index 932250f..c48a68f 100644 --- a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmImageManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmImageManifestServiceTest.java @@ -1,17 +1,19 @@ package edu.tamu.iiif.service.fedora.pcdm; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import java.io.IOException; import java.net.URISyntaxException; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; @@ -19,6 +21,7 @@ import edu.tamu.iiif.controller.ManifestRequest; +@ExtendWith(MockitoExtension.class) public class FedoraPcdmImageManifestServiceTest extends AbstractFedoraPcdmManifestServiceTest { @InjectMocks @@ -27,7 +30,7 @@ public class FedoraPcdmImageManifestServiceTest extends AbstractFedoraPcdmManife @Value("classpath:mock/fedora/json/image.json") private Resource image; - @Before + @BeforeEach public void setup() { setup(fedoraPcdmImageManifestService); } diff --git a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmPresentationManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmPresentationManifestServiceTest.java index 47f0c4e..69a66ad 100644 --- a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmPresentationManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmPresentationManifestServiceTest.java @@ -2,9 +2,9 @@ import static edu.tamu.iiif.model.ManifestType.PRESENTATION; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import java.io.IOException; @@ -12,19 +12,22 @@ import java.util.Arrays; import java.util.Optional; -import com.fasterxml.jackson.databind.JsonNode; - -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; +import com.fasterxml.jackson.databind.JsonNode; + import edu.tamu.iiif.controller.ManifestRequest; import edu.tamu.iiif.model.ManifestType; import edu.tamu.iiif.model.RedisManifest; +@ExtendWith(MockitoExtension.class) public class FedoraPcdmPresentationManifestServiceTest extends AbstractFedoraPcdmManifestServiceTest { @InjectMocks @@ -51,7 +54,7 @@ public class FedoraPcdmPresentationManifestServiceTest extends AbstractFedoraPcd @Value("classpath:mock/fedora/json/presentation-disallow.json") private Resource presentationDisallow; - @Before + @BeforeEach public void setup() { setup(fedoraPcdmPresentationManifestService); } diff --git a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmSequenceManifestServiceTest.java b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmSequenceManifestServiceTest.java index bd853ac..5ef029d 100644 --- a/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmSequenceManifestServiceTest.java +++ b/src/test/java/edu/tamu/iiif/service/fedora/pcdm/FedoraPcdmSequenceManifestServiceTest.java @@ -1,25 +1,28 @@ package edu.tamu.iiif.service.fedora.pcdm; import static org.apache.commons.io.FileUtils.readFileToString; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import java.io.IOException; import java.net.URISyntaxException; -import com.fasterxml.jackson.databind.JsonNode; - -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; +import com.fasterxml.jackson.databind.JsonNode; + import edu.tamu.iiif.controller.ManifestRequest; +@ExtendWith(MockitoExtension.class) public class FedoraPcdmSequenceManifestServiceTest extends AbstractFedoraPcdmManifestServiceTest { @InjectMocks @@ -40,7 +43,7 @@ public class FedoraPcdmSequenceManifestServiceTest extends AbstractFedoraPcdmMan @Value("classpath:mock/fedora/json/sequence.json") private Resource sequence; - @Before + @BeforeEach public void setup() { setup(fedoraPcdmSequenceManifestService); } diff --git a/src/test/java/edu/tamu/iiif/utility/RdfModelUtilityTest.java b/src/test/java/edu/tamu/iiif/utility/RdfModelUtilityTest.java index 23bc69c..c6a30c7 100644 --- a/src/test/java/edu/tamu/iiif/utility/RdfModelUtilityTest.java +++ b/src/test/java/edu/tamu/iiif/utility/RdfModelUtilityTest.java @@ -3,6 +3,9 @@ import static edu.tamu.iiif.constants.Constants.DUBLIN_CORE_TERMS_DESCRIPTION; import static edu.tamu.iiif.constants.Constants.DUBLIN_CORE_TERMS_TITLE; import static edu.tamu.iiif.constants.Constants.IANA_FIRST_PREDICATE; +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.util.ArrayList; @@ -12,36 +15,35 @@ import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Resource; import org.assertj.core.util.Files; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; import edu.tamu.iiif.model.rdf.RdfResource; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) public class RdfModelUtilityTest { @Test public void testCreate() { - Assert.assertNotNull(new RdfModelUtility()); + assertNotNull(new RdfModelUtility()); } @Test public void testCreateRdfModel() { String rdf = Files.contentOf(new File("src/test/resources/mock/dspace/rdf/item.rdf"), "UTF-8"); Model model = RdfModelUtility.createRdfModel(rdf); - Assert.assertNotNull(model); + assertNotNull(model); } @Test public void testFindIdByPredicate() { String rdf = Files.contentOf(new File("src/test/resources/mock/fedora/rdf/collection_container.rdf"), "UTF-8"); Model model = RdfModelUtility.createRdfModel(rdf); - Assert.assertNotNull(model); + assertNotNull(model); Optional firstId = RdfModelUtility.findObject(model, IANA_FIRST_PREDICATE); - Assert.assertTrue(firstId.isPresent()); - Assert.assertEquals("http://localhost:9000/fcrepo/rest/mwbObjects/TGWCatalog/orderProxies/ExCat0001Proxy", firstId.get()); + assertTrue(firstId.isPresent()); + assertEquals("http://localhost:9000/fcrepo/rest/mwbObjects/TGWCatalog/orderProxies/ExCat0001Proxy", firstId.get()); } @Test @@ -50,10 +52,10 @@ public void testFindObject() { Model model = RdfModelUtility.createRdfModel(rdf); Resource resource = model.getResource("http://localhost:8080/rdf/resource/123456789/158308"); RdfResource rdfResource = new RdfResource(model, resource); - Assert.assertNotNull(model); + assertNotNull(model); Optional title = RdfModelUtility.findObject(rdfResource, DUBLIN_CORE_TERMS_TITLE); - Assert.assertTrue(title.isPresent()); - Assert.assertEquals("Corvette", title.get()); + assertTrue(title.isPresent()); + assertEquals("Corvette", title.get()); } @Test @@ -62,10 +64,10 @@ public void getObjects() { Model model = RdfModelUtility.createRdfModel(rdf); Resource resource = model.getResource("http://localhost:8080/rdf/resource/123456789/158308"); RdfResource rdfResource = new RdfResource(model, resource); - Assert.assertNotNull(model); + assertNotNull(model); List values = RdfModelUtility.getObjects(rdfResource, DUBLIN_CORE_TERMS_TITLE); - Assert.assertEquals(1, values.size()); - Assert.assertEquals("Corvette", values.get(0)); + assertEquals(1, values.size()); + assertEquals("Corvette", values.get(0)); } @Test @@ -74,14 +76,14 @@ public void getObjectsFromListOfProperties() { Model model = RdfModelUtility.createRdfModel(rdf); Resource resource = model.getResource("http://localhost:8080/rdf/resource/123456789/158308"); RdfResource rdfResource = new RdfResource(model, resource); - Assert.assertNotNull(model); + assertNotNull(model); List predicates = new ArrayList<>(); predicates.add(DUBLIN_CORE_TERMS_TITLE); predicates.add(DUBLIN_CORE_TERMS_DESCRIPTION); List values = RdfModelUtility.getObjects(rdfResource, predicates); - Assert.assertEquals(2, values.size()); - Assert.assertEquals("Corvette", values.get(0)); - Assert.assertEquals("A fast car", values.get(1)); + assertEquals(2, values.size()); + assertEquals("Corvette", values.get(0)); + assertEquals("A fast car", values.get(1)); } } diff --git a/src/test/java/edu/tamu/iiif/utility/StringUtilityTest.java b/src/test/java/edu/tamu/iiif/utility/StringUtilityTest.java index 72ee057..f8edba4 100644 --- a/src/test/java/edu/tamu/iiif/utility/StringUtilityTest.java +++ b/src/test/java/edu/tamu/iiif/utility/StringUtilityTest.java @@ -1,31 +1,33 @@ package edu.tamu.iiif.utility; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.junit4.SpringRunner; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; -@RunWith(SpringRunner.class) +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +@ExtendWith(SpringExtension.class) public class StringUtilityTest { @Test public void testCreate() { - Assert.assertNotNull(new StringUtility()); + assertNotNull(new StringUtility()); } @Test public void testJoinPath() { - Assert.assertEquals("src/main/resources", StringUtility.joinPath("src", "main", "resources")); + assertEquals("src/main/resources", StringUtility.joinPath("src", "main", "resources")); } @Test public void testEncode() { - Assert.assertEquals("SGVsbG8sIFdvcmxkIQ==", StringUtility.encode("Hello, World!")); + assertEquals("SGVsbG8sIFdvcmxkIQ==", StringUtility.encode("Hello, World!")); } @Test public void testDecode() { - Assert.assertEquals("Hello, World!", StringUtility.decode("SGVsbG8sIFdvcmxkIQ==")); + assertEquals("Hello, World!", StringUtility.decode("SGVsbG8sIFdvcmxkIQ==")); } } diff --git a/src/test/resources/application.yml b/src/test/resources/application.yml index 2d051f8..07796f7 100644 --- a/src/test/resources/application.yml +++ b/src/test/resources/application.yml @@ -2,12 +2,16 @@ server: context-path: port: 9001 +# (is overwritten by logback-test.xml) logging: - file: ir-iiif-service.log + file: + name: logs/ir-iiif-service-test.log level: - edu.tamu.iiif: INFO - org.springframework: INFO - path: /var/logs/iiif + com.zaxxer: ERROR + edu.tamu.iiif: WARN + org: + hibernate: OFF + springframework: ERROR spring: redis: diff --git a/src/test/resources/logback-test.xml b/src/test/resources/logback-test.xml new file mode 100644 index 0000000..f6a703d --- /dev/null +++ b/src/test/resources/logback-test.xml @@ -0,0 +1,10 @@ + + + + + + + + + +