diff --git a/.github/workflows/maven_unit_test.yml b/.github/workflows/maven_unit_test.yml
index e2048f73431..1e5bba3ce1c 100644
--- a/.github/workflows/maven_unit_test.yml
+++ b/.github/workflows/maven_unit_test.yml
@@ -21,15 +21,10 @@ jobs:
jdk: [ '11' ]
experimental: [false]
status: ["Stable"]
- #
- # JDK 17 builds disabled due to non-essential fails marking CI jobs as completely failed within
- # Github Projects, PR lists etc. This was consensus on Slack #dv-tech. See issue #8094
- # (This is a limitation of how Github is currently handling these things.)
- #
- #include:
- # - jdk: '17'
- # experimental: true
- # status: "Experimental"
+ include:
+ - jdk: '17'
+ experimental: true
+ status: "Experimental"
continue-on-error: ${{ matrix.experimental }}
runs-on: ubuntu-latest
steps:
diff --git a/conf/docker-aio/c8.dockerfile b/conf/docker-aio/c8.dockerfile
index 0002464cbf2..ece7ce13c7b 100644
--- a/conf/docker-aio/c8.dockerfile
+++ b/conf/docker-aio/c8.dockerfile
@@ -5,8 +5,8 @@ RUN dnf -qy module disable postgresql
RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
RUN echo "fastestmirror=true" >> /etc/dnf/dnf.conf
-RUN yum install -y java-11-openjdk-devel postgresql13-server sudo epel-release unzip curl httpd python2 diffutils
-RUN yum install -y jq lsof awscli
+RUN yum install -y java-17-openjdk-devel postgresql13-server sudo epel-release unzip curl httpd python2 diffutils
+RUN yum install -y jq lsof awscli procps-ng
# for older search scripts
RUN ln -s /usr/bin/python2 /usr/bin/python
diff --git a/modules/dataverse-parent/pom.xml b/modules/dataverse-parent/pom.xml
index 3911e9d5bbb..0d4ed2443df 100644
--- a/modules/dataverse-parent/pom.xml
+++ b/modules/dataverse-parent/pom.xml
@@ -169,7 +169,8 @@
1.15.0
2.10.1
-
+ 5.3.0
+
4.13.1
5.7.0
${junit.jupiter.version}
diff --git a/pom.xml b/pom.xml
index 8b6f98c5896..4014af5ed0e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -538,9 +538,21 @@
test
- com.jayway.restassured
+ io.rest-assured
rest-assured
- 2.4.0
+ ${rest-assured.version}
+ test
+
+
+ io.rest-assured
+ xml-path
+ ${rest-assured.version}
+ test
+
+
+ io.rest-assured
+ json-path
+ ${rest-assured.version}
test
diff --git a/src/main/java/edu/harvard/iq/dataverse/dataaccess/FileAccessIO.java b/src/main/java/edu/harvard/iq/dataverse/dataaccess/FileAccessIO.java
index d5f00b9868f..76ed7e34dd6 100644
--- a/src/main/java/edu/harvard/iq/dataverse/dataaccess/FileAccessIO.java
+++ b/src/main/java/edu/harvard/iq/dataverse/dataaccess/FileAccessIO.java
@@ -563,21 +563,26 @@ private String getDatasetDirectory() throws IOException {
if (isDirectAccess()) {
throw new IOException("No DvObject defined in the Data Access Object");
}
-
- Path datasetDirectoryPath=null;
+ String authorityForFS = null;
+ String identifierForFS = null;
if (dvObject instanceof Dataset) {
- datasetDirectoryPath = Paths.get(this.getDataset().getAuthorityForFileStorage(), this.getDataset().getIdentifierForFileStorage());
+ authorityForFS = this.getDataset().getAuthorityForFileStorage();
+ identifierForFS = this.getDataset().getIdentifierForFileStorage();
} else if (dvObject instanceof DataFile) {
- datasetDirectoryPath = Paths.get(this.getDataFile().getOwner().getAuthorityForFileStorage(), this.getDataFile().getOwner().getIdentifierForFileStorage());
+ authorityForFS = this.getDataFile().getOwner().getAuthorityForFileStorage();
+ identifierForFS = this.getDataFile().getOwner().getIdentifierForFileStorage();
} else if (dvObject instanceof Dataverse) {
throw new IOException("FileAccessIO: Dataverses are not a supported dvObject");
}
-
- if (datasetDirectoryPath == null) {
+
+ if (authorityForFS == null || identifierForFS == null) {
throw new IOException("Could not determine the filesystem directory of the parent dataset.");
}
- String datasetDirectory = Paths.get(getFilesRootDirectory(), datasetDirectoryPath.toString()).toString();
+
+ // Determine the final directory tree. As of JDK 16, the first component of the path MUST be non-null
+ // (we check for that via the setting), but also the others make no sense if they are null.
+ String datasetDirectory = Paths.get(getFilesRootDirectory(), authorityForFS, identifierForFS).toString();
if (dvObject.getStorageIdentifier() == null || dvObject.getStorageIdentifier().isEmpty()) {
throw new IOException("Data Access: No local storage identifier defined for this datafile.");
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/AccessIT.java b/src/test/java/edu/harvard/iq/dataverse/api/AccessIT.java
index d6aac80b435..0bfd257c16b 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/AccessIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/AccessIT.java
@@ -5,10 +5,10 @@
*/
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import static io.restassured.RestAssured.given;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.DataFile;
import static edu.harvard.iq.dataverse.api.UtilIT.API_TOKEN_HTTP_HEADER;
import edu.harvard.iq.dataverse.util.FileUtil;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/AdminIT.java b/src/test/java/edu/harvard/iq/dataverse/api/AdminIT.java
index bcee8d18e17..2ffe05ebd92 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/AdminIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/AdminIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.DataFile;
import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinAuthenticationProvider;
import edu.harvard.iq.dataverse.authorization.providers.oauth2.impl.GitHubOAuth2AP;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/AuxiliaryFilesIT.java b/src/test/java/edu/harvard/iq/dataverse/api/AuxiliaryFilesIT.java
index 0e404f6ba97..6c9ab4e9c76 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/AuxiliaryFilesIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/AuxiliaryFilesIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/BagIT.java b/src/test/java/edu/harvard/iq/dataverse/api/BagIT.java
index 4ac76ac846d..b834a1ff98d 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/BagIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/BagIT.java
@@ -1,7 +1,7 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.engine.command.impl.LocalSubmitToArchiveCommand;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import static javax.ws.rs.core.Response.Status.CREATED;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/BatchImportIT.java b/src/test/java/edu/harvard/iq/dataverse/api/BatchImportIT.java
index 89ad79817d8..3b920d34f61 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/BatchImportIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/BatchImportIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
import java.io.File;
-import com.jayway.restassured.response.Response;
+import io.restassured.response.Response;
import java.util.logging.Logger;
import org.junit.BeforeClass;
import org.junit.Test;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/BuiltinUsersIT.java b/src/test/java/edu/harvard/iq/dataverse/api/BuiltinUsersIT.java
index 0f8385409a3..4ea4726d25e 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/BuiltinUsersIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/BuiltinUsersIT.java
@@ -1,10 +1,10 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
-import com.jayway.restassured.http.ContentType;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import static io.restassured.RestAssured.given;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import java.util.AbstractMap;
import java.util.Arrays;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/ConfirmEmailIT.java b/src/test/java/edu/harvard/iq/dataverse/api/ConfirmEmailIT.java
index e00dba2263b..c78bf1c2e9a 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/ConfirmEmailIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/ConfirmEmailIT.java
@@ -1,13 +1,15 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
-import java.util.logging.Logger;
-import static junit.framework.Assert.assertEquals;
+
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import org.junit.BeforeClass;
import org.junit.Test;
+
+import java.util.logging.Logger;
+
+import static io.restassured.RestAssured.given;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.Matchers.startsWith;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/DataCiteIT.java b/src/test/java/edu/harvard/iq/dataverse/api/DataCiteIT.java
index 86c3eed4297..33cb5d3ea53 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/DataCiteIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/DataCiteIT.java
@@ -1,7 +1,7 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import static junit.framework.Assert.assertEquals;
import static org.hamcrest.CoreMatchers.equalTo;
import org.junit.Test;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/DatasetsIT.java b/src/test/java/edu/harvard/iq/dataverse/api/DatasetsIT.java
index 3c4706f10c2..4d53b354151 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/DatasetsIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/DatasetsIT.java
@@ -1,16 +1,16 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
-import com.jayway.restassured.http.ContentType;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import static io.restassured.RestAssured.given;
+import io.restassured.http.ContentType;
+import io.restassured.response.Response;
import java.util.logging.Logger;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.Mockito;
import org.skyscreamer.jsonassert.JSONAssert;
import org.junit.Ignore;
-import com.jayway.restassured.path.json.JsonPath;
+import io.restassured.path.json.JsonPath;
import java.util.List;
import java.util.Map;
@@ -33,9 +33,9 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
-import com.jayway.restassured.parsing.Parser;
-import static com.jayway.restassured.path.json.JsonPath.with;
-import com.jayway.restassured.path.xml.XmlPath;
+import io.restassured.parsing.Parser;
+import static io.restassured.path.json.JsonPath.with;
+import io.restassured.path.xml.XmlPath;
import static edu.harvard.iq.dataverse.api.UtilIT.equalToCI;
import edu.harvard.iq.dataverse.authorization.groups.impl.builtin.AuthenticatedUsers;
import edu.harvard.iq.dataverse.datavariable.VarGroup;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/DataversesIT.java b/src/test/java/edu/harvard/iq/dataverse/api/DataversesIT.java
index 75215bb700e..f463c92a32f 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/DataversesIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/DataversesIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
-import static com.jayway.restassured.path.json.JsonPath.with;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import static io.restassured.RestAssured.given;
+import static io.restassured.path.json.JsonPath.with;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.Dataverse;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import edu.harvard.iq.dataverse.util.BundleUtil;
@@ -32,7 +32,7 @@
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.nio.file.Files;
-import com.jayway.restassured.path.json.JsonPath;
+import io.restassured.path.json.JsonPath;
import static javax.ws.rs.core.Response.Status.OK;
import org.hamcrest.CoreMatchers;
import org.hamcrest.Matchers;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/DeactivateUsersIT.java b/src/test/java/edu/harvard/iq/dataverse/api/DeactivateUsersIT.java
index de2a1d422c0..e162efdf4f9 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/DeactivateUsersIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/DeactivateUsersIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.authorization.DataverseRole;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/DeleteUsersIT.java b/src/test/java/edu/harvard/iq/dataverse/api/DeleteUsersIT.java
index cae1d0e210a..cbe569b54d8 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/DeleteUsersIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/DeleteUsersIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.authorization.DataverseRole;
import java.io.File;
import java.io.IOException;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/DownloadFilesIT.java b/src/test/java/edu/harvard/iq/dataverse/api/DownloadFilesIT.java
index 7d5adf95507..21e408c858c 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/DownloadFilesIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/DownloadFilesIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Headers;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.http.Headers;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/DuplicateFilesIT.java b/src/test/java/edu/harvard/iq/dataverse/api/DuplicateFilesIT.java
index 6227e96fdfa..0972f66387d 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/DuplicateFilesIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/DuplicateFilesIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.parsing.Parser;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.parsing.Parser;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/EditDDIIT.java b/src/test/java/edu/harvard/iq/dataverse/api/EditDDIIT.java
index 1775649c3dd..e12f76327f8 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/EditDDIIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/EditDDIIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import static edu.harvard.iq.dataverse.api.AccessIT.apiToken;
import static edu.harvard.iq.dataverse.api.AccessIT.datasetId;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/ExternalToolsIT.java b/src/test/java/edu/harvard/iq/dataverse/api/ExternalToolsIT.java
index 5508a6c57dc..1de7b8d6d6b 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/ExternalToolsIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/ExternalToolsIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import java.io.IOException;
import java.io.StringReader;
import javax.json.Json;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/FeedbackApiIT.java b/src/test/java/edu/harvard/iq/dataverse/api/FeedbackApiIT.java
index bfe4a58abbf..f59e879d55f 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/FeedbackApiIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/FeedbackApiIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import javax.json.Json;
import javax.json.JsonObjectBuilder;
import static javax.ws.rs.core.Response.Status.CREATED;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/FileMetadataIT.java b/src/test/java/edu/harvard/iq/dataverse/api/FileMetadataIT.java
index 1ca7c99be8e..676948f7aa4 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/FileMetadataIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/FileMetadataIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.http.ContentType;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+import io.restassured.response.Response;
import org.apache.commons.io.IOUtils;
import org.junit.After;
import org.junit.AfterClass;
@@ -12,7 +12,7 @@
import java.util.UUID;
-import static com.jayway.restassured.RestAssured.given;
+import static io.restassured.RestAssured.given;
import static javax.ws.rs.core.Response.Status.OK;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.fail;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/FileTypeDetectionIT.java b/src/test/java/edu/harvard/iq/dataverse/api/FileTypeDetectionIT.java
index 10ac9192205..8cc8aba63bb 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/FileTypeDetectionIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/FileTypeDetectionIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import javax.json.Json;
import javax.json.JsonObjectBuilder;
import static javax.ws.rs.core.Response.Status.CREATED;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/FilesIT.java b/src/test/java/edu/harvard/iq/dataverse/api/FilesIT.java
index 950260d1400..d23b7fe7e47 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/FilesIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/FilesIT.java
@@ -1,13 +1,13 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.response.Response;
import java.util.logging.Logger;
import org.junit.Test;
import org.junit.BeforeClass;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.path.xml.XmlPath;
+import io.restassured.path.json.JsonPath;
+import io.restassured.path.xml.XmlPath;
import static edu.harvard.iq.dataverse.api.AccessIT.apiToken;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import edu.harvard.iq.dataverse.util.BundleUtil;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/HarvestingClientsIT.java b/src/test/java/edu/harvard/iq/dataverse/api/HarvestingClientsIT.java
index 094eb0df77c..f173d87203c 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/HarvestingClientsIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/HarvestingClientsIT.java
@@ -2,11 +2,11 @@
import java.util.logging.Logger;
import java.util.logging.Level;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
-import com.jayway.restassured.path.json.JsonPath;
+import io.restassured.RestAssured;
+import static io.restassured.RestAssured.given;
+import io.restassured.path.json.JsonPath;
import org.junit.Test;
-import com.jayway.restassured.response.Response;
+import io.restassured.response.Response;
import static javax.ws.rs.core.Response.Status.CREATED;
import static javax.ws.rs.core.Response.Status.UNAUTHORIZED;
import static javax.ws.rs.core.Response.Status.ACCEPTED;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/HarvestingServerIT.java b/src/test/java/edu/harvard/iq/dataverse/api/HarvestingServerIT.java
index 94a8e373848..18ec83adfc3 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/HarvestingServerIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/HarvestingServerIT.java
@@ -2,15 +2,15 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
+import io.restassured.RestAssured;
+import static io.restassured.RestAssured.given;
import org.junit.BeforeClass;
import org.junit.AfterClass;
import org.junit.Test;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
-import com.jayway.restassured.response.Response;
-import com.jayway.restassured.path.xml.XmlPath;
-import com.jayway.restassured.path.xml.element.Node;
+import io.restassured.response.Response;
+import io.restassured.path.xml.XmlPath;
+import io.restassured.path.xml.element.Node;
import java.util.ArrayList;
import java.util.Collections;
import static javax.ws.rs.core.Response.Status.OK;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/InReviewWorkflowIT.java b/src/test/java/edu/harvard/iq/dataverse/api/InReviewWorkflowIT.java
index 89aeaa6b2ee..53bbd07db7f 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/InReviewWorkflowIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/InReviewWorkflowIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.path.xml.XmlPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.path.xml.XmlPath;
+import io.restassured.response.Response;
import static edu.harvard.iq.dataverse.api.AccessIT.apiToken;
import edu.harvard.iq.dataverse.authorization.DataverseRole;
import java.util.logging.Logger;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/IndexIT.java b/src/test/java/edu/harvard/iq/dataverse/api/IndexIT.java
index 313c4c2cfaf..2790a019723 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/IndexIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/IndexIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import static io.restassured.RestAssured.given;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import static edu.harvard.iq.dataverse.api.UtilIT.API_TOKEN_HTTP_HEADER;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import java.util.ArrayList;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/InfoIT.java b/src/test/java/edu/harvard/iq/dataverse/api/InfoIT.java
index 73a1171bf1b..2c782bc53ef 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/InfoIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/InfoIT.java
@@ -1,7 +1,7 @@
package edu.harvard.iq.dataverse.api;
-import static com.jayway.restassured.RestAssured.given;
-import com.jayway.restassured.response.Response;
+import static io.restassured.RestAssured.given;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.equalTo;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/InvalidCharactersIT.java b/src/test/java/edu/harvard/iq/dataverse/api/InvalidCharactersIT.java
index 2fb412ef1cc..e1587abe04f 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/InvalidCharactersIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/InvalidCharactersIT.java
@@ -1,7 +1,7 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.response.Response;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/IpGroupsIT.java b/src/test/java/edu/harvard/iq/dataverse/api/IpGroupsIT.java
index 88b8a9fc458..e042e2cbe6c 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/IpGroupsIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/IpGroupsIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.authorization.DataverseRole;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/LicensesIT.java b/src/test/java/edu/harvard/iq/dataverse/api/LicensesIT.java
index d6bfdb96777..7d5b2469dc0 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/LicensesIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/LicensesIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.DataFile;
import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinAuthenticationProvider;
import edu.harvard.iq.dataverse.authorization.providers.oauth2.impl.GitHubOAuth2AP;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/LinkIT.java b/src/test/java/edu/harvard/iq/dataverse/api/LinkIT.java
index 9ac2d2cb7e5..28a48dae3d9 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/LinkIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/LinkIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.util.BundleUtil;
import java.util.logging.Logger;
import static javax.ws.rs.core.Response.Status.CREATED;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/MakeDataCountApiIT.java b/src/test/java/edu/harvard/iq/dataverse/api/MakeDataCountApiIT.java
index c210d471ce2..a4d857e3b23 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/MakeDataCountApiIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/MakeDataCountApiIT.java
@@ -1,7 +1,7 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.response.Response;
import java.io.File;
import java.io.IOException;
import static javax.ws.rs.core.Response.Status.CREATED;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/MetadataBlocksIT.java b/src/test/java/edu/harvard/iq/dataverse/api/MetadataBlocksIT.java
index 05b7a7910ff..d7380436d85 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/MetadataBlocksIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/MetadataBlocksIT.java
@@ -1,7 +1,7 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.response.Response;
import static javax.ws.rs.core.Response.Status.OK;
import org.hamcrest.CoreMatchers;
import org.junit.BeforeClass;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/MetricsIT.java b/src/test/java/edu/harvard/iq/dataverse/api/MetricsIT.java
index f6478bf379e..e818c5789ba 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/MetricsIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/MetricsIT.java
@@ -1,7 +1,7 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.metrics.MetricsUtil;
import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
import static javax.ws.rs.core.Response.Status.OK;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/MoveIT.java b/src/test/java/edu/harvard/iq/dataverse/api/MoveIT.java
index dfe23c7d80a..b6da7ffc438 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/MoveIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/MoveIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import static com.jayway.restassured.path.json.JsonPath.with;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import static io.restassured.path.json.JsonPath.with;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.authorization.DataverseRole;
import java.io.StringReader;
import java.util.List;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/NotificationsIT.java b/src/test/java/edu/harvard/iq/dataverse/api/NotificationsIT.java
index 09a14e2d6ad..8e9d1e9d9f3 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/NotificationsIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/NotificationsIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import java.util.logging.Logger;
import static javax.ws.rs.core.Response.Status.CREATED;
import static javax.ws.rs.core.Response.Status.OK;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/PidsIT.java b/src/test/java/edu/harvard/iq/dataverse/api/PidsIT.java
index c7ca70e0e1d..86362e8a4eb 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/PidsIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/PidsIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import static javax.ws.rs.core.Response.Status.CREATED;
import static javax.ws.rs.core.Response.Status.FORBIDDEN;
import static javax.ws.rs.core.Response.Status.OK;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/ProvIT.java b/src/test/java/edu/harvard/iq/dataverse/api/ProvIT.java
index 52143eb9981..e8845d92ed4 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/ProvIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/ProvIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import java.util.logging.Logger;
import javax.json.Json;
import javax.json.JsonArray;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/RemoteStoreIT.java b/src/test/java/edu/harvard/iq/dataverse/api/RemoteStoreIT.java
index ae5bc8b7316..4c13b9b3fd8 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/RemoteStoreIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/RemoteStoreIT.java
@@ -1,7 +1,7 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.response.Response;
import javax.json.Json;
import javax.json.JsonObjectBuilder;
import static javax.ws.rs.core.Response.Status.CREATED;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/RolesIT.java b/src/test/java/edu/harvard/iq/dataverse/api/RolesIT.java
index d1e2ffb2426..49859c6fd00 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/RolesIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/RolesIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import java.util.logging.Logger;
import static junit.framework.Assert.assertEquals;
import static org.hamcrest.CoreMatchers.equalTo;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/S3AccessIT.java b/src/test/java/edu/harvard/iq/dataverse/api/S3AccessIT.java
index 29cb6895bba..b682d2172d9 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/S3AccessIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/S3AccessIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import static io.restassured.RestAssured.given;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import java.util.logging.Logger;
import static javax.ws.rs.core.Response.Status.OK;
import static junit.framework.Assert.assertEquals;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/SearchIT.java b/src/test/java/edu/harvard/iq/dataverse/api/SearchIT.java
index 61a55a88a3b..4d6a0dd3372 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/SearchIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/SearchIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import java.util.logging.Level;
import java.util.logging.Logger;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/SiteMapIT.java b/src/test/java/edu/harvard/iq/dataverse/api/SiteMapIT.java
index 723f05d3802..017ad014ffb 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/SiteMapIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/SiteMapIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
+import io.restassured.RestAssured;
import org.junit.BeforeClass;
import org.junit.Test;
-import com.jayway.restassured.response.Response;
+import io.restassured.response.Response;
public class SiteMapIT {
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/StorageSitesIT.java b/src/test/java/edu/harvard/iq/dataverse/api/StorageSitesIT.java
index a33d7d60263..9aa14e438bf 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/StorageSitesIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/StorageSitesIT.java
@@ -1,7 +1,7 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.locality.StorageSite;
import edu.harvard.iq.dataverse.util.SystemConfig;
import javax.json.Json;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/SwordIT.java b/src/test/java/edu/harvard/iq/dataverse/api/SwordIT.java
index 6c745790359..56e8b45e95e 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/SwordIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/SwordIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.GlobalId;
import edu.harvard.iq.dataverse.api.datadeposit.SwordConfigurationImpl;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/TabularIT.java b/src/test/java/edu/harvard/iq/dataverse/api/TabularIT.java
index 512080ae569..ba414eb69b2 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/TabularIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/TabularIT.java
@@ -1,8 +1,8 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import static edu.harvard.iq.dataverse.api.AccessIT.apiToken;
import static edu.harvard.iq.dataverse.api.AccessIT.datasetId;
import static edu.harvard.iq.dataverse.api.AccessIT.tabFile3NameRestricted;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/ThumbnailsIT.java b/src/test/java/edu/harvard/iq/dataverse/api/ThumbnailsIT.java
index ffa432de63b..c02b116f3b0 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/ThumbnailsIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/ThumbnailsIT.java
@@ -1,6 +1,6 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.response.Response;
+import io.restassured.response.Response;
import org.hamcrest.CoreMatchers;
import org.junit.Test;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/UsersIT.java b/src/test/java/edu/harvard/iq/dataverse/api/UsersIT.java
index 83dfc5fd889..b080bf8ea49 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/UsersIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/UsersIT.java
@@ -1,10 +1,10 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import static com.jayway.restassured.RestAssured.given;
-import com.jayway.restassured.http.ContentType;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import static io.restassured.RestAssured.given;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.authorization.DataverseRole;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import java.util.ArrayList;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/UtilIT.java b/src/test/java/edu/harvard/iq/dataverse/api/UtilIT.java
index 12ccaf2caff..e2c11c078a0 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/UtilIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/UtilIT.java
@@ -1,9 +1,9 @@
package edu.harvard.iq.dataverse.api;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.http.ContentType;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import java.util.UUID;
import java.util.logging.Logger;
import javax.json.Json;
@@ -20,11 +20,11 @@
import java.time.LocalDateTime;
import java.util.logging.Level;
import edu.harvard.iq.dataverse.api.datadeposit.SwordConfigurationImpl;
-import com.jayway.restassured.path.xml.XmlPath;
+import io.restassured.path.xml.XmlPath;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
-import com.jayway.restassured.specification.RequestSpecification;
+import io.restassured.specification.RequestSpecification;
import java.util.List;
import com.mashape.unirest.http.Unirest;
import com.mashape.unirest.http.exceptions.UnirestException;
@@ -40,9 +40,9 @@
import org.hamcrest.Description;
import org.hamcrest.Matcher;
-import static com.jayway.restassured.RestAssured.put;
-import static com.jayway.restassured.path.xml.XmlPath.from;
-import static com.jayway.restassured.RestAssured.given;
+import static io.restassured.RestAssured.put;
+import static io.restassured.path.xml.XmlPath.from;
+import static io.restassured.RestAssured.given;
import edu.harvard.iq.dataverse.DatasetField;
import edu.harvard.iq.dataverse.DatasetFieldConstant;
import edu.harvard.iq.dataverse.DatasetFieldType;
diff --git a/src/test/java/edu/harvard/iq/dataverse/api/filesystem/FileRecordJobIT.java b/src/test/java/edu/harvard/iq/dataverse/api/filesystem/FileRecordJobIT.java
index 7b9f7d5c155..133119f1493 100644
--- a/src/test/java/edu/harvard/iq/dataverse/api/filesystem/FileRecordJobIT.java
+++ b/src/test/java/edu/harvard/iq/dataverse/api/filesystem/FileRecordJobIT.java
@@ -20,10 +20,10 @@
*/
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.jayway.restassured.RestAssured;
-import com.jayway.restassured.http.ContentType;
-import com.jayway.restassured.path.json.JsonPath;
-import com.jayway.restassured.response.Response;
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
import edu.harvard.iq.dataverse.api.UtilIT;
import edu.harvard.iq.dataverse.authorization.DataverseRole;
import edu.harvard.iq.dataverse.batch.entities.JobExecutionEntity;
@@ -55,7 +55,7 @@
import java.util.Random;
import java.util.UUID;
-import static com.jayway.restassured.RestAssured.given;
+import static io.restassured.RestAssured.given;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
import static junit.framework.Assert.fail;
diff --git a/src/test/java/edu/harvard/iq/dataverse/dataaccess/DataAccessTest.java b/src/test/java/edu/harvard/iq/dataverse/dataaccess/DataAccessTest.java
index 1ff914adff9..87314762098 100644
--- a/src/test/java/edu/harvard/iq/dataverse/dataaccess/DataAccessTest.java
+++ b/src/test/java/edu/harvard/iq/dataverse/dataaccess/DataAccessTest.java
@@ -4,6 +4,7 @@
import edu.harvard.iq.dataverse.Dataset;
import edu.harvard.iq.dataverse.Dataverse;
import edu.harvard.iq.dataverse.mocks.MocksFactory;
+import edu.harvard.iq.dataverse.util.testing.SystemProperty;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
@@ -53,9 +54,9 @@ void testCreateNewStorageIO_throwsOnUnsupported() {
}
@Test
+ @SystemProperty(key = "dataverse.files.file.type", value="file")
+ @SystemProperty(key = "dataverse.files.storage-driver-id", value="file")
void testCreateNewStorageIO_createsFileAccessIObyDefault() throws IOException {
- System.setProperty("dataverse.files.file.type", "file");
- System.setProperty("dataverse.files.storage-driver-id", "file");
StorageIO storageIo = DataAccess.createNewStorageIO(dataset, "valid-tag");
assertTrue(storageIo.getClass().equals(FileAccessIO.class));
}
diff --git a/src/test/java/edu/harvard/iq/dataverse/dataset/DatasetUtilTest.java b/src/test/java/edu/harvard/iq/dataverse/dataset/DatasetUtilTest.java
index 93eabfbf8af..1ed2d5f83ce 100644
--- a/src/test/java/edu/harvard/iq/dataverse/dataset/DatasetUtilTest.java
+++ b/src/test/java/edu/harvard/iq/dataverse/dataset/DatasetUtilTest.java
@@ -1,38 +1,40 @@
package edu.harvard.iq.dataverse.dataset;
import edu.harvard.iq.dataverse.DataFile;
-import edu.harvard.iq.dataverse.DataFileCategory;
import edu.harvard.iq.dataverse.Dataset;
import edu.harvard.iq.dataverse.DatasetField;
import edu.harvard.iq.dataverse.DatasetFieldType;
+import edu.harvard.iq.dataverse.DatasetFieldType.FieldType;
import edu.harvard.iq.dataverse.DatasetVersion;
import edu.harvard.iq.dataverse.FileMetadata;
-import edu.harvard.iq.dataverse.DatasetFieldType.FieldType;
import edu.harvard.iq.dataverse.dataaccess.ImageThumbConverter;
import edu.harvard.iq.dataverse.mocks.MocksFactory;
-import java.io.InputStream;
+import edu.harvard.iq.dataverse.util.testing.SystemProperty;
+import org.junit.jupiter.api.Test;
+
import java.util.ArrayList;
import java.util.List;
-import org.junit.Test;
-import static org.junit.Assert.*;
-public class DatasetUtilTest {
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+class DatasetUtilTest {
/**
* Test of getThumbnailCandidates method, of class DatasetUtil.
*/
@Test
- public void testGetThumbnailCandidates() {
+ @SystemProperty(key = "dataverse.files.testfile.type", value = "file")
+ void testGetThumbnailCandidates() {
assertEquals(new ArrayList<>(), DatasetUtil.getThumbnailCandidates(null, false, ImageThumbConverter.DEFAULT_CARDIMAGE_SIZE));
Dataset dataset = MocksFactory.makeDataset();
DataFile dataFile = MocksFactory.makeDataFile();
dataFile.setContentType("image/");
dataFile.setOwner(dataset);
- System.setProperty("dataverse.files.testfile.type", "file");
dataFile.setStorageIdentifier("testfile://src/test/resources/images/coffeeshop.png");
- System.out.println(ImageThumbConverter.isThumbnailAvailable(dataFile));
+ //System.out.println(ImageThumbConverter.isThumbnailAvailable(dataFile));
DatasetVersion version = dataset.getCreateVersion(null);
List fmds = new ArrayList<>();
fmds.add(MocksFactory.addFileMetadata(dataFile));
@@ -41,12 +43,12 @@ public void testGetThumbnailCandidates() {
}
@Test
- public void testGetThumbnailNullDataset() {
+ @SystemProperty(key = "dataverse.files.testfile.type", value = "file")
+ void testGetThumbnailNullDataset() {
assertNull(DatasetUtil.getThumbnail(null, ImageThumbConverter.DEFAULT_CARDIMAGE_SIZE));
assertNull(DatasetUtil.getThumbnail(null, null, ImageThumbConverter.DEFAULT_CARDIMAGE_SIZE));
Dataset dataset = MocksFactory.makeDataset();
- System.setProperty("dataverse.files.testfile.type", "file");
dataset.setStorageIdentifier("testfile://");
dataset.setUseGenericThumbnail(true);
@@ -55,8 +57,8 @@ public void testGetThumbnailNullDataset() {
}
@Test
- public void testGetThumbnailRestricted() {
- System.out.println("testGetThumbnailRestricted");
+ void testGetThumbnailRestricted() {
+ //System.out.println("testGetThumbnailRestricted");
Dataset dataset = new Dataset();
DataFile thumbnailFile = new DataFile();
thumbnailFile.setId(42l);
@@ -69,7 +71,7 @@ public void testGetThumbnailRestricted() {
* Test of deleteDatasetLogo method, of class DatasetUtil.
*/
@Test
- public void testDeleteDatasetLogo() {
+ void testDeleteDatasetLogo() {
assertEquals(false, DatasetUtil.deleteDatasetLogo(null));
assertEquals(false, DatasetUtil.deleteDatasetLogo(new Dataset()));
}
@@ -78,7 +80,7 @@ public void testDeleteDatasetLogo() {
* Test of getDefaultThumbnailFile method, of class DatasetUtil.
*/
@Test
- public void testGetDefaultThumbnailFile() {
+ void testGetDefaultThumbnailFile() {
assertNull(DatasetUtil.attemptToAutomaticallySelectThumbnailFromDataFiles(null, null));
}
@@ -87,7 +89,7 @@ public void testGetDefaultThumbnailFile() {
* DatasetUtil.
*/
@Test
- public void testPersistDatasetLogoToStorageAndCreateThumbnail() {
+ void testPersistDatasetLogoToStorageAndCreateThumbnail() {
assertNull(DatasetUtil.persistDatasetLogoToStorageAndCreateThumbnails(null, null));
//Todo: a test for this that test main logic
}
@@ -96,7 +98,7 @@ public void testPersistDatasetLogoToStorageAndCreateThumbnail() {
* Test of getThumbnailAsInputStream method, of class DatasetUtil.
*/
@Test
- public void testGetThumbnailAsInputStream() {
+ void testGetThumbnailAsInputStream() {
assertNull(DatasetUtil.getThumbnailAsInputStream(null, ImageThumbConverter.DEFAULT_CARDIMAGE_SIZE));
}
@@ -104,13 +106,13 @@ public void testGetThumbnailAsInputStream() {
* Test of isDatasetLogoPresent method, of class DatasetUtil.
*/
@Test
- public void testIsDatasetLogoPresent() {
+ void testIsDatasetLogoPresent() {
Dataset dataset = MocksFactory.makeDataset();
assertEquals(false, DatasetUtil.isDatasetLogoPresent(dataset, ImageThumbConverter.DEFAULT_CARDIMAGE_SIZE));
}
@Test
- public void testGetDatasetSummaryField_defaultSelectionWithAndWithoutMatches() {
+ void testGetDatasetSummaryField_defaultSelectionWithAndWithoutMatches() {
DatasetVersion version = new DatasetVersion();
List fields = new ArrayList();
@@ -127,7 +129,7 @@ public void testGetDatasetSummaryField_defaultSelectionWithAndWithoutMatches() {
}
@Test
- public void testGetDatasetSummaryField_defaultSelectionWithoutDatasetFields() {
+ void testGetDatasetSummaryField_defaultSelectionWithoutDatasetFields() {
DatasetVersion version = new DatasetVersion();
List fields = new ArrayList();
version.setDatasetFields(fields);
@@ -137,7 +139,7 @@ public void testGetDatasetSummaryField_defaultSelectionWithoutDatasetFields() {
}
@Test
- public void testGetDatasetSummaryField_withSelectionWithoutDatasetFields() {
+ void testGetDatasetSummaryField_withSelectionWithoutDatasetFields() {
DatasetVersion version = new DatasetVersion();
List fields = new ArrayList();
version.setDatasetFields(fields);
@@ -146,7 +148,7 @@ public void testGetDatasetSummaryField_withSelectionWithoutDatasetFields() {
}
@Test
- public void testGetDatasetSummaryField_withSelectionWithoutMatches() {
+ void testGetDatasetSummaryField_withSelectionWithoutMatches() {
DatasetVersion version = new DatasetVersion();
List fields = new ArrayList();
diff --git a/src/test/java/edu/harvard/iq/dataverse/export/OpenAireExporterTest.java b/src/test/java/edu/harvard/iq/dataverse/export/OpenAireExporterTest.java
index 505496fca7a..3141b36d6c5 100644
--- a/src/test/java/edu/harvard/iq/dataverse/export/OpenAireExporterTest.java
+++ b/src/test/java/edu/harvard/iq/dataverse/export/OpenAireExporterTest.java
@@ -1,6 +1,5 @@
package edu.harvard.iq.dataverse.export;
-import com.jayway.restassured.path.xml.XmlPath;
import edu.harvard.iq.dataverse.DatasetVersion;
import edu.harvard.iq.dataverse.util.xml.XmlPrinter;
import java.io.ByteArrayInputStream;
@@ -16,6 +15,8 @@
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import static junit.framework.Assert.assertEquals;
+
+import io.restassured.path.xml.XmlPath;
import org.junit.Test;
import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
diff --git a/src/test/java/edu/harvard/iq/dataverse/mocks/MocksFactory.java b/src/test/java/edu/harvard/iq/dataverse/mocks/MocksFactory.java
index cc4740e564c..05fd166c5b6 100644
--- a/src/test/java/edu/harvard/iq/dataverse/mocks/MocksFactory.java
+++ b/src/test/java/edu/harvard/iq/dataverse/mocks/MocksFactory.java
@@ -83,7 +83,7 @@ public static FileMetadata addFileMetadata( DataFile df ) {
if ( df.getFileMetadatas() != null ) {
df.getFileMetadatas().add( fmd );
} else {
- df.setFileMetadatas( new LinkedList(Arrays.asList(fmd)) );
+ df.setFileMetadatas( new LinkedList<>(List.of(fmd)) );
}
return fmd;
@@ -142,6 +142,7 @@ public static Dataverse makeDataverse() {
public static Dataset makeDataset() {
Dataset ds = new Dataset();
ds.setId( nextId() );
+ ds.setAuthority("mockedAuthority");
ds.setIdentifier("sample-ds-" + ds.getId() );
ds.setCategoriesByName( Arrays.asList("CatOne", "CatTwo", "CatThree") );
final List files = makeFiles(10);