Merge branch 'jakarta-migration' into master

Change-Id: Ia2485c291d0fa21b58029919295d35d9993efa9a
diff --git a/.github/workflows/ci_test.yml b/.github/workflows/ci_test.yml
index e8ecc93..398af8f 100644
--- a/.github/workflows/ci_test.yml
+++ b/.github/workflows/ci_test.yml
@@ -39,9 +39,9 @@
 
       - name: Build and install Koral
         run: mvn --file Koral/pom.xml install
-
-      - name: Build and package Kustvakt lite
-        run: mvn --file Kustvakt/full/pom.xml package -P lite
-
+      
       - name: Build and package Kustvakt full
-        run: mvn --file Kustvakt/full/pom.xml package -DskipTests=true
+        run: mvn clean --file Kustvakt/full/pom.xml package 
+        
+      - name: Build and package Kustvakt lite
+        run: mvn clean --file Kustvakt/full/pom.xml package -P lite -DskipTests=true     
diff --git a/README.md b/README.md
index 3a4ff98..e3a590c 100644
--- a/README.md
+++ b/README.md
@@ -29,17 +29,17 @@
 git clone git@github.com:KorAP/Kustvakt.git
 </pre>
 
-Since Kustvakt requires Krill and Koral, please install [Krill](https://github.com/KorAP/Krill) and [Koral](https://github.com/KorAP/Koral) in your maven local repository according to the required versions specified in ```Kustvakt/full/pom.xml```. 
+Since Kustvakt requires Krill and Koral, please install [Krill](https://github.com/KorAP/Krill) and [Koral](https://github.com/KorAP/Koral) in your maven local repository according to the required versions specified in ```Kustvakt/full/pom.xml```. For packaging Kustvakt, change into the `Kustvakt` folder.
 
 Packaging Kustvakt full version
 <pre>
-cd ../full
+cd full
 mvn clean package
 </pre>
 
 Packaging Kustvakt lite version
 <pre>
-cd ../full
+cd full
 mvn package -P lite
 </pre>
 The jar file is located in the ```target/``` folder.
diff --git a/full/Changes b/full/Changes
index 9680551..8d030e7 100644
--- a/full/Changes
+++ b/full/Changes
@@ -1,4 +1,4 @@
-# version 0.72
+# version 0.71.1
 
 - Replaced javax.ws to jakarta.ws namespace (#648)
 - Upgrading Jersey 2.40 to 3.x (#646)
@@ -27,9 +27,13 @@
 - Removed unnecessary caches and methods in the authentication interface
 - Added total result cache (#599)
 - Fixed missing project.version in info web-service
-- Updated Java version 11 to 17 (#643)
-- Removed duplicate dependencies
-
+- Make sure totalResults and other numeric results are numbers (Kupietz)
+- Introduce CQP query language in Koral 0.41
+- Changed DB connection (fixed #670)
+- Resolved duplicate libraries
+- Fixed testing expiry access token
+- Fix lombok compile warning
+- Ensure the order of clean token tests.
 
 # version 0.70.1
 
diff --git a/full/pom.xml b/full/pom.xml
index 148c39e..af78195 100644
--- a/full/pom.xml
+++ b/full/pom.xml
@@ -213,13 +213,6 @@
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-surefire-plugin</artifactId>
 				<version>3.1.2</version>
-				<dependencies>
-                    <dependency>
-                        <groupId>org.apache.maven.surefire</groupId>
-                        <artifactId>surefire-junit47</artifactId>
-                        <version>3.1.2</version>
-                    </dependency>
-                </dependencies>
 				<configuration>
 					<reuseForks>true</reuseForks>
 					<forkCount>1</forkCount>
@@ -378,11 +371,6 @@
 		<!-- EM:done -->
 
 		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>4.13.2</version>
-		</dependency>
-		<dependency>
 			<groupId>joda-time</groupId>
 			<artifactId>joda-time</artifactId>
 			<version>2.12.5</version>
@@ -655,7 +643,6 @@
 			<version>${hibernate.version}</version>
 		</dependency>
 		
-		<!-- Sqlite -->
 		<!--<dependency>
 			<groupId>com.github.gwenn</groupId>
 			<artifactId>sqlite-dialect</artifactId>
@@ -667,6 +654,7 @@
 		    <version>${hibernate.version}</version>
 		</dependency>
 		
+		<!-- servlet -->
 		<dependency>
 		    <groupId>jakarta.persistence</groupId>
 		    <artifactId>jakarta.persistence-api</artifactId>
@@ -733,24 +721,12 @@
 			<artifactId>jersey-test-framework-core</artifactId>
 			<version>${jersey.version}</version>
 			<scope>test</scope>
-			<exclusions>
-				<exclusion>
-					<groupId>org.junit.jupiter</groupId>
-  					<artifactId>junit-jupiter</artifactId>
-				</exclusion>
-			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.glassfish.jersey.test-framework.providers</groupId>
 			<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
 			<version>${jersey.version}</version>
 			<scope>test</scope>
-			<exclusions>
-				<exclusion>
-					<groupId>org.junit.jupiter</groupId>
-  					<artifactId>junit-jupiter</artifactId>
-				</exclusion>
-			</exclusions>
 		</dependency>
 
 		<!-- velocity -->
@@ -823,5 +799,11 @@
 		    <version>5.15.0</version>
 		    <scope>test</scope>
 		</dependency>
+		<dependency>
+			<groupId>org.junit.jupiter</groupId>
+			<artifactId>junit-jupiter</artifactId>
+			<version>5.10.0</version>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
 </project>
diff --git a/full/src/main/java/de/ids_mannheim/korap/core/service/SearchService.java b/full/src/main/java/de/ids_mannheim/korap/core/service/SearchService.java
index e08f58d..c940cab 100644
--- a/full/src/main/java/de/ids_mannheim/korap/core/service/SearchService.java
+++ b/full/src/main/java/de/ids_mannheim/korap/core/service/SearchService.java
@@ -254,10 +254,10 @@
             ObjectNode queryNode = (ObjectNode) JsonUtils.readTree(result);
             ObjectNode meta = (ObjectNode) queryNode.at("/meta");
             if (meta.isMissingNode()) {
-                queryNode.put("totalResults", totalResults);
+                queryNode.put("totalResults", Integer.valueOf(totalResults));
             }
             else {
-                meta.put("totalResults", totalResults);
+                meta.put("totalResults", Integer.valueOf(totalResults));
             }
             result = queryNode.toString();
         }
diff --git a/full/src/main/java/de/ids_mannheim/korap/oauth2/dao/AccessTokenDao.java b/full/src/main/java/de/ids_mannheim/korap/oauth2/dao/AccessTokenDao.java
index 0763d81..b2fec0b 100644
--- a/full/src/main/java/de/ids_mannheim/korap/oauth2/dao/AccessTokenDao.java
+++ b/full/src/main/java/de/ids_mannheim/korap/oauth2/dao/AccessTokenDao.java
@@ -91,6 +91,11 @@
         entityManager.persist(accessToken);
     }
 
+    public void storeAccessToken (AccessToken accessToken) 
+                    throws KustvaktException {
+        ParameterChecker.checkObjectValue(accessToken, "access token");
+        entityManager.persist(accessToken);
+    }
     public AccessToken updateAccessToken (AccessToken accessToken)
             throws KustvaktException {
         ParameterChecker.checkObjectValue(accessToken, "access_token");
diff --git a/full/src/main/java/de/ids_mannheim/korap/user/User.java b/full/src/main/java/de/ids_mannheim/korap/user/User.java
index eb6cf53..66b6873 100644
--- a/full/src/main/java/de/ids_mannheim/korap/user/User.java
+++ b/full/src/main/java/de/ids_mannheim/korap/user/User.java
@@ -1,14 +1,6 @@
 package de.ids_mannheim.korap.user;
 
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.joda.time.DateTime;
-
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.ParamFields;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -16,11 +8,19 @@
 import de.ids_mannheim.korap.utils.TimeUtils;
 import de.ids_mannheim.korap.web.utils.KustvaktMap;
 import lombok.AccessLevel;
-import lombok.Data;
 import lombok.Getter;
 import lombok.Setter;
+import org.joda.time.DateTime;
 
-@Data
+import jakarta.persistence.Entity;
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Getter
+@Setter
+@Entity
 public abstract class User implements Serializable {
 
     //EM: add
diff --git a/full/src/main/resources/default-config.xml b/full/src/main/resources/default-config.xml
index 3491bd3..f726e2a 100644
--- a/full/src/main/resources/default-config.xml
+++ b/full/src/main/resources/default-config.xml
@@ -112,8 +112,8 @@
 		<!-- <property name="validateOnMigrate" value="false" /> -->
 		<!-- <property name="cleanOnValidationError" value="true" /> -->
 		<property name="locations" value="#{'${jdbc.schemaPath}'.split(',')}"/>
-		<!-- <property name="dataSource" ref="dataSource" /> -->
-		<property name="dataSource" ref="sqliteDataSource" />
+		<property name="dataSource" ref="dataSource" />
+		<!-- <property name="dataSource" ref="sqliteDataSource" /> -->
 		<!-- <property name="dataSource" ref="c3p0DataSource" /> -->
 		<property name="outOfOrder" value="true" />
 	</bean>
@@ -125,8 +125,8 @@
 	<bean id="entityManagerFactory"
 		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
 		depends-on="flyway">
-		<!-- <property name="dataSource" ref="dataSource" /> -->
-		<property name="dataSource" ref="sqliteDataSource" />
+		<property name="dataSource" ref="dataSource" />
+		<!--  <property name="dataSource" ref="sqliteDataSource" /> -->
 		<!-- <property name="dataSource" ref="c3p0DataSource" /> -->
 
 		<property name="packagesToScan">
diff --git a/full/src/test/java/de/ids_mannheim/korap/authentication/APIAuthenticationTest.java b/full/src/test/java/de/ids_mannheim/korap/authentication/APIAuthenticationTest.java
index cbd565d..3c8f808 100644
--- a/full/src/test/java/de/ids_mannheim/korap/authentication/APIAuthenticationTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/authentication/APIAuthenticationTest.java
@@ -1,12 +1,12 @@
 package de.ids_mannheim.korap.authentication;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.fasterxml.jackson.databind.JsonNode;
@@ -34,46 +34,31 @@
     private FullConfiguration config;
 
     @Test
-    public void testDeprecatedService () throws KustvaktException {
-
-        String userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("dory", "password");
-
-        Response response = target().path(API_VERSION).path("auth")
-                .path("apiToken").request()
-                .header(Attributes.AUTHORIZATION, userAuthHeader)
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
-
+    public void testDeprecatedService() throws KustvaktException {
+        String userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "password");
+        Response response = target().path(API_VERSION).path("auth").path("apiToken").request().header(Attributes.AUTHORIZATION, userAuthHeader).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        
         assertEquals(StatusCodes.DEPRECATED, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testCreateGetTokenContext () throws KustvaktException,
-            IOException, InterruptedException, JOSEException {
+    public void testCreateGetTokenContext() throws KustvaktException, IOException, InterruptedException, JOSEException {
         User user = new KorAPUser();
         user.setUsername("testUser");
-
         Map<String, Object> attr = new HashMap<>();
         attr.put(Attributes.HOST, "localhost");
         attr.put(Attributes.USER_AGENT, "java");
         attr.put(Attributes.AUTHENTICATION_TIME, TimeUtils.getNow().toDate());
-
         APIAuthentication auth = new APIAuthentication(config);
         TokenContext context = auth.createTokenContext(user, attr);
-
         // get token context
         String authToken = context.getToken();
-//        System.out.println(authToken);
+        // System.out.println(authToken);
         context = auth.getTokenContext(authToken);
-
         TokenType tokenType = context.getTokenType();
         assertEquals(TokenType.API, tokenType);
-        assertEquals("testUser", context.getUsername());
+        assertEquals(context.getUsername(), "testUser");
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/authentication/AuthenticationFilterTest.java b/full/src/test/java/de/ids_mannheim/korap/authentication/AuthenticationFilterTest.java
index f1c57c6..892219b 100644
--- a/full/src/test/java/de/ids_mannheim/korap/authentication/AuthenticationFilterTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/authentication/AuthenticationFilterTest.java
@@ -1,9 +1,8 @@
 package de.ids_mannheim.korap.authentication;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 
 import de.ids_mannheim.korap.config.Attributes;
@@ -15,20 +14,12 @@
 public class AuthenticationFilterTest extends SpringJerseyTest {
 
     @Test
-    public void testAuthenticationWithUnknownScheme ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Blah blah")
-                .get();
-
+    public void testAuthenticationWithUnknownScheme() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").request().header(Attributes.AUTHORIZATION, "Blah blah").get();
         String entity = response.readEntity(String.class);
         JsonNode n = JsonUtils.readTree(entity);
-
-        assertEquals("2001", n.at("/errors/0/0").asText());
-        assertEquals("Authentication scheme is not supported.",
-                n.at("/errors/0/1").asText());
-        assertEquals("Blah", n.at("/errors/0/2").asText());
+        assertEquals(n.at("/errors/0/0").asText(), "2001");
+        assertEquals(n.at("/errors/0/1").asText(), "Authentication scheme is not supported.");
+        assertEquals(n.at("/errors/0/2").asText(), "Blah");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/authentication/LdapAuth3Test.java b/full/src/test/java/de/ids_mannheim/korap/authentication/LdapAuth3Test.java
index de8b9b1..f7c8a86 100644
--- a/full/src/test/java/de/ids_mannheim/korap/authentication/LdapAuth3Test.java
+++ b/full/src/test/java/de/ids_mannheim/korap/authentication/LdapAuth3Test.java
@@ -10,50 +10,55 @@
 import com.unboundid.util.ssl.SSLUtil;
 import com.unboundid.util.ssl.TrustAllTrustManager;
 import com.unboundid.util.ssl.TrustStoreTrustManager;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 import java.security.GeneralSecurityException;
 
 import static de.ids_mannheim.korap.authentication.LdapAuth3.*;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 
 public class LdapAuth3Test {
+
     public static final String TEST_LDAP_CONF = "src/test/resources/test-ldap.conf";
+
     public static final String TEST_LDAPS_CONF = "src/test/resources/test-ldaps.conf";
+
     public static final String TEST_LDAPS_TS_CONF = "src/test/resources/test-ldaps-with-truststore.conf";
+
     public static final String TEST_LDAP_USERS_LDIF = "src/test/resources/test-ldap-users.ldif";
+
     private static final String keyStorePath = "src/test/resources/keystore.p12";
+
     static InMemoryDirectoryServer server;
 
-    @BeforeClass
-    public static void startDirectoryServer() throws LDAPException, GeneralSecurityException {
+    @BeforeAll
+    static void startDirectoryServer() throws LDAPException, GeneralSecurityException {
         InMemoryDirectoryServerConfig config = new InMemoryDirectoryServerConfig("dc=example,dc=com");
         config.addAdditionalBindCredentials("cn=admin,dc=example,dc=com", "adminpassword");
         config.setSchema(null);
-
         final SSLUtil serverSSLUtil = new SSLUtil(new KeyStoreKeyManager(keyStorePath, "password".toCharArray(), "PKCS12", "server-cert"), new TrustStoreTrustManager(keyStorePath));
-
         final SSLUtil clientSslUtil = new SSLUtil(new TrustAllTrustManager());
-
-        config.setListenerConfigs(InMemoryListenerConfig.createLDAPConfig("LDAP", // Listener name
-                        null, // Listen address. (null = listen on all interfaces)
-                        3268, // Listen port (0 = automatically choose an available port)
-                        clientSslUtil.createSSLSocketFactory()), // StartTLS factory
-                InMemoryListenerConfig.createLDAPSConfig("LDAPS", // Listener name
-                        null, // Listen address. (null = listen on all interfaces)
-                        3269, // Listen port (0 = automatically choose an available port)
-                        serverSSLUtil.createSSLServerSocketFactory(), clientSslUtil.createSSLSocketFactory()));
+        config.setListenerConfigs(// Listener name
+                InMemoryListenerConfig.createLDAPConfig(// Listener name
+                        "LDAP", // Listen address. (null = listen on all interfaces)
+                        null, // Listen port (0 = automatically choose an available port)
+                        3268, // StartTLS factory
+                        clientSslUtil.createSSLSocketFactory()), // Listener name
+                InMemoryListenerConfig.createLDAPSConfig(// Listener name
+                        "LDAPS", // Listen address. (null = listen on all interfaces)
+                        null, // Listen port (0 = automatically choose an available port)
+                        3269, serverSSLUtil.createSSLServerSocketFactory(), clientSslUtil.createSSLSocketFactory()));
         server = new InMemoryDirectoryServer(config);
-
         String configPath = TEST_LDAP_USERS_LDIF;
         server.importFromLDIF(true, configPath);
         server.startListening();
     }
 
-    @AfterClass
-    public static void shutDownDirectoryServer() {
+    @AfterAll
+    static void shutDownDirectoryServer() {
         server.shutDown(true);
     }
 
@@ -150,36 +155,35 @@
 
     @Test
     public void gettingMailAttributeForUid() throws LDAPException {
-        assertEquals("testuser@example.com", LdapAuth3.getEmail("testuser", TEST_LDAP_CONF));
-        assertEquals("peter@example.org", LdapAuth3.getEmail("testuser2", TEST_LDAPS_CONF));
+        assertEquals(LdapAuth3.getEmail("testuser", TEST_LDAP_CONF), "testuser@example.com");
+        assertEquals(LdapAuth3.getEmail("testuser2", TEST_LDAPS_CONF), "peter@example.org");
         assertEquals(null, LdapAuth3.getEmail("non-exsting", TEST_LDAPS_CONF));
     }
-    
+
     @Test
     public void gettingUsernameForEmail() throws LDAPException {
-        assertEquals("idsTestUser", LdapAuth3.getUsername("testuser@example.com", TEST_LDAP_CONF));
-        assertEquals("testuser2", LdapAuth3.getUsername("peter@example.org", TEST_LDAPS_CONF));
+        assertEquals(LdapAuth3.getUsername("testuser@example.com", TEST_LDAP_CONF), "idsTestUser");
+        assertEquals(LdapAuth3.getUsername("peter@example.org", TEST_LDAPS_CONF), "testuser2");
         assertEquals(null, LdapAuth3.getUsername("non-exsting", TEST_LDAPS_CONF));
-
-        assertEquals("testuser2", LdapAuth3.getUsername("testUser2", TEST_LDAPS_CONF));
+        assertEquals(LdapAuth3.getUsername("testUser2", TEST_LDAPS_CONF), "testuser2");
         // login with uid, get idsC2Profile username
-        assertEquals("idsTestUser", LdapAuth3.getUsername("testUser", TEST_LDAPS_CONF));
+        assertEquals(LdapAuth3.getUsername("testUser", TEST_LDAPS_CONF), "idsTestUser");
     }
 
     @Test
     public void gettingMailAttributeForNotRegisteredUserWorks() throws LDAPException {
-        assertEquals("not_registered_user@example.com", LdapAuth3.getEmail("not_registered_user", TEST_LDAP_CONF));
+        assertEquals(LdapAuth3.getEmail("not_registered_user", TEST_LDAP_CONF), "not_registered_user@example.com");
     }
 
     @Test
     public void gettingMailAttributeForBlockedUserWorks() throws LDAPException {
-        assertEquals("nameOfBlockedUser@example.com", LdapAuth3.getEmail("nameOfBlockedUser", TEST_LDAP_CONF));
+        assertEquals(LdapAuth3.getEmail("nameOfBlockedUser", TEST_LDAP_CONF), "nameOfBlockedUser@example.com");
     }
 
     @Test
     public void canLoadLdapConfig() {
         LDAPConfig ldapConfig = new LDAPConfig(TEST_LDAPS_CONF);
         assertEquals(3269, ldapConfig.port);
-        assertEquals("localhost", ldapConfig.host);
+        assertEquals(ldapConfig.host, "localhost");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/authentication/LdapOAuth2Test.java b/full/src/test/java/de/ids_mannheim/korap/authentication/LdapOAuth2Test.java
index 9739ff4..fd59d79 100644
--- a/full/src/test/java/de/ids_mannheim/korap/authentication/LdapOAuth2Test.java
+++ b/full/src/test/java/de/ids_mannheim/korap/authentication/LdapOAuth2Test.java
@@ -1,24 +1,22 @@
 package de.ids_mannheim.korap.authentication;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.net.URI;
 import java.security.GeneralSecurityException;
 
 import org.apache.http.entity.ContentType;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.util.UriComponentsBuilder;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import com.unboundid.ldap.sdk.LDAPException;
-
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.FullConfiguration;
 import de.ids_mannheim.korap.constant.AuthenticationMethod;
@@ -41,78 +39,67 @@
 
     @Autowired
     private FullConfiguration config;
+
     @Autowired
     private AccessTokenDao accessDao;
+
     @Autowired
     private RefreshTokenDao refreshDao;
+
     @Autowired
     private OAuth2ClientDao clientDao;
-    
+
     private String testUsername = "idsTestUser";
+
     private String testUserEmail = "testuser@example.com";
+
     private String redirectUri = "https://client.com/redirect";
 
-    @BeforeClass
-    public static void startTestLDAPServer ()
-            throws LDAPException, GeneralSecurityException {
+    @BeforeAll
+    static void startTestLDAPServer() throws LDAPException, GeneralSecurityException {
         LdapAuth3Test.startDirectoryServer();
-
     }
 
-    @AfterClass
-    public static void stopTestLDAPServer () {
+    @AfterAll
+    static void stopTestLDAPServer() {
         LdapAuth3Test.shutDownDirectoryServer();
     }
 
-    @Before
-    public void setLDAPAuthentication () {
+    @BeforeEach
+    public void setLDAPAuthentication() {
         config.setOAuth2passwordAuthentication(AuthenticationMethod.LDAP);
     }
 
-    @After
-    public void resetAuthenticationMethod () {
+    @AfterEach
+    public void resetAuthenticationMethod() {
         config.setOAuth2passwordAuthentication(AuthenticationMethod.TEST);
     }
 
     @Test
-    public void testRequestTokenPasswordUnknownUser ()
-            throws KustvaktException {
-
-        Response response = requestTokenWithPassword(superClientId,
-                clientSecret, "unknown", "password");
-
+    public void testRequestTokenPasswordUnknownUser() throws KustvaktException {
+        Response response = requestTokenWithPassword(superClientId, clientSecret, "unknown", "password");
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(2023, node.at("/errors/0/0").asInt());
-        assertEquals(
-                "LDAP Authentication failed due to unknown user or password!",
-                node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "LDAP Authentication failed due to unknown user or password!");
     }
 
     @Test
-    public void testMapEmailToUsername () throws KustvaktException {
-        Response response = requestTokenWithPassword(superClientId,
-                clientSecret, testUserEmail, "password");
+    public void testMapEmailToUsername() throws KustvaktException {
+        Response response = requestTokenWithPassword(superClientId, clientSecret, testUserEmail, "password");
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
-        
         String accessToken = node.at("/access_token").asText();
         AccessToken accessTokenObj = accessDao.retrieveAccessToken(accessToken);
         assertEquals(testUsername, accessTokenObj.getUserId());
-
         String refreshToken = node.at("/refresh_token").asText();
         RefreshToken rt = refreshDao.retrieveRefreshToken(refreshToken);
         assertEquals(testUsername, rt.getUserId());
-        
         testRegisterPublicClient(accessToken);
         node = testRegisterConfidentialClient(accessToken);
         String clientId = node.at("/client_id").asText();
         String clientSecret = node.at("/client_secret").asText();
-        
         testRequestTokenWithAuthorization(clientId, clientSecret, accessToken);
     }
     
@@ -121,19 +108,10 @@
         OAuth2ClientJson json = new OAuth2ClientJson();
         json.setName("LDAP test client");
         json.setType(OAuth2ClientType.PUBLIC);
-        json.setDescription(
-                "Test registering a public client with LDAP authentication");
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("client").path("register")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer " + accessToken)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .post(Entity.json(json));
-
+        json.setDescription("Test registering a public client with LDAP authentication");
+        Response response = target().path(API_VERSION).path("oauth2").path("client").path("register").request().header(Attributes.AUTHORIZATION, "Bearer " + accessToken).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).post(Entity.json(json));
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String clientId = node.at("/client_id").asText();
         OAuth2Client client = clientDao.retrieveClientById(clientId);
         assertEquals(testUsername, client.getRegisteredBy());
@@ -145,53 +123,28 @@
         json.setName("LDAP test client");
         json.setType(OAuth2ClientType.CONFIDENTIAL);
         json.setRedirectURI(redirectUri);
-        json.setDescription(
-                "Test registering a confidential client with LDAP authentication");
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("client").path("register")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer " + accessToken)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .post(Entity.json(json));
-
+        json.setDescription("Test registering a confidential client with LDAP authentication");
+        Response response = target().path(API_VERSION).path("oauth2").path("client").path("register").request().header(Attributes.AUTHORIZATION, "Bearer " + accessToken).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).post(Entity.json(json));
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String clientId = node.at("/client_id").asText();
         OAuth2Client client = clientDao.retrieveClientById(clientId);
         assertEquals(testUsername, client.getRegisteredBy());
         return node;
     }
-    
-    private void testRequestTokenWithAuthorization (String clientId,
-            String clientSecret, String accessToken) throws KustvaktException {
+
+    private void testRequestTokenWithAuthorization(String clientId, String clientSecret, String accessToken) throws KustvaktException {
         String authHeader = "Bearer " + accessToken;
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("authorize")
-                .queryParam("response_type", "code")
-                .queryParam("client_id", clientId)
-                .queryParam("client_secret", clientSecret)
-                .queryParam("scope", "search match_info")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .get();
-        
-        assertEquals(Status.TEMPORARY_REDIRECT.getStatusCode(),
-                response.getStatus());
+        Response response = target().path(API_VERSION).path("oauth2").path("authorize").queryParam("response_type", "code").queryParam("client_id", clientId).queryParam("client_secret", clientSecret).queryParam("scope", "search match_info").request().header(Attributes.AUTHORIZATION, authHeader).get();
+        assertEquals(Status.TEMPORARY_REDIRECT.getStatusCode(), response.getStatus());
         URI redirectUri = response.getLocation();
-
-        MultiValueMap<String, String> params = UriComponentsBuilder
-                .fromUri(redirectUri).build().getQueryParams();
+        MultiValueMap<String, String> params = UriComponentsBuilder.fromUri(redirectUri).build().getQueryParams();
         String code = params.getFirst("code");
-
         response = requestTokenWithAuthorizationCodeAndForm(clientId, clientSecret, code);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-
         String at = node.at("/access_token").asText();
         AccessToken accessTokenObj = accessDao.retrieveAccessToken(at);
         assertEquals(testUsername, accessTokenObj.getUserId());
-
         String refreshToken = node.at("/refresh_token").asText();
         RefreshToken rt = refreshDao.retrieveRefreshToken(refreshToken);
         assertEquals(testUsername, rt.getUserId());
diff --git a/full/src/test/java/de/ids_mannheim/korap/authentication/RandomCodeGeneratorTest.java b/full/src/test/java/de/ids_mannheim/korap/authentication/RandomCodeGeneratorTest.java
index 0f0c012..a3694f0 100644
--- a/full/src/test/java/de/ids_mannheim/korap/authentication/RandomCodeGeneratorTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/authentication/RandomCodeGeneratorTest.java
@@ -1,13 +1,12 @@
 package de.ids_mannheim.korap.authentication;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.security.NoSuchAlgorithmException;
 
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.encryption.RandomCodeGenerator;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -18,18 +17,15 @@
     private RandomCodeGenerator random;
 
     @Test
-    public void testRandomGenerator ()
-            throws NoSuchAlgorithmException, KustvaktException {
+    public void testRandomGenerator() throws NoSuchAlgorithmException, KustvaktException {
         String value = random.createRandomCode();
         assertEquals(22, value.length());
-        //System.out.println(value);
+        // System.out.println(value);
     }
 
-    @Ignore
-    public void testRandomGeneratorPerformance () throws 
-            NoSuchAlgorithmException, KustvaktException {
+    @Disabled
+    public void testRandomGeneratorPerformance() throws NoSuchAlgorithmException, KustvaktException {
         long min = Integer.MAX_VALUE, max = Integer.MIN_VALUE;
-
         String code;
         while (true) {
             long start = System.currentTimeMillis();
@@ -41,10 +37,9 @@
             long duration = end - start;
             if (duration < min)
                 min = duration;
-            else if (duration > max) max = duration;
-            System.out.println(
-                    "d : " + duration + " min :" + min + ", max: " + max);
-
+            else if (duration > max)
+                max = duration;
+            System.out.println("d : " + duration + " min :" + min + ", max: " + max);
         }
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/cache/NamedVCLoaderTest.java b/full/src/test/java/de/ids_mannheim/korap/cache/NamedVCLoaderTest.java
index 1816a19..8d3d275 100644
--- a/full/src/test/java/de/ids_mannheim/korap/cache/NamedVCLoaderTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/cache/NamedVCLoaderTest.java
@@ -1,16 +1,15 @@
 package de.ids_mannheim.korap.cache;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 import java.util.Map;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import de.ids_mannheim.korap.collection.DocBits;
 import de.ids_mannheim.korap.config.NamedVCLoader;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
@@ -23,22 +22,19 @@
 
     @Autowired
     private NamedVCLoader vcLoader;
+
     @Autowired
     private QueryDao dao;
 
     @Test
-    public void testNamedVCLoader ()
-            throws IOException, QueryException, KustvaktException {
+    public void testNamedVCLoader() throws IOException, QueryException, KustvaktException {
         String vcId = "named-vc1";
         vcLoader.loadVCToCache(vcId, "/vc/named-vc1.jsonld");
         assertTrue(VirtualCorpusCache.contains(vcId));
-        
         Map<String, DocBits> cachedData = VirtualCorpusCache.retrieve(vcId);
         assertTrue(cachedData.size() > 0);
-        
         VirtualCorpusCache.delete(vcId);
         assertFalse(VirtualCorpusCache.contains(vcId));
-        
         QueryDO vc = dao.retrieveQueryByName(vcId, "system");
         assertNotNull(vc);
         dao.deleteQuery(vc);
diff --git a/full/src/test/java/de/ids_mannheim/korap/cache/TotalResultTest.java b/full/src/test/java/de/ids_mannheim/korap/cache/TotalResultTest.java
index cba8054..5beb40b 100644
--- a/full/src/test/java/de/ids_mannheim/korap/cache/TotalResultTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/cache/TotalResultTest.java
@@ -1,13 +1,12 @@
 package de.ids_mannheim.korap.cache;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Test;
+
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.core.service.SearchService;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -45,82 +44,40 @@
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
+        assertTrue(node.at("/meta/totalResults").isNumber(), "totalResults should be a number");
         int totalResults = node.at("/meta/totalResults").asInt();
-
-        assertEquals(1, searchService.getTotalResultCache()
-                .getAllCacheElements().size());
-
-        response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .queryParam("page", "2").request().get();
-
+        assertEquals(1, searchService.getTotalResultCache().getAllCacheElements().size());
+        response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").queryParam("page", "2").request().get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
+        assertTrue(node.at("/meta/totalResults").isNumber(), "totalResults should be a number");
         assertEquals(totalResults, node.at("/meta/totalResults").asInt());
-        
-        assertEquals(1, searchService.getTotalResultCache()
-                .getAllCacheElements().size());
-        
+        assertEquals(1, searchService.getTotalResultCache().getAllCacheElements().size());
         assertTrue(node.at("/meta/cutOff").isMissingNode());
-        
         testSearchWithCutOff();
     }
-    
+
     @Test
-    public void testSearchWithCutOffTrue () throws KustvaktException {
-
-        int cacheSize = searchService.getTotalResultCache()
-                .getAllCacheElements().size();
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "ich").queryParam("ql", "poliqarp")
-                .queryParam("page", "2")
-                .queryParam("cutoff", "true")
-                .request().get();
+    public void testSearchWithCutOffTrue() throws KustvaktException {
+        int cacheSize = searchService.getTotalResultCache().getAllCacheElements().size();
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "ich").queryParam("ql", "poliqarp").queryParam("page", "2").queryParam("cutoff", "true").request().get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-        
-        String query = "{\"meta\":{\"startPage\":2,\"tokens\":false,\"cutOff\":"
-                + "true,\"snippets\":true,\"timeout\":10000},\"query\":{\"@type\":"
-                + "\"koral:token\",\"wrap\":{\"@type\":\"koral:term\",\"match\":"
-                + "\"match:eq\",\"layer\":\"orth\",\"key\":\"ich\",\"foundry\":"
-                + "\"opennlp\",\"rewrites\":[{\"@type\":\"koral:rewrite\",\"src\":"
-                + "\"Kustvakt\",\"operation\":\"operation:injection\",\"scope\":"
-                + "\"foundry\"}]}},\"@context\":\"http://korap.ids-mannheim.de/ns"
-                + "/koral/0.3/context.jsonld\",\"collection\":{\"@type\":\"koral:"
-                + "doc\",\"match\":\"match:eq\",\"type\":\"type:regex\",\"value\":"
-                + "\"CC-BY.*\",\"key\":\"availability\",\"rewrites\":[{\"@type\":"
-                + "\"koral:rewrite\",\"src\":\"Kustvakt\",\"operation\":\"operation:"
-                + "insertion\",\"scope\":\"availability(FREE)\"}]}}";
-        
+        String query = "{\"meta\":{\"startPage\":2,\"tokens\":false,\"cutOff\":" + "true,\"snippets\":true,\"timeout\":10000},\"query\":{\"@type\":" + "\"koral:token\",\"wrap\":{\"@type\":\"koral:term\",\"match\":" + "\"match:eq\",\"layer\":\"orth\",\"key\":\"ich\",\"foundry\":" + "\"opennlp\",\"rewrites\":[{\"@type\":\"koral:rewrite\",\"src\":" + "\"Kustvakt\",\"operation\":\"operation:injection\",\"scope\":" + "\"foundry\"}]}},\"@context\":\"http://korap.ids-mannheim.de/ns" + "/koral/0.3/context.jsonld\",\"collection\":{\"@type\":\"koral:" + "doc\",\"match\":\"match:eq\",\"type\":\"type:regex\",\"value\":" + "\"CC-BY.*\",\"key\":\"availability\",\"rewrites\":[{\"@type\":" + "\"koral:rewrite\",\"src\":\"Kustvakt\",\"operation\":\"operation:" + "insertion\",\"scope\":\"availability(FREE)\"}]}}";
         int cacheKey = searchService.createTotalResultCacheKey(query);
-        assertEquals(null, searchService.getTotalResultCache()
-                .getCacheValue(cacheKey));
-        
-        assertEquals(cacheSize,  searchService.getTotalResultCache()
-                .getAllCacheElements().size());
+        assertEquals(null, searchService.getTotalResultCache().getCacheValue(cacheKey));
+        assertEquals(cacheSize, searchService.getTotalResultCache().getAllCacheElements().size());
     }
-    
-    private void testSearchWithCutOff () throws KustvaktException {
-        
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .queryParam("page", "3").queryParam("cutoff", "false").request()
-                .get();
+
+    private void testSearchWithCutOff() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").queryParam("page", "3").queryParam("cutoff", "false").request().get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertTrue(node.at("/meta/cutOff").isMissingNode());
-
-        response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .queryParam("page", "4").queryParam("cutoff", "true").request()
-                .get();
-
+        response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").queryParam("page", "4").queryParam("cutoff", "true").request().get();
         entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
-
         assertTrue(node.at("/meta/cutOff").asBoolean());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java b/full/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java
index 525d24b..98fa24b 100644
--- a/full/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java
@@ -1,12 +1,5 @@
 package de.ids_mannheim.korap.config;
 
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.web.context.support.GenericWebApplicationContext;
-
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.servlet.ServletContainer;
 import org.glassfish.jersey.test.DeploymentContext;
@@ -15,49 +8,42 @@
 import org.glassfish.jersey.test.grizzly.GrizzlyWebTestContainerFactory;
 import org.glassfish.jersey.test.spi.TestContainerException;
 import org.glassfish.jersey.test.spi.TestContainerFactory;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+import org.springframework.web.context.support.GenericWebApplicationContext;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@ExtendWith(SpringExtension.class)
 @ContextConfiguration("classpath:test-config-lite.xml")
-public abstract class LiteJerseyTest extends JerseyTest{
-    
+public abstract class LiteJerseyTest extends JerseyTest {
+
     public static final String API_VERSION = "v1.0";
-    
+
     @Autowired
     protected GenericApplicationContext applicationContext;
-    
-    public static String[] classPackages =
-            new String[] {
-                    "de.ids_mannheim.korap.core.web",
-                    "de.ids_mannheim.korap.web.filter", 
-                    "de.ids_mannheim.korap.web.utils",
-                    "de.ids_mannheim.korap.test",
-                    "com.fasterxml.jackson.jaxrs.json"};
-    
+
+    public static String[] classPackages = new String[]{"de.ids_mannheim.korap.core.web", "de.ids_mannheim.korap.web.filter", "de.ids_mannheim.korap.web.utils", "de.ids_mannheim.korap.test", "com.fasterxml.jackson.jaxrs.json"};
+
     @Override
-    protected TestContainerFactory getTestContainerFactory ()
-            throws TestContainerException {
+    protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
         return new GrizzlyWebTestContainerFactory();
     }
 
+    @BeforeEach
     @Override
-    public void setUp () throws Exception {
-
-        GenericWebApplicationContext genericContext =
-                new GenericWebApplicationContext();
-
+    public void setUp() throws Exception {
+        GenericWebApplicationContext genericContext = new GenericWebApplicationContext();
         genericContext.setParent(this.applicationContext);
         genericContext.setClassLoader(this.applicationContext.getClassLoader());
-
         StaticContextLoaderListener.applicationContext = genericContext;
         super.setUp();
     }
-    
+
     @Override
     protected DeploymentContext configureDeployment() {
-        return ServletDeploymentContext
-                .forServlet(new ServletContainer(new ResourceConfig().packages(classPackages)))
-                .addListener(StaticContextLoaderListener.class)
-                .contextParam("adminToken", "secret")
-                .build();
+        return ServletDeploymentContext.forServlet(new ServletContainer(new ResourceConfig().packages(classPackages))).addListener(StaticContextLoaderListener.class).contextParam("adminToken", "secret").build();
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/config/SpringJerseyTest.java b/full/src/test/java/de/ids_mannheim/korap/config/SpringJerseyTest.java
index d393764..1fca983 100644
--- a/full/src/test/java/de/ids_mannheim/korap/config/SpringJerseyTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/config/SpringJerseyTest.java
@@ -8,17 +8,18 @@
 import org.glassfish.jersey.test.grizzly.GrizzlyWebTestContainerFactory;
 import org.glassfish.jersey.test.spi.TestContainerException;
 import org.glassfish.jersey.test.spi.TestContainerFactory;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.support.GenericApplicationContext;
 import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.annotation.DirtiesContext.ClassMode;
 import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.web.context.support.GenericWebApplicationContext;
 
 @DirtiesContext(classMode = ClassMode.BEFORE_CLASS)
-@RunWith(SpringJUnit4ClassRunner.class)
+@ExtendWith(SpringExtension.class)
 @ContextConfiguration("classpath:test-config.xml")
 public abstract class SpringJerseyTest extends JerseyTest {
 
@@ -27,37 +28,25 @@
     @Autowired
     protected GenericApplicationContext applicationContext;
 
-    public static String[] classPackages =
-            new String[] { "de.ids_mannheim.korap.web",
-                    "de.ids_mannheim.korap.core.web",
-                    "de.ids_mannheim.korap.test",
-                    "com.fasterxml.jackson.jaxrs.json"};
+    public static String[] classPackages = new String[]{"de.ids_mannheim.korap.web", "de.ids_mannheim.korap.core.web", "de.ids_mannheim.korap.test", "com.fasterxml.jackson.jaxrs.json"};
 
     @Override
-    protected TestContainerFactory getTestContainerFactory ()
-            throws TestContainerException {
+    protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
         return new GrizzlyWebTestContainerFactory();
     }
 
+    @BeforeEach
     @Override
-    public void setUp () throws Exception {
-
-        GenericWebApplicationContext genericContext =
-                new GenericWebApplicationContext();
-
+    public void setUp() throws Exception {
+        GenericWebApplicationContext genericContext = new GenericWebApplicationContext();
         genericContext.setParent(this.applicationContext);
         genericContext.setClassLoader(this.applicationContext.getClassLoader());
-
         StaticContextLoaderListener.applicationContext = genericContext;
         super.setUp();
     }
 
     @Override
     protected DeploymentContext configureDeployment() {
-        return ServletDeploymentContext
-                .forServlet(new ServletContainer(new ResourceConfig().packages(classPackages)))
-                .addListener(StaticContextLoaderListener.class)
-                .contextParam("adminToken", "secret")
-                .build();
+        return ServletDeploymentContext.forServlet(new ServletContainer(new ResourceConfig().packages(classPackages))).addListener(StaticContextLoaderListener.class).contextParam("adminToken", "secret").build();
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/dao/RolePrivilegeDaoTest.java b/full/src/test/java/de/ids_mannheim/korap/dao/RolePrivilegeDaoTest.java
index a4d770b..59ca413 100644
--- a/full/src/test/java/de/ids_mannheim/korap/dao/RolePrivilegeDaoTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/dao/RolePrivilegeDaoTest.java
@@ -1,87 +1,77 @@
 package de.ids_mannheim.korap.dao;
 
-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.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import de.ids_mannheim.korap.constant.PredefinedRole;
 import de.ids_mannheim.korap.constant.PrivilegeType;
 import de.ids_mannheim.korap.entity.Privilege;
 import de.ids_mannheim.korap.entity.Role;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@ExtendWith(SpringExtension.class)
 @ContextConfiguration("classpath:test-config.xml")
 public class RolePrivilegeDaoTest {
 
     @Autowired
     private RoleDao roleDao;
+
     @Autowired
     private PrivilegeDao privilegeDao;
 
     @Test
-    public void retrievePredefinedRole () {
+    public void retrievePredefinedRole() {
         Role r = roleDao.retrieveRoleById(PredefinedRole.USER_GROUP_ADMIN.getId());
         assertEquals(1, r.getId());
     }
 
     @Test
-    public void createDeleteRole () {
+    public void createDeleteRole() {
         String roleName = "vc editor";
-
         List<PrivilegeType> privileges = new ArrayList<PrivilegeType>();
         privileges.add(PrivilegeType.READ);
         privileges.add(PrivilegeType.WRITE);
         roleDao.createRole(roleName, privileges);
-
         Role r = roleDao.retrieveRoleByName(roleName);
         assertEquals(roleName, r.getName());
         assertEquals(2, r.getPrivileges().size());
-
         roleDao.deleteRole(r.getId());
     }
 
     @Test
-    public void updateRole () {
+    public void updateRole() {
         Role role = roleDao.retrieveRoleByName("USER_GROUP_MEMBER");
         roleDao.editRoleName(role.getId(), "USER_GROUP_MEMBER role");
-
         role = roleDao.retrieveRoleById(role.getId());
-        assertEquals("USER_GROUP_MEMBER role", role.getName());
-
+        assertEquals(role.getName(), "USER_GROUP_MEMBER role");
         roleDao.editRoleName(role.getId(), "USER_GROUP_MEMBER");
         role = roleDao.retrieveRoleById(role.getId());
-        assertEquals("USER_GROUP_MEMBER", role.getName());
+        assertEquals(role.getName(), "USER_GROUP_MEMBER");
     }
 
-
     @Test
-    public void addDeletePrivilegeOfExistingRole () {
+    public void addDeletePrivilegeOfExistingRole() {
         Role role = roleDao.retrieveRoleByName("USER_GROUP_MEMBER");
         List<Privilege> privileges = role.getPrivileges();
         assertEquals(1, role.getPrivileges().size());
         assertEquals(privileges.get(0).getName(), PrivilegeType.DELETE);
-
         // add privilege
         List<PrivilegeType> privilegeTypes = new ArrayList<PrivilegeType>();
         privilegeTypes.add(PrivilegeType.READ);
         privilegeDao.addPrivilegesToRole(role, privilegeTypes);
-
         role = roleDao.retrieveRoleByName("USER_GROUP_MEMBER");
         assertEquals(2, role.getPrivileges().size());
-
-        //delete privilege
+        // delete privilege
         privilegeDao.deletePrivilegeFromRole(role.getId(), PrivilegeType.READ);
-
         role = roleDao.retrieveRoleByName("USER_GROUP_MEMBER");
         assertEquals(1, role.getPrivileges().size());
         assertEquals(privileges.get(0).getName(), PrivilegeType.DELETE);
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/dao/UserGroupDaoTest.java b/full/src/test/java/de/ids_mannheim/korap/dao/UserGroupDaoTest.java
index 25a1b36..dd5fcf5 100644
--- a/full/src/test/java/de/ids_mannheim/korap/dao/UserGroupDaoTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/dao/UserGroupDaoTest.java
@@ -1,18 +1,18 @@
 package de.ids_mannheim.korap.dao;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
-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.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import de.ids_mannheim.korap.config.FullConfiguration;
 import de.ids_mannheim.korap.constant.GroupMemberStatus;
@@ -30,34 +30,34 @@
 import de.ids_mannheim.korap.user.User.CorpusAccess;
 import edu.emory.mathcs.backport.java.util.Collections;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@ExtendWith(SpringExtension.class)
 @ContextConfiguration("classpath:test-config.xml")
 public class UserGroupDaoTest {
 
     @Autowired
     private UserGroupDao userGroupDao;
+
     @Autowired
     private QueryDao virtualCorpusDao;
+
     @Autowired
     private RoleDao roleDao;
+
     @Autowired
     private FullConfiguration config;
 
     @Test
-    public void createDeleteNewUserGroup () throws KustvaktException {
+    public void createDeleteNewUserGroup() throws KustvaktException {
         String groupName = "test group";
         String createdBy = "test class";
         // create group
-        int groupId = userGroupDao.createGroup(groupName, null, createdBy,
-                UserGroupStatus.ACTIVE);
-
+        int groupId = userGroupDao.createGroup(groupName, null, createdBy, UserGroupStatus.ACTIVE);
         // retrieve group
         UserGroup group = userGroupDao.retrieveGroupById(groupId, true);
         assertEquals(groupName, group.getName());
         assertEquals(createdBy, group.getCreatedBy());
         assertEquals(UserGroupStatus.ACTIVE, group.getStatus());
         assertNull(group.getDeletedBy());
-
         // group member
         List<UserGroupMember> members = group.getMembers();
         assertEquals(1, members.size());
@@ -65,95 +65,68 @@
         assertEquals(GroupMemberStatus.ACTIVE, m.getStatus());
         assertEquals(createdBy, m.getCreatedBy());
         assertEquals(createdBy, m.getUserId());
-
         // member roles
         Set<Role> roles = roleDao.retrieveRoleByGroupMemberId(m.getId());
         assertEquals(2, roles.size());
         ArrayList<Role> roleList = new ArrayList<>(2);
         roleList.addAll(roles);
         Collections.sort(roleList);
-        assertEquals(PredefinedRole.USER_GROUP_ADMIN.getId(),
-                roleList.get(0).getId());
-        assertEquals(PredefinedRole.VC_ACCESS_ADMIN.getId(),
-                roleList.get(1).getId());
-
-        //retrieve VC by group
+        assertEquals(PredefinedRole.USER_GROUP_ADMIN.getId(), roleList.get(0).getId());
+        assertEquals(PredefinedRole.VC_ACCESS_ADMIN.getId(), roleList.get(1).getId());
+        // retrieve VC by group
         List<QueryDO> vc = virtualCorpusDao.retrieveQueryByGroup(groupId);
         assertEquals(0, vc.size());
-
         // soft delete group
-        userGroupDao.deleteGroup(groupId, createdBy,
-                config.isSoftDeleteGroup());
+        userGroupDao.deleteGroup(groupId, createdBy, config.isSoftDeleteGroup());
         group = userGroupDao.retrieveGroupById(groupId);
         assertEquals(UserGroupStatus.DELETED, group.getStatus());
-
         // hard delete
         userGroupDao.deleteGroup(groupId, createdBy, false);
-        
         KustvaktException exception = assertThrows(KustvaktException.class, () -> {
             userGroupDao.retrieveGroupById(groupId);
         });
-        
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                exception.getStatusCode().intValue());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, exception.getStatusCode().intValue());
     }
 
     @Test
-    public void retrieveGroupWithMembers () throws KustvaktException {
+    public void retrieveGroupWithMembers() throws KustvaktException {
         // dory group
-        List<UserGroupMember> members =
-                userGroupDao.retrieveGroupById(2, true).getMembers();
+        List<UserGroupMember> members = userGroupDao.retrieveGroupById(2, true).getMembers();
         assertEquals(4, members.size());
-
         UserGroupMember m = members.get(1);
         Set<Role> roles = m.getRoles();
         assertEquals(2, roles.size());
-
         List<Role> sortedRoles = new ArrayList<>(roles);
         Collections.sort(sortedRoles);
-
-        assertEquals(PredefinedRole.USER_GROUP_MEMBER.name(),
-                sortedRoles.get(0).getName());
-        assertEquals(PredefinedRole.VC_ACCESS_MEMBER.name(),                
-                sortedRoles.get(1).getName());
+        assertEquals(PredefinedRole.USER_GROUP_MEMBER.name(), sortedRoles.get(0).getName());
+        assertEquals(PredefinedRole.VC_ACCESS_MEMBER.name(), sortedRoles.get(1).getName());
     }
 
     @Test
-    public void retrieveGroupByUserId () throws KustvaktException {
+    public void retrieveGroupByUserId() throws KustvaktException {
         List<UserGroup> group = userGroupDao.retrieveGroupByUserId("dory");
         assertEquals(2, group.size());
-
         group = userGroupDao.retrieveGroupByUserId("pearl");
         assertEquals(0, group.size());
     }
 
     @Test
-    public void addVCToGroup () throws KustvaktException {
+    public void addVCToGroup() throws KustvaktException {
         // dory group
         int groupId = 2;
-
         UserGroup group = userGroupDao.retrieveGroupById(groupId);
         String createdBy = "dory";
         String name = "dory new vc";
-        int id = virtualCorpusDao.createQuery(name,
-                ResourceType.PROJECT, QueryType.VIRTUAL_CORPUS,
-                CorpusAccess.PUB, "corpusSigle=WPD15", "", "", "", false,
-                createdBy, null, null);
-
+        int id = virtualCorpusDao.createQuery(name, ResourceType.PROJECT, QueryType.VIRTUAL_CORPUS, CorpusAccess.PUB, "corpusSigle=WPD15", "", "", "", false, createdBy, null, null);
         QueryDO virtualCorpus = virtualCorpusDao.retrieveQueryById(id);
-        userGroupDao.addQueryToGroup(virtualCorpus, createdBy,
-                QueryAccessStatus.ACTIVE, group);
-
+        userGroupDao.addQueryToGroup(virtualCorpus, createdBy, QueryAccessStatus.ACTIVE, group);
         List<QueryDO> vc = virtualCorpusDao.retrieveQueryByGroup(groupId);
         assertEquals(2, vc.size());
         assertEquals(name, vc.get(1).getName());
-
         // delete vc from group
         userGroupDao.deleteQueryFromGroup(virtualCorpus.getId(), groupId);
-
         vc = virtualCorpusDao.retrieveQueryByGroup(groupId);
         assertEquals(1, vc.size());
-
         // delete vc
         virtualCorpusDao.deleteQuery(virtualCorpus);
     }
diff --git a/full/src/test/java/de/ids_mannheim/korap/dao/UserGroupMemberDaoTest.java b/full/src/test/java/de/ids_mannheim/korap/dao/UserGroupMemberDaoTest.java
index 8b38d7b..93e3b78 100644
--- a/full/src/test/java/de/ids_mannheim/korap/dao/UserGroupMemberDaoTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/dao/UserGroupMemberDaoTest.java
@@ -1,22 +1,22 @@
 package de.ids_mannheim.korap.dao;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.List;
 import java.util.Set;
 
-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.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import de.ids_mannheim.korap.constant.PredefinedRole;
 import de.ids_mannheim.korap.entity.Role;
 import de.ids_mannheim.korap.entity.UserGroupMember;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@ExtendWith(SpringExtension.class)
 @ContextConfiguration("classpath:test-config.xml")
 public class UserGroupMemberDaoTest {
 
@@ -27,25 +27,22 @@
     private RoleDao roleDao;
 
     @Test
-    public void testRetrieveMemberByRole () throws KustvaktException {
+    public void testRetrieveMemberByRole() throws KustvaktException {
         // dory group
-        List<UserGroupMember> vcaAdmins = dao.retrieveMemberByRole(2,
-                PredefinedRole.VC_ACCESS_ADMIN.getId());
+        List<UserGroupMember> vcaAdmins = dao.retrieveMemberByRole(2, PredefinedRole.VC_ACCESS_ADMIN.getId());
         // System.out.println(vcaAdmins);
         assertEquals(1, vcaAdmins.size());
-        assertEquals("dory", vcaAdmins.get(0).getUserId());
+        assertEquals(vcaAdmins.get(0).getUserId(), "dory");
     }
 
     @Test
-    public void testAddSameMemberRole () throws KustvaktException {
+    public void testAddSameMemberRole() throws KustvaktException {
         UserGroupMember member = dao.retrieveMemberById("dory", 1);
         Set<Role> roles = member.getRoles();
-        Role adminRole = roleDao
-                .retrieveRoleById(PredefinedRole.USER_GROUP_ADMIN.getId());
+        Role adminRole = roleDao.retrieveRoleById(PredefinedRole.USER_GROUP_ADMIN.getId());
         roles.add(adminRole);
         member.setRoles(roles);
         dao.updateMember(member);
-
         member = dao.retrieveMemberById("dory", 1);
         member.getRoles();
         assertEquals(2, roles.size());
diff --git a/full/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusAccessDaoTest.java b/full/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusAccessDaoTest.java
index 57bcf81..6be38cf 100644
--- a/full/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusAccessDaoTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusAccessDaoTest.java
@@ -1,21 +1,21 @@
 package de.ids_mannheim.korap.dao;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.List;
 
-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.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import de.ids_mannheim.korap.constant.QueryAccessStatus;
 import de.ids_mannheim.korap.entity.QueryAccess;
 import de.ids_mannheim.korap.entity.UserGroup;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@ExtendWith(SpringExtension.class)
 @ContextConfiguration("classpath:test-config.xml")
 public class VirtualCorpusAccessDaoTest {
 
@@ -23,14 +23,12 @@
     private QueryAccessDao dao;
 
     @Test
-    public void getAccessByVC () throws KustvaktException {
+    public void getAccessByVC() throws KustvaktException {
         List<QueryAccess> vcaList = dao.retrieveActiveAccessByQuery(2);
         QueryAccess access = vcaList.get(0);
         assertEquals(QueryAccessStatus.ACTIVE, access.getStatus());
-        assertEquals("dory", access.getCreatedBy());
-        
+        assertEquals(access.getCreatedBy(), "dory");
         UserGroup group = access.getUserGroup();
         assertEquals(2, group.getId());
     }
-    
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java b/full/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
index 9f38cf8..02c4642 100644
--- a/full/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
@@ -1,15 +1,14 @@
 package de.ids_mannheim.korap.dao;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.util.Iterator;
 import java.util.List;
 
 import jakarta.persistence.PersistenceException;
 
-import org.hibernate.exception.GenericJDBCException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import de.ids_mannheim.korap.config.SpringJerseyTest;
@@ -26,42 +25,30 @@
     private QueryDao dao;
 
     @Test
-    public void testListVCByType () throws KustvaktException {
-        List<QueryDO> vcList =
-                dao.retrieveQueryByType(ResourceType.PUBLISHED, null, QueryType.VIRTUAL_CORPUS);
+    public void testListVCByType() throws KustvaktException {
+        List<QueryDO> vcList = dao.retrieveQueryByType(ResourceType.PUBLISHED, null, QueryType.VIRTUAL_CORPUS);
         assertEquals(1, vcList.size());
-
         QueryDO vc = vcList.get(0);
         assertEquals(4, vc.getId());
-        assertEquals("published-vc", vc.getName());
-        assertEquals("marlin", vc.getCreatedBy());
+        assertEquals(vc.getName(), "published-vc");
+        assertEquals(vc.getCreatedBy(), "marlin");
     }
 
     @Test
-    public void testSystemVC () throws KustvaktException {
+    public void testSystemVC() throws KustvaktException {
         // insert vc
-        int id = dao.createQuery("system-vc", ResourceType.SYSTEM,
-                QueryType.VIRTUAL_CORPUS, User.CorpusAccess.FREE,
-                "corpusSigle=GOE", "definition", "description", "experimental",
-                false, "test class", null, null);
-
+        int id = dao.createQuery("system-vc", ResourceType.SYSTEM, QueryType.VIRTUAL_CORPUS, User.CorpusAccess.FREE, "corpusSigle=GOE", "definition", "description", "experimental", false, "test class", null, null);
         // select vc
-        List<QueryDO> vcList =
-                dao.retrieveQueryByType(ResourceType.SYSTEM, null, QueryType.VIRTUAL_CORPUS);
+        List<QueryDO> vcList = dao.retrieveQueryByType(ResourceType.SYSTEM, null, QueryType.VIRTUAL_CORPUS);
         assertEquals(2, vcList.size());
-
         QueryDO vc = dao.retrieveQueryById(id);
         // delete vc
         dao.deleteQuery(vc);
-
         // check if vc has been deleted
-        KustvaktException exception =
-                assertThrows(KustvaktException.class, () -> {
-                    dao.retrieveQueryById(id);
-                });
-        
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                exception.getStatusCode().intValue());
+        KustvaktException exception = assertThrows(KustvaktException.class, () -> {
+            dao.retrieveQueryById(id);
+        });
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, exception.getStatusCode().intValue());
     }
 
     @Test
@@ -76,79 +63,73 @@
     }
 
     @Test
-    public void retrieveSystemVC () throws KustvaktException {
-        List<QueryDO> vc =
-                dao.retrieveQueryByType(ResourceType.SYSTEM, null, QueryType.VIRTUAL_CORPUS);
+    public void retrieveSystemVC() throws KustvaktException {
+        List<QueryDO> vc = dao.retrieveQueryByType(ResourceType.SYSTEM, null, QueryType.VIRTUAL_CORPUS);
         assertEquals(1, vc.size());
     }
 
     /**
      * retrieve private and group VC
-     * 
+     *
      * @throws KustvaktException
      */
     @Test
-    public void retrieveVCByUserDory () throws KustvaktException {
-        List<QueryDO> virtualCorpora =
-                dao.retrieveQueryByUser("dory", QueryType.VIRTUAL_CORPUS);
+    public void retrieveVCByUserDory() throws KustvaktException {
+        List<QueryDO> virtualCorpora = dao.retrieveQueryByUser("dory", QueryType.VIRTUAL_CORPUS);
         // System.out.println(virtualCorpora);
         assertEquals(4, virtualCorpora.size());
         // ordered by id
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals("dory-vc", i.next().getName());
-        assertEquals("group-vc", i.next().getName());
-        assertEquals("system-vc", i.next().getName());
-        assertEquals("published-vc", i.next().getName());
+        assertEquals(i.next().getName(), "dory-vc");
+        assertEquals(i.next().getName(), "group-vc");
+        assertEquals(i.next().getName(), "system-vc");
+        assertEquals(i.next().getName(), "published-vc");
     }
 
     /**
      * retrieves group VC and
      * excludes hidden published VC (user has never used it)
-     * 
+     *
      * @throws KustvaktException
      */
     @Test
-    public void retrieveVCByUserNemo () throws KustvaktException {
-        List<QueryDO> virtualCorpora =
-                dao.retrieveQueryByUser("nemo", QueryType.VIRTUAL_CORPUS);
+    public void retrieveVCByUserNemo() throws KustvaktException {
+        List<QueryDO> virtualCorpora = dao.retrieveQueryByUser("nemo", QueryType.VIRTUAL_CORPUS);
         assertEquals(3, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals("group-vc", i.next().getName());
-        assertEquals("system-vc", i.next().getName());
-        assertEquals("nemo-vc", i.next().getName());
+        assertEquals(i.next().getName(), "group-vc");
+        assertEquals(i.next().getName(), "system-vc");
+        assertEquals(i.next().getName(), "nemo-vc");
     }
 
     /**
      * retrieves published VC by the owner and
      * excludes group vc when a user is a pending member
-     * 
+     *
      * @throws KustvaktException
      */
     @Test
-    public void retrieveVCByUserMarlin () throws KustvaktException {
-        List<QueryDO> virtualCorpora =
-                dao.retrieveQueryByUser("marlin", QueryType.VIRTUAL_CORPUS);
+    public void retrieveVCByUserMarlin() throws KustvaktException {
+        List<QueryDO> virtualCorpora = dao.retrieveQueryByUser("marlin", QueryType.VIRTUAL_CORPUS);
         assertEquals(3, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals("system-vc", i.next().getName());
-        assertEquals("published-vc", i.next().getName());
-        assertEquals("marlin-vc", i.next().getName());
+        assertEquals(i.next().getName(), "system-vc");
+        assertEquals(i.next().getName(), "published-vc");
+        assertEquals(i.next().getName(), "marlin-vc");
     }
 
     /**
      * retrieves published VC from an auto-generated hidden group and
      * excludes group vc when a user is a deleted member
-     * 
+     *
      * @throws KustvaktException
      */
     @Test
-    public void retrieveVCByUserPearl () throws KustvaktException {
-        List<QueryDO> virtualCorpora =
-                dao.retrieveQueryByUser("pearl", QueryType.VIRTUAL_CORPUS);
+    public void retrieveVCByUserPearl() throws KustvaktException {
+        List<QueryDO> virtualCorpora = dao.retrieveQueryByUser("pearl", QueryType.VIRTUAL_CORPUS);
         assertEquals(2, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals("system-vc", i.next().getName());
-        assertEquals("published-vc", i.next().getName());
+        assertEquals(i.next().getName(), "system-vc");
+        assertEquals(i.next().getName(), "published-vc");
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/BCryptTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/BCryptTest.java
index 37d81a0..a679a12 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/BCryptTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/BCryptTest.java
@@ -1,21 +1,19 @@
 package de.ids_mannheim.korap.misc;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.mindrot.jbcrypt.BCrypt;
 
 public class BCryptTest {
 
     @Test
-    public void testSalt () {
+    public void testSalt() {
         String salt = BCrypt.gensalt(8);
-//        System.out.println(salt);
-
+        // System.out.println(salt);
         String plain = "secret";
         String password = BCrypt.hashpw(plain, salt);
-//        System.out.println(password);
-        
+        // System.out.println(password);
         assertTrue(BCrypt.checkpw(plain, password));
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/CollectionQueryBuilderTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/CollectionQueryBuilderTest.java
index 8e46259..980d749 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/CollectionQueryBuilderTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/CollectionQueryBuilderTest.java
@@ -1,11 +1,10 @@
 package de.ids_mannheim.korap.misc;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
 
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.query.serialize.QuerySerializer;
 import de.ids_mannheim.korap.utils.JsonUtils;
@@ -18,350 +17,271 @@
 public class CollectionQueryBuilderTest {
 
     @Test
-    public void testsimpleAdd () throws KustvaktException {
+    public void testsimpleAdd() throws KustvaktException {
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.with("corpusSigle=WPD");
-
         JsonNode node = JsonUtils.readTree(b.toJSON());
-
         assertNotNull(node);
-        assertEquals("koral:doc", node.at("/collection/@type").asText());
-        assertEquals("corpusSigle", node.at("/collection/key").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/key").asText(), "corpusSigle");
     }
 
-
     @Test
-    public void testSimpleConjunction () throws KustvaktException {
+    public void testSimpleConjunction() throws KustvaktException {
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.with("corpusSigle=WPD & textClass=freizeit");
         JsonNode node = JsonUtils.readTree(b.toJSON());
-
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("operation:and", node.at("/collection/operation").asText());
-
-        assertEquals("corpusSigle", node.at("/collection/operands/0/key")
-                .asText());
-        assertEquals("textClass", node.at("/collection/operands/1/key")
-                .asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
+        assertEquals(node.at("/collection/operands/0/key").asText(), "corpusSigle");
+        assertEquals(node.at("/collection/operands/1/key").asText(), "textClass");
     }
 
-
     @Test
-    public void testSimpleDisjunction () throws KustvaktException {
+    public void testSimpleDisjunction() throws KustvaktException {
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.with("corpusSigle=WPD | textClass=freizeit");
         JsonNode node = JsonUtils.readTree(b.toJSON());
-
         assertNotNull(node);
         assert node.at("/collection/operation").asText().equals("operation:or");
-        assert node.at("/collection/operands/0/key").asText()
-                .equals("corpusSigle");
-        assert node.at("/collection/operands/1/key").asText()
-                .equals("textClass");
+        assert node.at("/collection/operands/0/key").asText().equals("corpusSigle");
+        assert node.at("/collection/operands/1/key").asText().equals("textClass");
     }
 
-
     @Test
-    public void testComplexSubQuery () throws KustvaktException {
+    public void testComplexSubQuery() throws KustvaktException {
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.with("(corpusSigle=WPD) | (textClass=freizeit & corpusSigle=BRZ13)");
         JsonNode node = JsonUtils.readTree(b.toJSON());
-
         assertNotNull(node);
         assert node.at("/collection/operation").asText().equals("operation:or");
-        assert node.at("/collection/operands/0/key").asText()
-                .equals("corpusSigle");
-        assert node.at("/collection/operands/1/@type").asText()
-                .equals("koral:docGroup");
-
+        assert node.at("/collection/operands/0/key").asText().equals("corpusSigle");
+        assert node.at("/collection/operands/1/@type").asText().equals("koral:docGroup");
     }
 
-
     @Test
-    public void testAddResourceQueryAfter () throws KustvaktException {
+    public void testAddResourceQueryAfter() throws KustvaktException {
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.with("(textClass=politik & title=\"random title\") | textClass=wissenschaft");
-
         KoralCollectionQueryBuilder c = new KoralCollectionQueryBuilder();
         c.setBaseQuery(b.toJSON());
         c.with("corpusSigle=WPD");
-
         JsonNode node = JsonUtils.readTree(c.toJSON());
         assertNotNull(node);
-        assertEquals("koral:doc", node.at("/collection/operands/1/@type")
-                .asText());
-        assertEquals("koral:docGroup", node.at("/collection/operands/0/@type")
-                .asText());
+        assertEquals(node.at("/collection/operands/1/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:docGroup");
         assertEquals(2, node.at("/collection/operands").size());
         assertEquals(2, node.at("/collection/operands/0/operands").size());
-        assertEquals(2, node.at("/collection/operands/0/operands/0/operands")
-                .size());
-
-        assertEquals("operation:and", node.at("/collection/operation").asText());
-        assertEquals("operation:or", node
-                .at("/collection/operands/0/operation").asText());
-        assertEquals("operation:and",
-                node.at("/collection/operands/0/operands/0/operation").asText());
-        assertEquals("WPD", node.at("/collection/operands/1/value").asText());
+        assertEquals(2, node.at("/collection/operands/0/operands/0/operands").size());
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
+        assertEquals(node.at("/collection/operands/0/operation").asText(), "operation:or");
+        assertEquals(node.at("/collection/operands/0/operands/0/operation").asText(), "operation:and");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "WPD");
     }
 
-
     @Test
-    public void testAddComplexResourceQueryAfter () throws KustvaktException {
+    public void testAddComplexResourceQueryAfter() throws KustvaktException {
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.with("(title=\"random title\") | (textClass=wissenschaft)");
-
         KoralCollectionQueryBuilder c = new KoralCollectionQueryBuilder();
         c.setBaseQuery(b.toJSON());
         c.with("(corpusSigle=BRZ13 | corpusSigle=AZPS)");
-
         JsonNode node = JsonUtils.readTree(c.toJSON());
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/operands/0/@type")
-                .asText());
-        assertEquals("koral:docGroup", node.at("/collection/operands/1/@type")
-                .asText());
-        assertEquals("BRZ13", node
-                .at("/collection/operands/1/operands/0/value").asText());
-        assertEquals("AZPS", node.at("/collection/operands/1/operands/1/value")
-                .asText());
-        assertEquals("random title",
-                node.at("/collection/operands/0/operands/0/value").asText());
-        assertEquals("wissenschaft",
-                node.at("/collection/operands/0/operands/1/value").asText());
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operands/1/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operands/1/operands/0/value").asText(), "BRZ13");
+        assertEquals(node.at("/collection/operands/1/operands/1/value").asText(), "AZPS");
+        assertEquals(node.at("/collection/operands/0/operands/0/value").asText(), "random title");
+        assertEquals(node.at("/collection/operands/0/operands/1/value").asText(), "wissenschaft");
     }
 
-
     @Test
-    public void testBuildQuery () throws KustvaktException {
+    public void testBuildQuery() throws KustvaktException {
         String coll = "corpusSigle=WPD";
         String query = "[base=Haus]";
         QuerySerializer check = new QuerySerializer();
         check.setQuery(query, "poliqarp");
         check.setCollection(coll);
-
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.setBaseQuery(check.toJSON());
         b.with("textClass=freizeit");
-
         JsonNode res = (JsonNode) b.rebaseCollection();
         assertNotNull(res);
-        assertEquals("koral:docGroup", res.at("/collection/@type").asText());
-        assertEquals("operation:and", res.at("/collection/operation").asText());
-        assertEquals("koral:doc", res.at("/collection/operands/0/@type")
-                .asText());
-        assertEquals("freizeit", res.at("/collection/operands/1/value")
-                .asText());
-        assertEquals("textClass", res.at("/collection/operands/1/key").asText());
-
-        assertEquals("koral:doc", res.at("/collection/operands/1/@type")
-                .asText());
-        assertEquals("WPD", res.at("/collection/operands/0/value").asText());
-        assertEquals("corpusSigle", res.at("/collection/operands/0/key")
-                .asText());
-
+        assertEquals(res.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(res.at("/collection/operation").asText(), "operation:and");
+        assertEquals(res.at("/collection/operands/0/@type").asText(), "koral:doc");
+        assertEquals(res.at("/collection/operands/1/value").asText(), "freizeit");
+        assertEquals(res.at("/collection/operands/1/key").asText(), "textClass");
+        assertEquals(res.at("/collection/operands/1/@type").asText(), "koral:doc");
+        assertEquals(res.at("/collection/operands/0/value").asText(), "WPD");
+        assertEquals(res.at("/collection/operands/0/key").asText(), "corpusSigle");
         // check also that query is still there
-        assertEquals("koral:token", res.at("/query/@type").asText());
-        assertEquals("koral:term", res.at("/query/wrap/@type").asText());
-        assertEquals("Haus", res.at("/query/wrap/key").asText());
-        assertEquals("lemma", res.at("/query/wrap/layer").asText());
+        assertEquals(res.at("/query/@type").asText(), "koral:token");
+        assertEquals(res.at("/query/wrap/@type").asText(), "koral:term");
+        assertEquals(res.at("/query/wrap/key").asText(), "Haus");
+        assertEquals(res.at("/query/wrap/layer").asText(), "lemma");
     }
 
-
     @Test
-    public void testBaseQueryBuild () throws KustvaktException {
+    public void testBaseQueryBuild() throws KustvaktException {
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.with("(corpusSigle=ADF) | (textClass=freizeit & corpusSigle=WPD)");
-
         KoralCollectionQueryBuilder c = new KoralCollectionQueryBuilder();
         c.setBaseQuery(b.toJSON());
-
         c.with("corpusSigle=BRZ13");
         JsonNode base = (JsonNode) c.rebaseCollection();
         assertNotNull(base);
         assertEquals(base.at("/collection/@type").asText(), "koral:docGroup");
-        assertEquals(base.at("/collection/operands/1/@type").asText(),
-                "koral:doc");
+        assertEquals(base.at("/collection/operands/1/@type").asText(), "koral:doc");
         assertEquals(base.at("/collection/operands/1/value").asText(), "BRZ13");
-        assertEquals(base.at("/collection/operands/0/@type").asText(),
-                "koral:docGroup");
+        assertEquals(base.at("/collection/operands/0/@type").asText(), "koral:docGroup");
         assertEquals(base.at("/collection/operands/0/operands").size(), 2);
     }
 
-
     @Test
-    public void testNodeMergeWithBase () throws KustvaktException {
+    public void testNodeMergeWithBase() throws KustvaktException {
         String coll = "corpusSigle=WPD";
         String query = "[base=Haus]";
         QuerySerializer check = new QuerySerializer();
         check.setQuery(query, "poliqarp");
         check.setCollection(coll);
-
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.setBaseQuery(check.toJSON());
-
         KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
         test.with("textClass=wissenschaft | textClass=politik");
         JsonNode node = (JsonNode) test.rebaseCollection();
         node = b.mergeWith(node);
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("operation:and", node.at("/collection/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
         assertEquals(2, node.at("/collection/operands").size());
     }
 
-
     @Test
-    public void testNodeMergeWithoutBase () throws KustvaktException {
+    public void testNodeMergeWithoutBase() throws KustvaktException {
         String query = "[base=Haus]";
         QuerySerializer check = new QuerySerializer();
         check.setQuery(query, "poliqarp");
-
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.setBaseQuery(check.toJSON());
-
         KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
         test.with("corpusSigle=WPD");
-//        String json = test.toJSON();
-//        System.out.println(json);
-        //JsonNode node = (JsonNode) test.rebaseCollection(null);
-        //node = b.mergeWith(node);
-        //assertNotNull(node);
-        //assertEquals("koral:doc", node.at("/collection/@type").asText());
-        //assertEquals("corpusSigle", node.at("/collection/key").asText());
+        // String json = test.toJSON();
+        // System.out.println(json);
+        // JsonNode node = (JsonNode) test.rebaseCollection(null);
+        // node = b.mergeWith(node);
+        // assertNotNull(node);
+        // assertEquals("koral:doc", node.at("/collection/@type").asText());
+        // assertEquals("corpusSigle", node.at("/collection/key").asText());
     }
 
-
     @Test
-    public void testNodeMergeWithoutBaseWrongOperator () throws KustvaktException {
+    public void testNodeMergeWithoutBaseWrongOperator() throws KustvaktException {
         String query = "[base=Haus]";
         QuerySerializer check = new QuerySerializer();
         check.setQuery(query, "poliqarp");
-
         KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
         b.setBaseQuery(check.toJSON());
-
         KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
         // operator is not supposed to be here!
         test.and().with("corpusSigle=WPD");
-//        String json = test.toJSON();
-//        System.out.println(json);
-        //JsonNode node = (JsonNode) test.rebaseCollection(null);
-        //node = b.mergeWith(node);
-        //assertNotNull(node);
-        //assertEquals("koral:doc", node.at("/collection/@type").asText());
-        //assertEquals("corpusSigle", node.at("/collection/key").asText());
+        // String json = test.toJSON();
+        // System.out.println(json);
+        // JsonNode node = (JsonNode) test.rebaseCollection(null);
+        // node = b.mergeWith(node);
+        // assertNotNull(node);
+        // assertEquals("koral:doc", node.at("/collection/@type").asText());
+        // assertEquals("corpusSigle", node.at("/collection/key").asText());
     }
 
-
     @Test
-    public void testStoredCollectionBaseQueryBuild () {
-
+    public void testStoredCollectionBaseQueryBuild() {
     }
 
-
     @Test
-    public void testAddOROperator () throws KustvaktException {
+    public void testAddOROperator() throws KustvaktException {
         String coll = "corpusSigle=WPD";
         String query = "[base=Haus]";
         QuerySerializer check = new QuerySerializer();
         check.setQuery(query, "poliqarp");
         check.setCollection(coll);
-
         KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
         test.setBaseQuery(check.toJSON());
         test.or().with("textClass=wissenschaft | textClass=politik");
         JsonNode node = (JsonNode) test.rebaseCollection();
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("operation:or", node.at("/collection/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operation").asText(), "operation:or");
         assertEquals(2, node.at("/collection/operands/1/operands").size());
     }
 
-
     @Test
-    public void testAddANDOperator () throws KustvaktException {
+    public void testAddANDOperator() throws KustvaktException {
         String coll = "corpusSigle=WPD";
         String query = "[base=Haus]";
         QuerySerializer check = new QuerySerializer();
         check.setQuery(query, "poliqarp");
         check.setCollection(coll);
-
         KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
         test.setBaseQuery(check.toJSON());
         test.and().with("textClass=wissenschaft | textClass=politik");
         JsonNode node = (JsonNode) test.rebaseCollection();
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("operation:and", node.at("/collection/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
         assertEquals(2, node.at("/collection/operands/1/operands").size());
     }
 
-
     @Test
-    public void testAddDefaultOperator () throws KustvaktException {
+    public void testAddDefaultOperator() throws KustvaktException {
         String coll = "corpusSigle=WPD";
         String query = "[base=Haus]";
         QuerySerializer check = new QuerySerializer();
         check.setQuery(query, "poliqarp");
         check.setCollection(coll);
-
         KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
         test.setBaseQuery(check.toJSON());
         test.with("textClass=wissenschaft | textClass=politik");
         JsonNode node = (JsonNode) test.rebaseCollection();
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("operation:and", node.at("/collection/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
         assertEquals(2, node.at("/collection/operands/1/operands").size());
     }
 
     @Test
-    public void testBaseCollectionNull () throws KustvaktException {
+    public void testBaseCollectionNull() throws KustvaktException {
         // base is missing collection segment
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[base=Haus]", "poliqarp");
-
         KoralCollectionQueryBuilder total = new KoralCollectionQueryBuilder();
         total.setBaseQuery(s.toJSON());
-
         KoralCollectionQueryBuilder builder = new KoralCollectionQueryBuilder();
         builder.with("textClass=politik & corpusSigle=WPD");
-        JsonNode node = total.and().mergeWith(
-                (JsonNode) builder.rebaseCollection());
-
+        JsonNode node = total.and().mergeWith((JsonNode) builder.rebaseCollection());
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("operation:and", node.at("/collection/operation").asText());
-        assertEquals("koral:doc", node.at("/collection/operands/0/@type")
-                .asText());
-        assertEquals("koral:doc", node.at("/collection/operands/1/@type")
-                .asText());
-        assertEquals("textClass", node.at("/collection/operands/0/key")
-                .asText());
-        assertEquals("corpusSigle", node.at("/collection/operands/1/key")
-                .asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/1/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/0/key").asText(), "textClass");
+        assertEquals(node.at("/collection/operands/1/key").asText(), "corpusSigle");
     }
 
-
     @Test
-    public void testMergeCollectionNull () throws KustvaktException {
+    public void testMergeCollectionNull() throws KustvaktException {
         // merge json is missing collection segment
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[base=Haus]", "poliqarp");
         s.setCollection("textClass=wissenschaft");
-
         KoralCollectionQueryBuilder total = new KoralCollectionQueryBuilder();
         total.setBaseQuery(s.toJSON());
-
         KoralCollectionQueryBuilder builder = new KoralCollectionQueryBuilder();
-        JsonNode node = total.and().mergeWith(
-                (JsonNode) builder.rebaseCollection());
+        JsonNode node = total.and().mergeWith((JsonNode) builder.rebaseCollection());
         assertNotNull(node);
-        assertEquals("koral:doc", node.at("/collection/@type").asText());
-        assertEquals("textClass", node.at("/collection/key").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/key").asText(), "textClass");
     }
-
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/ConfigTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/ConfigTest.java
index ffe1c51..7fa7e33 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/ConfigTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/ConfigTest.java
@@ -1,23 +1,22 @@
 package de.ids_mannheim.korap.misc;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import de.ids_mannheim.korap.config.ConfigLoader;
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.utils.ServiceInfo;
 import de.ids_mannheim.korap.utils.TimeUtils;
 
-/** 
+/**
  * @author hanl
  * @date 02/09/2015
  */
@@ -27,34 +26,28 @@
     KustvaktConfiguration config;
 
     @Test
-    public void testConfigLoader () {
+    public void testConfigLoader() {
         InputStream stream = ConfigLoader.loadConfigStream("kustvakt.conf");
         assertNotNull(stream);
     }
 
-
     @Test
-    public void testPropertyLoader () throws IOException {
+    public void testPropertyLoader() throws IOException {
         Properties p = ConfigLoader.loadProperties("kustvakt.conf");
         assertNotNull(p);
     }
 
     @Test
-    public void testServiceInfo () {
+    public void testServiceInfo() {
         String version = ServiceInfo.getInfo().getVersion();
         String name = ServiceInfo.getInfo().getName();
-        assertNotEquals("wrong version", "UNKNOWN", version);
-        assertNotEquals("wrong name", "UNKNOWN", name);
+        assertNotEquals("UNKNOWN", version, "wrong version");
+        assertNotEquals("UNKNOWN", name, "wrong name");
     }
 
-
     @Test
-    public void testProperties () {
-        assertEquals("token layer does not match", "opennlp", config.getDefault_orthography());
-        assertEquals("token expiration does not match",
-                TimeUtils.convertTimeToSeconds("1D"), config.getLongTokenTTL());
+    public void testProperties() {
+        assertEquals("opennlp", config.getDefault_orthography(), "token layer does not match");
+        assertEquals(TimeUtils.convertTimeToSeconds("1D"), config.getLongTokenTTL(), "token expiration does not match");
     }
-
-
-   
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/KoralNodeTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/KoralNodeTest.java
index c4fbbef..7e974f3 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/KoralNodeTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/KoralNodeTest.java
@@ -1,10 +1,9 @@
 package de.ids_mannheim.korap.misc;
-import static org.junit.Assert.assertEquals;
 
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.node.ObjectNode;
-
 import de.ids_mannheim.korap.rewrite.KoralNode;
 import de.ids_mannheim.korap.utils.JsonUtils;
 
@@ -17,38 +16,33 @@
 
     // todo: 21.10.15 --> e.g. injection does not tell you if an entire node was injected, or just a value!
     @Test
-    public void addToNode () {
+    public void addToNode() {
         ObjectNode node = JsonUtils.createObjectNode();
         KoralNode knode = KoralNode.wrapNode(node);
         knode.put("value_1", "setting_1");
-
-        assertEquals("{\"value_1\":\"setting_1\"}",knode.rawNode().toString());
+        assertEquals(knode.rawNode().toString(), "{\"value_1\":\"setting_1\"}");
     }
 
-
     @Test
-    public void removeFromNode () {
+    public void removeFromNode() {
         ObjectNode node = JsonUtils.createObjectNode();
         node.put("value_1", "setting_1");
         KoralNode knode = KoralNode.wrapNode(node);
         knode.remove("value_1", null);
-        assertEquals("{}",knode.rawNode().toString());
+        assertEquals(knode.rawNode().toString(), "{}");
     }
 
-
     @Test
-    public void replaceObject () {
+    public void replaceObject() {
         ObjectNode node = JsonUtils.createObjectNode();
         node.put("value_1", "setting_1");
         KoralNode knode = KoralNode.wrapNode(node);
         knode.replace("value_1", "settings_2", null);
-        assertEquals("{\"value_1\":\"settings_2\"}",knode.rawNode().toString());
+        assertEquals(knode.rawNode().toString(), "{\"value_1\":\"settings_2\"}");
     }
 
-
     // todo: 21.10.15 --> if a node is injected, that node must contain a "rewrites" reference?!
     @Test
-    public void addNodeToKoral () {
-
+    public void addNodeToKoral() {
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/LocalQueryTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/LocalQueryTest.java
index ecf00c2..a7b5c01 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/LocalQueryTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/LocalQueryTest.java
@@ -1,13 +1,13 @@
 package de.ids_mannheim.korap.misc;
-import static org.junit.Assert.assertNotNull;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.io.IOException;
 
 import jakarta.annotation.PostConstruct;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import de.ids_mannheim.korap.KrillCollection;
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
@@ -29,18 +29,16 @@
     KustvaktConfiguration config;
 
     @PostConstruct
-    public void setup () throws Exception {
+    public void setup() throws Exception {
         index = config.getIndexDir();
     }
 
-
     @Test
-    public void testQuery () throws KustvaktException {
+    public void testQuery() throws KustvaktException {
         String qstring = "creationDate since 1786 & creationDate until 1788";
-        //        qstring = "creationDate since 1765 & creationDate until 1768";
-        //        qstring = "textType = Aphorismus";
-        //        qstring = "title ~ \"Werther\"";
-        
+        // qstring = "creationDate since 1765 & creationDate until 1768";
+        // qstring = "textType = Aphorismus";
+        // qstring = "title ~ \"Werther\"";
         SearchKrill krill = new SearchKrill(index);
         KoralCollectionQueryBuilder coll = new KoralCollectionQueryBuilder();
         coll.with(qstring);
@@ -48,13 +46,11 @@
         assert stats != null && !stats.isEmpty() && !stats.equals("null");
     }
 
-
     @Test
-    public void testCollQuery () throws IOException, KustvaktException {
+    public void testCollQuery() throws IOException, KustvaktException {
         String qstring = "creationDate since 1800 & creationDate until 1820";
         CollectionQueryProcessor processor = new CollectionQueryProcessor();
         processor.process(qstring);
-
         String s = JsonUtils.toJSON(processor.getRequestMap());
         KrillCollection c = new KrillCollection(s);
         c.setIndex(new SearchKrill(index).getIndex());
@@ -62,9 +58,8 @@
         assert docs > 0 && docs < 15;
     }
 
-
     @Test
-    public void testCollQuery2 () throws IOException {
+    public void testCollQuery2() throws IOException {
         String query = "{\"@context\":\"http://korap.ids-mannheim.de/ns/koral/0.3/context.jsonld\",\"errors\":[],\"warnings\":[],\"messages\":[],\"collection\":{\"@type\":\"koral:docGroup\",\"operation\":\"operation:and\",\"operands\":[{\"@type\":\"koral:doc\",\"key\":\"creationDate\",\"type\":\"type:date\",\"value\":\"1786\",\"match\":\"match:geq\"},{\"@type\":\"koral:doc\",\"key\":\"creationDate\",\"type\":\"type:date\",\"value\":\"1788\",\"match\":\"match:leq\"}]},\"query\":{},\"meta\":{}}";
         KrillCollection c = new KrillCollection(query);
         c.setIndex(new SearchKrill(index).getIndex());
@@ -73,5 +68,4 @@
         assertNotNull(sent);
         assertNotNull(docs);
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/MapUtilsTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/MapUtilsTest.java
index cdf93e6..35e995e 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/MapUtilsTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/MapUtilsTest.java
@@ -1,11 +1,10 @@
 package de.ids_mannheim.korap.misc;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.Map;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import de.ids_mannheim.korap.web.utils.MapUtils;
 import edu.emory.mathcs.backport.java.util.Arrays;
 import jakarta.ws.rs.core.MultivaluedHashMap;
@@ -15,27 +14,25 @@
 
     @SuppressWarnings("unchecked")
     @Test
-    public void testConvertToMap () {
+    public void testConvertToMap() {
         MultivaluedMap<String, String> mm = new MultivaluedHashMap<String, String>();
-        mm.put("k1", Arrays.asList(new String[] { "a", "b", "c" }));
-        mm.put("k2", Arrays.asList(new String[] { "d", "e", "f" }));
-
+        mm.put("k1", Arrays.asList(new String[]{"a", "b", "c"}));
+        mm.put("k2", Arrays.asList(new String[]{"d", "e", "f"}));
         Map<String, String> map = MapUtils.toMap(mm);
-        assertEquals("a b c", map.get("k1"));
-        assertEquals("d e f", map.get("k2"));
+        assertEquals(map.get("k1"), "a b c");
+        assertEquals(map.get("k2"), "d e f");
     }
 
     @Test
-    public void testConvertNullMap () {
+    public void testConvertNullMap() {
         Map<String, String> map = MapUtils.toMap(null);
         assertEquals(0, map.size());
     }
 
     @Test
-    public void testConvertEmptyMap () {
+    public void testConvertEmptyMap() {
         MultivaluedMap<String, String> mm = new MultivaluedHashMap<String, String>();
         Map<String, String> map = MapUtils.toMap(mm);
         assertEquals(0, map.size());
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/MetaQueryBuilderTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/MetaQueryBuilderTest.java
index d00f6bb..c6328c3 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/MetaQueryBuilderTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/MetaQueryBuilderTest.java
@@ -1,28 +1,26 @@
 package de.ids_mannheim.korap.misc;
+
 import de.ids_mannheim.korap.config.QueryBuilderUtil;
 import de.ids_mannheim.korap.query.serialize.MetaQueryBuilder;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.util.Map;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 
 /**
  * Created by hanl on 17.04.16.
  */
 public class MetaQueryBuilderTest {
 
-
-
     @Test
-    public void testSpanContext () {
-        MetaQueryBuilder m = QueryBuilderUtil.defaultMetaBuilder(0, 1, 5,
-                "sentence", false);
+    public void testSpanContext() {
+        MetaQueryBuilder m = QueryBuilderUtil.defaultMetaBuilder(0, 1, 5, "sentence", false);
         Map<?, ?> map = m.raw();
-        assertEquals("sentence", map.get("context"));
+        assertEquals(map.get("context"), "sentence");
         assertEquals(1, map.get("startPage"));
         assertEquals(0, map.get("startIndex"));
         assertEquals(false, map.get("cutOff"));
-
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/RegexTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/RegexTest.java
index 8bb0ecd..518ae39 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/RegexTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/RegexTest.java
@@ -1,22 +1,20 @@
 package de.ids_mannheim.korap.misc;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.regex.Matcher;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import de.ids_mannheim.korap.annotation.AnnotationParser;
 
 public class RegexTest {
 
     @Test
-    public void testQuote(){
+    public void testQuote() {
         String s = "ah[\"-\"]";
         Matcher m = AnnotationParser.quotePattern.matcher(s);
-        if (m.find()){
-            assertEquals("-",m.group(1));
+        if (m.find()) {
+            assertEquals(m.group(1), "-");
         }
     }
-    
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/ScopesTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/ScopesTest.java
new file mode 100644
index 0000000..4d82706
--- /dev/null
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/ScopesTest.java
@@ -0,0 +1,18 @@
+package de.ids_mannheim.korap.misc;
+
+import org.junit.jupiter.api.Test;
+
+/**
+ * @author hanl
+ * @date 20/01/2016
+ */
+public class ScopesTest {
+
+    @Test
+    public void testScopes() {
+    }
+
+    @Test
+    public void testOpenIDScopes() {
+    }
+}
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/SerializationTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/SerializationTest.java
index 0d2a912..7471e12 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/SerializationTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/SerializationTest.java
@@ -1,24 +1,23 @@
 package de.ids_mannheim.korap.misc;
-import org.junit.Ignore;
-import org.junit.Test;
+
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 /**
  * @author hanl
  * @date 21/01/2016
  */
-@Ignore
+@Disabled
 public class SerializationTest {
 
     @Test
-    public void testSettingsObject () {
-//        String t = "poliqarp_test";
-
-        //        UserSettings s = new UserSettings();
-        //        Map map = s.toObjectMap();
-        //        map.put(Attributes.QUERY_LANGUAGE, t);
-        //        s.updateObjectSettings(map);
-        //
-        //        assert s.getQueryLanguage().equals(t);
-
+    public void testSettingsObject() {
+        // String t = "poliqarp_test";
+        // UserSettings s = new UserSettings();
+        // Map map = s.toObjectMap();
+        // map.put(Attributes.QUERY_LANGUAGE, t);
+        // s.updateObjectSettings(map);
+        // 
+        // assert s.getQueryLanguage().equals(t);
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/ServiceSuite.java b/full/src/test/java/de/ids_mannheim/korap/misc/ServiceSuite.java
index 662b96a..ac2c8a1 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/ServiceSuite.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/ServiceSuite.java
@@ -1,11 +1,7 @@
 package de.ids_mannheim.korap.misc;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
 
 /**
  * @author hanl
  * @date 29/02/2016
  */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({ ConfigTest.class })
 public class ServiceSuite {}
diff --git a/full/src/test/java/de/ids_mannheim/korap/misc/StringUtilsTest.java b/full/src/test/java/de/ids_mannheim/korap/misc/StringUtilsTest.java
index a2c8ea6..657ba0b 100644
--- a/full/src/test/java/de/ids_mannheim/korap/misc/StringUtilsTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/misc/StringUtilsTest.java
@@ -1,10 +1,9 @@
 package de.ids_mannheim.korap.misc;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.apache.commons.codec.binary.Base64;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import de.ids_mannheim.korap.authentication.http.AuthorizationData;
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.authentication.http.TransferEncoding;
@@ -16,29 +15,23 @@
  */
 public class StringUtilsTest {
 
-
     @Test
-    public void testTextIToDoc () {
+    public void testTextIToDoc() {
         String textSigle = "WPD_AAA.02439";
         String docSigle = "WPD_AAA";
         assertEquals(docSigle, StringUtils.getDocSigle(textSigle));
         assertEquals(docSigle, StringUtils.getDocSigle(docSigle));
     }
 
-
     @Test
-    public void testBasicHttpSplit () throws KustvaktException {
+    public void testBasicHttpSplit() throws KustvaktException {
         String s2 = new String(Base64.encodeBase64("test:testPass".getBytes()));
         String[] f2 = TransferEncoding.decodeBase64(s2);
-        assertEquals("test", f2[0]);
-        assertEquals("testPass", f2[1]);
-
-
+        assertEquals(f2[0], "test");
+        assertEquals(f2[1], "testPass");
         HttpAuthorizationHandler handler = new HttpAuthorizationHandler();
-        String s1 = "basic "
-                + new String(Base64.encodeBase64("test:testPass".getBytes()));
+        String s1 = "basic " + new String(Base64.encodeBase64("test:testPass".getBytes()));
         AuthorizationData f1 = handler.parseAuthorizationHeaderValue(s1);
         assertEquals(s2, f1.getToken());
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/rewrite/CollectionRewriteTest.java b/full/src/test/java/de/ids_mannheim/korap/rewrite/CollectionRewriteTest.java
index e820f28..ae8e39b 100644
--- a/full/src/test/java/de/ids_mannheim/korap/rewrite/CollectionRewriteTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/rewrite/CollectionRewriteTest.java
@@ -1,13 +1,11 @@
 package de.ids_mannheim.korap.rewrite;
 
-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.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.config.TestVariables;
@@ -24,75 +22,56 @@
 
     @Autowired
     public KustvaktConfiguration config;
-    
+
     @Test
-    public void testCollectionNodeRemoveCorpusIdNoErrors ()
-            throws KustvaktException {
+    public void testCollectionNodeRemoveCorpusIdNoErrors() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionConstraint.class);
         QuerySerializer s = new QuerySerializer();
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("textClass=politik & corpusSigle=WPD");
         String result = s.toJSON();
-        JsonNode node = JsonUtils.readTree(handler.processQuery(result,
-                User.UserFactory.getUser("test_user")));
+        JsonNode node = JsonUtils.readTree(handler.processQuery(result, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
         assertEquals(1, node.at("/collection/operands").size());
     }
 
-
     @Test
-    public void testCollectionNodeDeletionNotification () {
-
+    public void testCollectionNodeDeletionNotification() {
     }
 
-
     @Test
-    public void testCollectionNodeRemoveAllCorpusIdNoErrors ()
-            throws KustvaktException {
+    public void testCollectionNodeRemoveAllCorpusIdNoErrors() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionConstraint.class);
         QuerySerializer s = new QuerySerializer();
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("corpusSigle=BRZ13 & corpusSigle=WPD");
         String result = s.toJSON();
-
-        JsonNode node = JsonUtils.readTree(handler.processQuery(result,
-                User.UserFactory.getUser("test_user")));
-
+        JsonNode node = JsonUtils.readTree(handler.processQuery(result, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
         assertEquals(0, node.at("/collection/operands").size());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
     }
 
-
     @Test
-    public void testCollectionNodeRemoveGroupedCorpusIdNoErrors ()
-            throws KustvaktException {
+    public void testCollectionNodeRemoveGroupedCorpusIdNoErrors() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionConstraint.class);
         QuerySerializer s = new QuerySerializer();
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("(corpusSigle=BRZ13 & textClass=Wissenschaft) & corpusSigle=WPD");
         String result = s.toJSON();
-        JsonNode node = JsonUtils.readTree(handler.processQuery(result,
-                User.UserFactory.getUser("test_user")));
-
+        JsonNode node = JsonUtils.readTree(handler.processQuery(result, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/operands/0/@type")
-                .asText());
-        assertEquals("textClass",
-                node.at("/collection/operands/0/operands/0/key").asText());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operands/0/operands/0/key").asText(), "textClass");
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
     }
 
-
-    //fixme: will probably fail when one doc groups are being refactored
+    // fixme: will probably fail when one doc groups are being refactored
     @Test
-    public void testCollectionCleanEmptyDocGroupNoErrors ()
-            throws KustvaktException {
+    public void testCollectionCleanEmptyDocGroupNoErrors() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionConstraint.class);
         handler.add(CollectionCleanRewrite.class);
@@ -100,26 +79,17 @@
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("(corpusSigle=BRZ13 & corpusSigle=WPD) & textClass=Wissenschaft & textClass=Sport");
         String result = s.toJSON();
-
-        JsonNode node = JsonUtils.readTree(handler.processQuery(result,
-                User.UserFactory.getUser("test_user")));
-
+        JsonNode node = JsonUtils.readTree(handler.processQuery(result, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
         assertEquals(2, node.at("/collection/operands").size());
-
-        assertEquals("textClass", node.at("/collection/operands/0/key")
-                .asText());
-        assertEquals("textClass", node.at("/collection/operands/1/key")
-                .asText());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
+        assertEquals(node.at("/collection/operands/0/key").asText(), "textClass");
+        assertEquals(node.at("/collection/operands/1/key").asText(), "textClass");
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
     }
 
-
     @Test
-    public void testCollectionCleanMoveOneDocFromGroupUpNoErrors ()
-            throws KustvaktException {
+    public void testCollectionCleanMoveOneDocFromGroupUpNoErrors() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionConstraint.class);
         handler.add(CollectionCleanRewrite.class);
@@ -127,20 +97,16 @@
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("(corpusSigle=BRZ13 & textClass=wissenschaft)");
         String result = s.toJSON();
-        JsonNode node = JsonUtils.readTree(handler.processQuery(result,
-                User.UserFactory.getUser("test_user")));
+        JsonNode node = JsonUtils.readTree(handler.processQuery(result, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
-        assertEquals("koral:doc", node.at("/collection/@type").asText());
-        assertEquals("textClass", node.at("/collection/key").asText());
-        assertEquals("wissenschaft", node.at("/collection/value").asText());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/key").asText(), "textClass");
+        assertEquals(node.at("/collection/value").asText(), "wissenschaft");
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
     }
 
-
     @Test
-    public void testCollectionCleanEmptyGroupAndMoveOneFromGroupUpNoErrors ()
-            throws KustvaktException {
+    public void testCollectionCleanEmptyGroupAndMoveOneFromGroupUpNoErrors() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionConstraint.class);
         handler.add(CollectionCleanRewrite.class);
@@ -148,20 +114,15 @@
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("(corpusSigle=BRZ13 & corpusSigle=WPD) & textClass=Wissenschaft");
         String result = s.toJSON();
-        JsonNode node = JsonUtils.readTree(handler.processQuery(result,
-                User.UserFactory.getUser("test_user")));
-
+        JsonNode node = JsonUtils.readTree(handler.processQuery(result, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
-        assertEquals("koral:doc", node.at("/collection/@type").asText());
-        assertEquals("textClass", node.at("/collection/key").asText());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/key").asText(), "textClass");
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
     }
 
-
     @Test
-    public void testCollectionRemoveAndMoveOneFromGroupUpNoErrors ()
-            throws KustvaktException {
+    public void testCollectionRemoveAndMoveOneFromGroupUpNoErrors() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionConstraint.class);
         handler.add(CollectionCleanRewrite.class);
@@ -169,99 +130,71 @@
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("(docID=random & textClass=Wissenschaft) & corpusSigle=WPD");
         String org = s.toJSON();
-        JsonNode node = JsonUtils.readTree(handler.processQuery(org,
-                User.UserFactory.getUser("test_user")));
+        JsonNode node = JsonUtils.readTree(handler.processQuery(org, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
         assertEquals(2, node.at("/collection/operands").size());
-        assertEquals("koral:doc", node.at("/collection/operands/0/@type")
-                .asText());
-        assertEquals("koral:doc", node.at("/collection/operands/1/@type")
-                .asText());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/1/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
     }
 
-
     @Test
-    public void testPublicCollectionRewriteEmptyAdd () throws KustvaktException {
+    public void testPublicCollectionRewriteEmptyAdd() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionRewrite.class);
-
         QuerySerializer s = new QuerySerializer();
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         String org = s.toJSON();
-        JsonNode node = JsonUtils.readTree(handler.processQuery(org,
-                User.UserFactory.getUser("test_user")));
+        JsonNode node = JsonUtils.readTree(handler.processQuery(org, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
-        assertEquals("availability", node.at("/collection/key")
-                .asText());
-        assertEquals("CC-BY.*", node.at("/collection/value")
-                .asText());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
-        assertEquals("availability(FREE)", node.at("/collection/rewrites/0/scope")
-                .asText());
-        //todo:
+        assertEquals(node.at("/collection/key").asText(), "availability");
+        assertEquals(node.at("/collection/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(FREE)");
+        // todo:
     }
 
-
     @Test
-    public void testPublicCollectionRewriteNonEmptyAdd ()
-            throws KustvaktException {
+    public void testPublicCollectionRewriteNonEmptyAdd() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionRewrite.class);
-
         QuerySerializer s = new QuerySerializer();
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("(docSigle=WPD_AAA & textClass=wissenschaft)");
         String org = s.toJSON();
-        JsonNode node = JsonUtils.readTree(handler.processQuery(org,
-                User.UserFactory.getUser("test_user")));
+        JsonNode node = JsonUtils.readTree(handler.processQuery(org, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
         assertEquals(2, node.at("/collection/operands").size());
-        assertEquals("availability",
-                node.at("/collection/operands/0/key").asText());
-        assertEquals("CC-BY.*",
-                node.at("/collection/operands/0/value").asText());
-        assertEquals("docSigle",
-                node.at("/collection/operands/1/operands/0/key").asText());
-        assertEquals("textClass",
-                node.at("/collection/operands/1/operands/1/key").asText());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
-        assertEquals("availability(FREE)", node.at("/collection/rewrites/0/scope")
-                .asText());
+        assertEquals(node.at("/collection/operands/0/key").asText(), "availability");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/operands/1/operands/0/key").asText(), "docSigle");
+        assertEquals(node.at("/collection/operands/1/operands/1/key").asText(), "textClass");
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(FREE)");
     }
 
-
     @Test
-    public void testRemoveCorpusFromDifferentGroups () throws KustvaktException {
+    public void testRemoveCorpusFromDifferentGroups() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionConstraint.class);
         QuerySerializer s = new QuerySerializer();
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("(corpusSigle=BRZ14 & textClass=wissenschaft) | (corpusSigle=AZPR | textClass=freizeit)");
         String org = s.toJSON();
-        JsonNode node = JsonUtils.readTree(handler.processQuery(org,
-                User.UserFactory.getUser("test_user")));
+        JsonNode node = JsonUtils.readTree(handler.processQuery(org, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
         assertEquals(2, node.at("/collection/operands").size());
-        assertEquals("koral:docGroup", node.at("/collection/operands/0/@type")
-                .asText());
-        assertEquals("koral:docGroup", node.at("/collection/operands/1/@type")
-                .asText());
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operands/1/@type").asText(), "koral:docGroup");
         assertEquals(1, node.at("/collection/operands/0/operands").size());
         assertEquals(1, node.at("/collection/operands/1/operands").size());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
     }
 
-
     @Test
-    public void testRemoveOneCorpusAndMoveDocFromTwoGroups ()
-            throws KustvaktException {
+    public void testRemoveOneCorpusAndMoveDocFromTwoGroups() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         handler.add(CollectionConstraint.class);
         // todo: use this collection query also to test clean up filter! after reduction of corpusSigle (wiss | freizeit)!
@@ -270,29 +203,17 @@
         s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
         s.setCollection("(corpusSigle=BRZ14 & textClass=wissenschaft) | (corpusSigle=AZPR | textClass=freizeit)");
         String org = s.toJSON();
-        JsonNode node = JsonUtils.readTree(handler.processQuery(org,
-                User.UserFactory.getUser("test_user")));
+        JsonNode node = JsonUtils.readTree(handler.processQuery(org, User.UserFactory.getUser("test_user")));
         assertNotNull(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
         assertEquals(2, node.at("/collection/operands").size());
-        assertEquals("koral:doc", node.at("/collection/operands/0/@type")
-                .asText());
-        assertEquals("koral:doc", node.at("/collection/operands/0/@type")
-                .asText());
-        assertEquals("textClass", node.at("/collection/operands/0/key")
-                .asText());
-        assertEquals("wissenschaft", node.at("/collection/operands/0/value")
-                .asText());
-        assertEquals("koral:doc", node.at("/collection/operands/1/@type")
-                .asText());
-        assertEquals("textClass", node.at("/collection/operands/1/key")
-                .asText());
-        assertEquals("freizeit", node.at("/collection/operands/1/value")
-                .asText());
-        assertEquals("koral:rewrite", node.at("/collection/rewrites/0/@type")
-                .asText());
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/0/key").asText(), "textClass");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "wissenschaft");
+        assertEquals(node.at("/collection/operands/1/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/1/key").asText(), "textClass");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "freizeit");
+        assertEquals(node.at("/collection/rewrites/0/@type").asText(), "koral:rewrite");
     }
-
-
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/rewrite/FoundryRewriteTest.java b/full/src/test/java/de/ids_mannheim/korap/rewrite/FoundryRewriteTest.java
index b8e2036..65d3752 100644
--- a/full/src/test/java/de/ids_mannheim/korap/rewrite/FoundryRewriteTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/rewrite/FoundryRewriteTest.java
@@ -1,13 +1,12 @@
 package de.ids_mannheim.korap.rewrite;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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 org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
@@ -27,92 +26,68 @@
  * @author hanl, margaretha
  * @date 18/06/2015
  */
-//MH todo: check position and information of rewrites!
+// MH todo: check position and information of rewrites!
 public class FoundryRewriteTest extends SpringJerseyTest {
 
-//    private static String simple_add_query = "[pos=ADJA]";
-//    private static String simple_rewrite_query = "[base=Haus]";
-//    private static String complex_rewrite_query = "<c=INFC>";
-//    private static String complex_rewrite_query2 = "[orth=laufe/i & base!=Lauf]";
-//    private static String complex_rewrite_query3 = "[(base=laufen | base=gehen) & tt/pos=VVFIN]";
-
+    // private static String simple_add_query = "[pos=ADJA]";
+    // private static String simple_rewrite_query = "[base=Haus]";
+    // private static String complex_rewrite_query = "<c=INFC>";
+    // private static String complex_rewrite_query2 = "[orth=laufe/i & base!=Lauf]";
+    // private static String complex_rewrite_query3 = "[(base=laufen | base=gehen) & tt/pos=VVFIN]";
     @Autowired
     public KustvaktConfiguration config;
+
     @Autowired
-    public RewriteHandler handler; 
+    public RewriteHandler handler;
+
     @Autowired
     private LayerMapper m;
-    
+
     @Test
-    public void testSearchRewriteFoundryWithUserSetting () throws KustvaktException {
+    public void testSearchRewriteFoundryWithUserSetting() throws KustvaktException {
         // create user setting
         String json = "{\"pos-foundry\":\"opennlp\"}";
         String username = "foundryRewriteTest";
         String pathUsername = "~" + username;
-        Response response = target().path(API_VERSION)
-                .path(pathUsername).path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path(pathUsername).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
         // search
-        response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[pos=ADJA]").queryParam("ql", "poliqarp")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .accept(MediaType.APPLICATION_JSON).get();
-        
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        response = target().path(API_VERSION).path("search").queryParam("q", "[pos=ADJA]").queryParam("ql", "poliqarp").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).accept(MediaType.APPLICATION_JSON).get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals("opennlp", node.at("/query/wrap/foundry").asText());
-        assertEquals("foundry",
-                node.at("/query/wrap/rewrites/0/scope").asText());
-
+        assertEquals(node.at("/query/wrap/foundry").asText(), "opennlp");
+        assertEquals(node.at("/query/wrap/rewrites/0/scope").asText(), "foundry");
     }
 
     @Test
-    public void testRewritePosFoundryWithUserSetting ()
-            throws KustvaktException {
+    public void testRewritePosFoundryWithUserSetting() throws KustvaktException {
         // EM: see
         // full/src/main/resources/db/insert/V3.6__insert_default_settings.sql
-
         String username = "bubbles";
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[pos=ADJA]", "poliqarp");
-        String result =
-                handler.processQuery(s.toJSON(), new KorAPUser(username));
+        String result = handler.processQuery(s.toJSON(), new KorAPUser(username));
         JsonNode node = JsonUtils.readTree(result);
-        assertEquals("corenlp", node.at("/query/wrap/foundry").asText());
-        assertEquals("foundry",
-                node.at("/query/wrap/rewrites/0/scope").asText());
-
+        assertEquals(node.at("/query/wrap/foundry").asText(), "corenlp");
+        assertEquals(node.at("/query/wrap/rewrites/0/scope").asText(), "foundry");
     }
 
     @Test
-    public void testRewriteLemmaFoundryWithUserSetting ()
-            throws KustvaktException {
+    public void testRewriteLemmaFoundryWithUserSetting() throws KustvaktException {
         String username = "bubbles";
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[base=Haus]", "poliqarp");
-        String result =
-                handler.processQuery(s.toJSON(), new KorAPUser(username));
+        String result = handler.processQuery(s.toJSON(), new KorAPUser(username));
         JsonNode node = JsonUtils.readTree(result);
         // EM: only for testing, in fact, opennlp lemma does not
         // exist!
-        assertEquals("opennlp", node.at("/query/wrap/foundry").asText());
-        assertEquals("foundry",
-                node.at("/query/wrap/rewrites/0/scope").asText());
+        assertEquals(node.at("/query/wrap/foundry").asText(), "opennlp");
+        assertEquals(node.at("/query/wrap/rewrites/0/scope").asText(), "foundry");
     }
-    
-    
+
     @Test
-    public void testDefaultLayerMapperThrowsNoException () {
+    public void testDefaultLayerMapperThrowsNoException() {
         assertEquals(config.getDefault_lemma(), m.findFoundry("lemma"));
         assertEquals(config.getDefault_pos(), m.findFoundry("pos"));
         assertEquals(config.getDefault_orthography(), m.findFoundry("surface"));
@@ -121,75 +96,57 @@
     }
 
     @Test
-    public void testDefaultFoundryInjectLemmaThrowsNoError ()
-            throws KustvaktException {
-
+    public void testDefaultFoundryInjectLemmaThrowsNoError() throws KustvaktException {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[base=Haus]", "poliqarp");
         String result = handler.processQuery(s.toJSON(), new KorAPUser("test"));
         JsonNode node = JsonUtils.readTree(result);
         assertNotNull(node);
         assertFalse(node.at("/query/wrap/foundry").isMissingNode());
-        assertEquals(config.getDefault_lemma(), node.at("/query/wrap/foundry")
-                .asText());
-        assertEquals("lemma", node.at("/query/wrap/layer").asText());
+        assertEquals(config.getDefault_lemma(), node.at("/query/wrap/foundry").asText());
+        assertEquals(node.at("/query/wrap/layer").asText(), "lemma");
         assertFalse(node.at("/query/wrap/rewrites").isMissingNode());
-        assertEquals("koral:rewrite", node.at("/query/wrap/rewrites/0/@type")
-                .asText());
+        assertEquals(node.at("/query/wrap/rewrites/0/@type").asText(), "koral:rewrite");
     }
 
-
     @Test
-    public void testDefaultFoundryInjectPOSNoErrors () throws KustvaktException {
-
+    public void testDefaultFoundryInjectPOSNoErrors() throws KustvaktException {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[pos=ADJA]", "poliqarp");
         String result = handler.processQuery(s.toJSON(), new KorAPUser("test"));
         JsonNode node = JsonUtils.readTree(result);
-
         assertNotNull(node);
         assertFalse(node.at("/query/wrap/foundry").isMissingNode());
-        assertEquals(config.getDefault_pos(), node.at("/query/wrap/foundry")
-                .asText());
-        assertEquals("pos", node.at("/query/wrap/layer").asText());
+        assertEquals(config.getDefault_pos(), node.at("/query/wrap/foundry").asText());
+        assertEquals(node.at("/query/wrap/layer").asText(), "pos");
         assertFalse(node.at("/query/wrap/rewrites").isMissingNode());
-        assertEquals("koral:rewrite", node.at("/query/wrap/rewrites/0/@type")
-                .asText());
-
+        assertEquals(node.at("/query/wrap/rewrites/0/@type").asText(), "koral:rewrite");
     }
-    
-    @Test
-    public void testFoundryInjectJoinedQueryNoErrors ()
-            throws KustvaktException {
 
+    @Test
+    public void testFoundryInjectJoinedQueryNoErrors() throws KustvaktException {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[orth=laufe/i & base!=Lauf]", "poliqarp");
         String result = handler.processQuery(s.toJSON(), new KorAPUser("test"));
         JsonNode node = JsonUtils.readTree(result);
-
         assertNotNull(node);
-        assertEquals("koral:termGroup", node.at("/query/wrap/@type").asText());
+        assertEquals(node.at("/query/wrap/@type").asText(), "koral:termGroup");
         assertFalse(node.at("/query/wrap/operands/0/foundry").isMissingNode());
         assertFalse(node.at("/query/wrap/operands/0/rewrites").isMissingNode());
         assertFalse(node.at("/query/wrap/operands/1/foundry").isMissingNode());
         assertFalse(node.at("/query/wrap/operands/1/rewrites").isMissingNode());
     }
 
-
     @Test
-    public void testFoundryInjectGroupedQueryNoErrors ()
-            throws KustvaktException {
+    public void testFoundryInjectGroupedQueryNoErrors() throws KustvaktException {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[(base=laufen | tt/pos=VVFIN)]", "poliqarp");
         String result = handler.processQuery(s.toJSON(), new KorAPUser("test"));
         JsonNode node = JsonUtils.readTree(result);
-
         assertNotNull(node);
-        assertEquals("koral:termGroup", node.at("/query/wrap/@type").asText());
-        assertFalse(node.at("/query/wrap/operands/0/foundry")
-                .isMissingNode());
-        assertFalse(node.at("/query/wrap/operands/0/rewrites")
-                .isMissingNode());
+        assertEquals(node.at("/query/wrap/@type").asText(), "koral:termGroup");
+        assertFalse(node.at("/query/wrap/operands/0/foundry").isMissingNode());
+        assertFalse(node.at("/query/wrap/operands/0/rewrites").isMissingNode());
         assertFalse(node.at("/query/wrap/operands/1/foundry").isMissingNode());
         assertTrue(node.at("/query/wrap/operands/1/rewrites").isMissingNode());
     }
@@ -200,12 +157,8 @@
         s.setQuery("[orth=laufen]", "poliqarp");
         String result = handler.processQuery(s.toJSON(), new KorAPUser("test"));
         JsonNode node = JsonUtils.readTree(result);
-
-        assertEquals("koral:term", node.at("/query/wrap/@type").asText());
-        assertFalse(node.at("/query/wrap/foundry")
-                .isMissingNode());
-        assertFalse(node.at("/query/wrap/rewrites")
-                .isMissingNode());
+        assertEquals(node.at("/query/wrap/@type").asText(), "koral:term");
+        assertFalse(node.at("/query/wrap/foundry").isMissingNode());
+        assertFalse(node.at("/query/wrap/rewrites").isMissingNode());
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/rewrite/IdRewriteTest.java b/full/src/test/java/de/ids_mannheim/korap/rewrite/IdRewriteTest.java
index 8f45dc9..b0fc1ea 100644
--- a/full/src/test/java/de/ids_mannheim/korap/rewrite/IdRewriteTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/rewrite/IdRewriteTest.java
@@ -1,14 +1,12 @@
 package de.ids_mannheim.korap.rewrite;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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 org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -26,29 +24,24 @@
 
     @Autowired
     private KustvaktConfiguration config;
-    
+
     @Test
-    public void insertTokenId () throws KustvaktException {
+    public void insertTokenId() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         assertTrue(handler.add(IdWriter.class));
-
         String query = "[surface=Wort]";
         QuerySerializer s = new QuerySerializer();
         s.setQuery(query, "poliqarp");
-
         String value = handler.processQuery(s.toJSON(), new KorAPUser());
         JsonNode result = JsonUtils.readTree(value);
-
         assertNotNull(result);
         assertTrue(result.path("query").has("idn"));
     }
 
-
     @Test
-    public void testIdWriterTest () throws KustvaktException {
+    public void testIdWriterTest() throws KustvaktException {
         RewriteHandler handler = new RewriteHandler(config);
         assertTrue(handler.add(IdWriter.class));
-
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[base=Haus]", "poliqarp");
         String result = handler.processQuery(s.toJSON(), new KorAPUser());
@@ -57,6 +50,4 @@
         assertFalse(node.at("/query/wrap").isMissingNode());
         assertFalse(node.at("/query/idn").isMissingNode());
     }
-
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/rewrite/QueryRewriteTest.java b/full/src/test/java/de/ids_mannheim/korap/rewrite/QueryRewriteTest.java
index 1d73429..8862def 100644
--- a/full/src/test/java/de/ids_mannheim/korap/rewrite/QueryRewriteTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/rewrite/QueryRewriteTest.java
@@ -1,9 +1,8 @@
 package de.ids_mannheim.korap.rewrite;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
@@ -15,61 +14,32 @@
 
 /**
  * @author diewald
- *
  */
 public class QueryRewriteTest extends SpringJerseyTest {
 
     @Test
-    public void testRewriteRefNotFound ()
-            throws KustvaktException, Exception {
-
-        Response response = target().path(API_VERSION).path("search")
-            .queryParam("q", "{q}")
-            .queryParam("ql", "poliqarp")
-            .resolveTemplate("q", "[orth=der]{#examplequery} Baum")
-            .request()
-            .get();
-
+    public void testRewriteRefNotFound() throws KustvaktException, Exception {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "{q}").queryParam("ql", "poliqarp").resolveTemplate("q", "[orth=der]{#examplequery} Baum").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals("Query system/examplequery is not found.",
-                node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "Query system/examplequery is not found.");
     }
-    
+
     @Test
-    public void testRewriteSystemQuery ()
-            throws KustvaktException, Exception {
-
-        Response response = target().path(API_VERSION).path("search")
-            .queryParam("q", "{q}")
-            .queryParam("ql", "poliqarp")
-            .resolveTemplate("q", "[orth=der]{#system-q} Baum")
-            .request()
-            .get();
-
+    public void testRewriteSystemQuery() throws KustvaktException, Exception {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "{q}").queryParam("ql", "poliqarp").resolveTemplate("q", "[orth=der]{#system-q} Baum").request().get();
         String ent = response.readEntity(String.class);
-//        System.out.println(ent);
+        // System.out.println(ent);
         JsonNode node = JsonUtils.readTree(ent);
     }
 
     @Test
-    public void testRewriteRefRewrite ()
-            throws KustvaktException, Exception {
-
+    public void testRewriteRefRewrite() throws KustvaktException, Exception {
         // Added in the database migration sql for tests
-        Response response = target().path(API_VERSION).path("search")
-            .queryParam("q", "{q}")
-            .queryParam("ql", "poliqarp")
-            .resolveTemplate("q", "[orth=der]{#dory/dory-q} Baum")
-            .request()
-            .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                    .createBasicAuthorizationHeaderValue("dory", "pass"))
-            .get();
-
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "{q}").queryParam("ql", "poliqarp").resolveTemplate("q", "[orth=der]{#dory/dory-q} Baum").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals("koral:token", node.at("/query/operands/1/@type").asText());
-        assertEquals("@type(koral:queryRef)",
-                     node.at("/query/operands/1/rewrites/0/scope").asText());
+        assertEquals(node.at("/query/operands/1/@type").asText(), "koral:token");
+        assertEquals(node.at("/query/operands/1/rewrites/0/scope").asText(), "@type(koral:queryRef)");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/rewrite/ResultRewriteTest.java b/full/src/test/java/de/ids_mannheim/korap/rewrite/ResultRewriteTest.java
index 85691ab..6642514 100644
--- a/full/src/test/java/de/ids_mannheim/korap/rewrite/ResultRewriteTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/rewrite/ResultRewriteTest.java
@@ -1,10 +1,9 @@
 package de.ids_mannheim.korap.rewrite;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.config.TestVariables;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -20,15 +19,11 @@
 
     @Autowired
     public RewriteHandler ha;
-    
+
     @Test
-    public void testPostRewriteNothingToDo () throws KustvaktException {
-        assertEquals("Handler could not be added to rewrite handler instance!",
-                true, ha.add(CollectionRewrite.class));
-
+    public void testPostRewriteNothingToDo() throws KustvaktException {
+        assertEquals(true, ha.add(CollectionRewrite.class), "Handler could not be added to rewrite handler instance!");
         String v = ha.processResult(TestVariables.RESULT, null);
-        assertEquals("results do not match",
-                JsonUtils.readTree(TestVariables.RESULT), JsonUtils.readTree(v));
+        assertEquals(JsonUtils.readTree(TestVariables.RESULT), JsonUtils.readTree(v), "results do not match");
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/rewrite/RewriteHandlerTest.java b/full/src/test/java/de/ids_mannheim/korap/rewrite/RewriteHandlerTest.java
index 135e209..60b934c 100644
--- a/full/src/test/java/de/ids_mannheim/korap/rewrite/RewriteHandlerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/rewrite/RewriteHandlerTest.java
@@ -1,103 +1,155 @@
 package de.ids_mannheim.korap.rewrite;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.query.serialize.QuerySerializer;
 
-/** EM: to do: Fix tests
- *  New DB does not save users.
- * 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+/**
+ * EM: to do: Fix tests
+ * New DB does not save users.
+ *
  * @author hanl
  * @date 21/10/2015
  */
+// @Deprecated
+// @Test
+// public void testRewriteNoBeanInject () throws KustvaktException {
+// RewriteHandler handler = new RewriteHandler(config);
+// QuerySerializer s = new QuerySerializer();
+// s.setQuery("[(base=laufen | base=gehen) & tt/pos=VVFIN]", "poliqarp");
+// assertTrue(handler.add(FoundryInject.class));
+// String res = handler.processQuery(s.toJSON(), null);
+// assertNotNull(res);
+// }
+// 
+// @Deprecated
+// @Test
+// public void testRewriteBeanInject () throws KustvaktException {
+// RewriteHandler handler = new RewriteHandler(config);
+// QuerySerializer s = new QuerySerializer();
+// s.setQuery("[base=laufen | tt/pos=VVFIN]", "poliqarp");
+// assertTrue(handler.add(FoundryInject.class));
+// String res = handler.processQuery(s.toJSON(), null);
+// JsonNode node = JsonUtils.readTree(res);
+// assertNotNull(node);
+// assertEquals("tt", node.at("/query/wrap/operands/0/foundry")
+// .asText());
+// assertEquals("tt", node.at("/query/wrap/operands/1/foundry")
+// .asText());
+// }
+// EM: Fix me usersetting
+// @Test
+// @Ignore
+// public void testRewriteUserSpecific () throws KustvaktException {
+// RewriteHandler handler = new RewriteHandler(config);
+// QuerySerializer s = new QuerySerializer();
+// s.setQuery("[base=laufen|tt/pos=VFIN]", "poliqarp");
+// assertTrue(handler.add(FoundryInject.class));
+// String res = handler.processQuery(s.toJSON(), helper().getUser());
+// JsonNode node = JsonUtils.readTree(res);
+// assertNotNull(node);
+// assertEquals("tt_test",
+// node.at("/query/wrap/operands/0/foundry").asText());
+// assertNotEquals("tt_test",
+// node.at("/query/wrap/operands/1/foundry").asText());
+// }
+// EM: Fix me usersetting
+// @Override
+// public void initMethod () throws KustvaktException {
+// helper().setupAccount();
+// UserDataDbIface settingsdao = BeansFactory.getTypeFactory()
+// .getTypeInterfaceBean(
+// helper().getContext().getUserDataProviders(),
+// UserSettings.class);
+// assertNotNull(settingsdao);
+// UserSettings s = (UserSettings) settingsdao.get(helper().getUser());
+// s.setField(Attributes.DEFAULT_LEMMA_FOUNDRY, "tt_test");
+// settingsdao.update(s);
+// }
 public class RewriteHandlerTest extends SpringJerseyTest {
 
     @Autowired
     private KustvaktConfiguration config;
-    
+
     @Test
-    public void testRewriteTaskAdd () {
+    public void testRewriteTaskAdd() {
         RewriteHandler handler = new RewriteHandler(config);
         assertTrue(handler.add(FoundryInject.class));
         assertTrue(handler.add(CollectionCleanRewrite.class));
         assertTrue(handler.add(IdWriter.class));
     }
 
-
     // throws exception cause of missing configuration
-    @Test(expected = RuntimeException.class)
-    public void testRewriteConfigThrowsException () throws KustvaktException {
-        RewriteHandler handler = new RewriteHandler();
-        QuerySerializer s = new QuerySerializer();
-        s.setQuery("[(base=laufen | base=gehen) & tt/pos=VVFIN]", "poliqarp");
-        assertTrue(handler.add(FoundryInject.class));
-        handler.processQuery(s.toJSON(), null);
+    @Test
+    public void testRewriteConfigThrowsException() {
+        assertThrows(RuntimeException.class, () -> {
+            RewriteHandler handler = new RewriteHandler();
+            QuerySerializer s = new QuerySerializer();
+            s.setQuery("[(base=laufen | base=gehen) & tt/pos=VVFIN]", "poliqarp");
+            assertTrue(handler.add(FoundryInject.class));
+            handler.processQuery(s.toJSON(), null);
+        });
     }
-
-//    @Deprecated
-//    @Test
-//    public void testRewriteNoBeanInject () throws KustvaktException {
-//        RewriteHandler handler = new RewriteHandler(config);
-//        QuerySerializer s = new QuerySerializer();
-//        s.setQuery("[(base=laufen | base=gehen) & tt/pos=VVFIN]", "poliqarp");
-//        assertTrue(handler.add(FoundryInject.class));
-//        String res = handler.processQuery(s.toJSON(), null);
-//        assertNotNull(res);
-//    }
-//    
-//    @Deprecated
-//    @Test
-//    public void testRewriteBeanInject () throws KustvaktException {
-//        RewriteHandler handler = new RewriteHandler(config);
-//        QuerySerializer s = new QuerySerializer();
-//        s.setQuery("[base=laufen | tt/pos=VVFIN]", "poliqarp");
-//        assertTrue(handler.add(FoundryInject.class));
-//        String res = handler.processQuery(s.toJSON(), null);
-//        JsonNode node = JsonUtils.readTree(res);
-//        assertNotNull(node);
-//        assertEquals("tt", node.at("/query/wrap/operands/0/foundry")
-//                .asText());
-//        assertEquals("tt", node.at("/query/wrap/operands/1/foundry")
-//                .asText());
-//    }
-
+    // @Deprecated
+    // @Test
+    // public void testRewriteNoBeanInject () throws KustvaktException {
+    // RewriteHandler handler = new RewriteHandler(config);
+    // QuerySerializer s = new QuerySerializer();
+    // s.setQuery("[(base=laufen | base=gehen) & tt/pos=VVFIN]", "poliqarp");
+    // assertTrue(handler.add(FoundryInject.class));
+    // String res = handler.processQuery(s.toJSON(), null);
+    // assertNotNull(res);
+    // }
+    // 
+    // @Deprecated
+    // @Test
+    // public void testRewriteBeanInject () throws KustvaktException {
+    // RewriteHandler handler = new RewriteHandler(config);
+    // QuerySerializer s = new QuerySerializer();
+    // s.setQuery("[base=laufen | tt/pos=VVFIN]", "poliqarp");
+    // assertTrue(handler.add(FoundryInject.class));
+    // String res = handler.processQuery(s.toJSON(), null);
+    // JsonNode node = JsonUtils.readTree(res);
+    // assertNotNull(node);
+    // assertEquals("tt", node.at("/query/wrap/operands/0/foundry")
+    // .asText());
+    // assertEquals("tt", node.at("/query/wrap/operands/1/foundry")
+    // .asText());
+    // }
     // EM: Fix me usersetting
-//    @Test
-//    @Ignore
-//    public void testRewriteUserSpecific () throws KustvaktException {
-//        RewriteHandler handler = new RewriteHandler(config);
-//        QuerySerializer s = new QuerySerializer();
-//        s.setQuery("[base=laufen|tt/pos=VFIN]", "poliqarp");
-//        assertTrue(handler.add(FoundryInject.class));
-//        String res = handler.processQuery(s.toJSON(), helper().getUser());
-//        JsonNode node = JsonUtils.readTree(res);
-//        assertNotNull(node);
-//        assertEquals("tt_test",
-//                node.at("/query/wrap/operands/0/foundry").asText());
-//        assertNotEquals("tt_test",
-//                node.at("/query/wrap/operands/1/foundry").asText());
-//    }
-
- // EM: Fix me usersetting
-//    @Override
-//    public void initMethod () throws KustvaktException {
-//        helper().setupAccount();
-//        UserDataDbIface settingsdao = BeansFactory.getTypeFactory()
-//                .getTypeInterfaceBean(
-//                        helper().getContext().getUserDataProviders(),
-//                        UserSettings.class);
-//        assertNotNull(settingsdao);
-//        UserSettings s = (UserSettings) settingsdao.get(helper().getUser());
-//        s.setField(Attributes.DEFAULT_LEMMA_FOUNDRY, "tt_test");
-//        settingsdao.update(s);
-//    }
-
-
-
+    // @Test
+    // @Ignore
+    // public void testRewriteUserSpecific () throws KustvaktException {
+    // RewriteHandler handler = new RewriteHandler(config);
+    // QuerySerializer s = new QuerySerializer();
+    // s.setQuery("[base=laufen|tt/pos=VFIN]", "poliqarp");
+    // assertTrue(handler.add(FoundryInject.class));
+    // String res = handler.processQuery(s.toJSON(), helper().getUser());
+    // JsonNode node = JsonUtils.readTree(res);
+    // assertNotNull(node);
+    // assertEquals("tt_test",
+    // node.at("/query/wrap/operands/0/foundry").asText());
+    // assertNotEquals("tt_test",
+    // node.at("/query/wrap/operands/1/foundry").asText());
+    // }
+    // EM: Fix me usersetting
+    // @Override
+    // public void initMethod () throws KustvaktException {
+    // helper().setupAccount();
+    // UserDataDbIface settingsdao = BeansFactory.getTypeFactory()
+    // .getTypeInterfaceBean(
+    // helper().getContext().getUserDataProviders(),
+    // UserSettings.class);
+    // assertNotNull(settingsdao);
+    // UserSettings s = (UserSettings) settingsdao.get(helper().getUser());
+    // s.setField(Attributes.DEFAULT_LEMMA_FOUNDRY, "tt_test");
+    // settingsdao.update(s);
+    // }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusRewriteTest.java b/full/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusRewriteTest.java
index dec02ab..170ffd0 100644
--- a/full/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusRewriteTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusRewriteTest.java
@@ -1,15 +1,14 @@
 package de.ids_mannheim.korap.rewrite;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 
@@ -27,36 +26,26 @@
 
 /**
  * @author margaretha
- *
  */
 public class VirtualCorpusRewriteTest extends SpringJerseyTest {
 
     @Autowired
     private NamedVCLoader vcLoader;
+
     @Autowired
     private QueryDao dao;
 
     @Test
-    public void testRefCachedVC ()
-            throws KustvaktException, IOException, QueryException {
+    public void testRefCachedVC() throws KustvaktException, IOException, QueryException {
         vcLoader.loadVCToCache("named-vc1", "/vc/named-vc1.jsonld");
         assertTrue(VirtualCorpusCache.contains("named-vc1"));
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo named-vc1")
-                .request()
-                .get();
-
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo named-vc1").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         node = node.at("/collection");
-
-        assertEquals("koral:docGroup", node.at("/@type").asText());
+        assertEquals(node.at("/@type").asText(), "koral:docGroup");
         assertTrue(node.at("/operands/1/rewrites").isMissingNode());
-
         testRefCachedVCWithUsername();
-
         QueryDO vc = dao.retrieveQueryByName("named-vc1", "system");
         dao.deleteQuery(vc);
         vc = dao.retrieveQueryByName("named-vc1", "system");
@@ -65,94 +54,58 @@
         assertFalse(VirtualCorpusCache.contains("named-vc1"));
     }
 
-    private void testRefCachedVCWithUsername ()
-            throws KustvaktException, IOException, QueryException {
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"system/named-vc1\"")
-                .request()
-                .get();
-
+    private void testRefCachedVCWithUsername() throws KustvaktException, IOException, QueryException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"system/named-vc1\"").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         node = node.at("/collection");
-        assertEquals("koral:docGroup", node.at("/@type").asText());
-
+        assertEquals(node.at("/@type").asText(), "koral:docGroup");
         node = node.at("/operands/1/rewrites");
         assertEquals(2, node.size());
-        assertEquals("operation:deletion", node.at("/0/operation").asText());
-        assertEquals("operation:insertion", node.at("/1/operation").asText());
-
+        assertEquals(node.at("/0/operation").asText(), "operation:deletion");
+        assertEquals(node.at("/1/operation").asText(), "operation:insertion");
     }
 
     @Test
-    public void testRewriteFreeAndSystemVCRef ()
-            throws KustvaktException, Exception {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"system-vc\"")
-                .request()
-                .get();
-
+    public void testRewriteFreeAndSystemVCRef() throws KustvaktException, Exception {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"system-vc\"").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         node = node.at("/collection");
-
-        assertEquals("koral:docGroup", node.at("/@type").asText());
-        assertEquals("koral:doc", node.at("/operands/0/@type").asText());
-
-        assertEquals("koral:doc", node.at("/operands/1/@type").asText());
-        assertEquals("GOE", node.at("/operands/1/value").asText());
-        assertEquals("corpusSigle", node.at("/operands/1/key").asText());
-
+        assertEquals(node.at("/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/operands/0/@type").asText(), "koral:doc");
+        assertEquals(node.at("/operands/1/@type").asText(), "koral:doc");
+        assertEquals(node.at("/operands/1/value").asText(), "GOE");
+        assertEquals(node.at("/operands/1/key").asText(), "corpusSigle");
         node = node.at("/operands/1/rewrites");
         assertEquals(3, node.size());
-        assertEquals("operation:deletion", node.at("/0/operation").asText());
-        assertEquals("operation:deletion", node.at("/1/operation").asText());
-        assertEquals("operation:insertion", node.at("/2/operation").asText());
+        assertEquals(node.at("/0/operation").asText(), "operation:deletion");
+        assertEquals(node.at("/1/operation").asText(), "operation:deletion");
+        assertEquals(node.at("/2/operation").asText(), "operation:insertion");
     }
 
     @Test
-    public void testRewritePubAndSystemVCRef () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"system/system-vc\"")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("user", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-
+    public void testRewritePubAndSystemVCRef() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"system/system-vc\"").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("user", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         node = node.at("/collection");
-        assertEquals("koral:docGroup", node.at("/@type").asText());
-        assertEquals("koral:docGroup", node.at("/operands/0/@type").asText());
-
+        assertEquals(node.at("/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/operands/0/@type").asText(), "koral:docGroup");
         node = node.at("/operands/1/rewrites");
         assertEquals(3, node.size());
-        assertEquals("operation:deletion", node.at("/0/operation").asText());
-        assertEquals("operation:deletion", node.at("/1/operation").asText());
-        assertEquals("operation:insertion", node.at("/2/operation").asText());
+        assertEquals(node.at("/0/operation").asText(), "operation:deletion");
+        assertEquals(node.at("/1/operation").asText(), "operation:deletion");
+        assertEquals(node.at("/2/operation").asText(), "operation:insertion");
     }
 
     @Test
-    public void testRewriteWithDoryVCRef ()
-            throws KustvaktException, IOException, QueryException {
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Fisch").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"dory/dory-vc\"")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .get();
-
+    public void testRewriteWithDoryVCRef() throws KustvaktException, IOException, QueryException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Fisch").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"dory/dory-vc\"").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         node = node.at("/collection");
-        assertEquals("koral:docGroup", node.at("/@type").asText());
+        assertEquals(node.at("/@type").asText(), "koral:docGroup");
         node = node.at("/operands/1/rewrites");
         assertEquals(3, node.size());
     }
diff --git a/full/src/test/java/de/ids_mannheim/korap/scenario/ICCTest.java b/full/src/test/java/de/ids_mannheim/korap/scenario/ICCTest.java
index 6c47f4f..0119a21 100644
--- a/full/src/test/java/de/ids_mannheim/korap/scenario/ICCTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/scenario/ICCTest.java
@@ -1,14 +1,12 @@
 package de.ids_mannheim.korap.scenario;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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 org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.test.context.ContextConfiguration;
-
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
@@ -21,16 +19,14 @@
 /**
  * <p>Test scenario for ICC (International Comparable Corpus)
  * instance</p>
- * 
- * 
+ * <p>
  * The instance requires user authentication and access to data is
  * restricted to only logged-in users.
- * 
- * 
+ * <p>
  * This class uses <em>test-config-icc.xml</em> spring XML config
  * defining the location of a specific kustvakt configuration file for
- * this instance:<em>kustvakt-icc.conf</em>. 
- * 
+ * this instance:<em>kustvakt-icc.conf</em>.
+ *
  * <p>
  * To run a Kustvakt jar with ICC setup, the following files are needed:
  * </p>
@@ -39,90 +35,90 @@
  * <li>a Kustvakt configuration file that must be placed at the jar folder</li>
  * <li>a JDBC properties file that must be placed at the jar folder</li>
  * </ul>
- * 
+ * <p>
  * Example:
- * 
+ *
  * <p>
  * <code>
  * java -jar Kustvakt-full-0.69.3.jar --spring-config
  * test-config-icc.xml
  * </code>
  * </p>
- * 
+ *
  * <h1>Spring configuration file</h1>
  * <p>
  * For ICC, collectionRewrite in the Spring XML configuration must
  * be disabled. This has been done in <em>test-config-icc.xml</em>.
  * </p>
- * 
+ *
  * <p>For testing, the ICC configuration uses HTTP Basic
  * Authentication and doesn't use LDAP.</p>
- * 
+ *
  * <p>For production, Basic Authentication must be
  * disabled/commented.</p>
- * 
+ *
  * <pre><code>
  * &lt;bean id="basic_auth"
  * class="de.ids_mannheim.korap.authentication.BasicAuthentication"/&gt;
- * 
+ *
  * &lt;util:list id="kustvakt_authproviders"
  * value-type="de.ids_mannheim.korap.interfaces.AuthenticationIface"&gt;
  * &lt;!-- &lt;ref bean="basic_auth" /&gt; --&gt;
  * </code>
  * </pre>
- * 
+ *
  * <p>For production, the init-method of Initializator should be changed to init.</p>
- * 
+ *
  * <pre>
  * <code>
  * &lt;bean id="initializator" class="de.ids_mannheim.de.init.Initializator"
-   init-method="init"&gt;&lt;/bean&gt;
+ *   init-method="init"&gt;&lt;/bean&gt;
  * </code>
  * </pre>
- * 
+ *
  * <h1>Kustvakt configuration file</h1>
- * 
+ *
  * <p>
  * The configuration file: <em>kustvakt-icc.conf</em> includes the
  * following setup:
  * </p>
- * 
+ *
  * <ul>
  * <li>
  * <em>krill.indexDir</em> should indicate the location of the index.
  * It is set to the wiki-index for the test.
  * </li>
- * 
+ *
  * <p>
  * <code>krill.indexDir=../wiki-index</code>
  * </p>
- * 
+ *
  * <li>
  * <em>availability.regex</em>
  * properties should be removed or commented since the data doesn't
  * contain availability and access to data is not determined by this
  * field.
  * </li>
- * 
+ *
  * <li>
  * Resource filter class names for the search and match info services
  * should be defined by <em>search.resource.filters property</em>. For
  * example, to restricts access with only authentication filter:</li>
- * 
+ *
  * <p>
  * <code>search.resource.filters=AuthenticationFilter </code>
  * </p>
- * 
+ *
  * <li><em>oauth2.password.authentication</em> indicating the
  * authentication method to match usernames and password.
  * <code>TEST</code> is a dummy authentication that doesn't do any
  * matching. For production, it must be changed to
  * <code>LDAP</code>.</li>
- * 
+ *
  * <p><code>oauth2.password.authentication=LDAP</code></p>
- * 
+ *
  * </ul>
- * 
+ *
  * @author elma
  * @see /src/main/resources/properties/jdbc.properties
  */
@@ -130,68 +126,46 @@
 public class ICCTest extends SpringJerseyTest {
 
     public final static String API_VERSION = "v1.0";
+
     public String basicAuth;
 
-    public ICCTest () throws KustvaktException {
-        basicAuth = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("user", "password");
+    public ICCTest() throws KustvaktException {
+        basicAuth = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("user", "password");
     }
 
     @Test
-    public void searchWithoutLogin () throws KustvaktException {
-        Response r = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .request().get();
-
+    public void searchWithoutLogin() throws KustvaktException {
+        Response r = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").request().get();
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), r.getStatus());
-
         String entity = r.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void searchWithLogin () throws KustvaktException {
-        Response r = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .request().header(Attributes.AUTHORIZATION, basicAuth).get();
-
+    public void searchWithLogin() throws KustvaktException {
+        Response r = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").request().header(Attributes.AUTHORIZATION, basicAuth).get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
-
         String entity = r.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertTrue(node.at("/matches").size() > 0);
     }
 
     @Test
-    public void matchInfoWithoutLogin () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("WDD17").path("982").path("72848").path("p2815-2816")
-                .queryParam("foundry", "*").request().get();
-
+    public void matchInfoWithoutLogin() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("WDD17").path("982").path("72848").path("p2815-2816").queryParam("foundry", "*").request().get();
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void matchInfoWithLogin () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("WDD17").path("982").path("72848").path("p2815-2816")
-                .queryParam("foundry", "*").request()
-                .header(Attributes.AUTHORIZATION, basicAuth).get();
-
+    public void matchInfoWithLogin() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("WDD17").path("982").path("72848").path("p2815-2816").queryParam("foundry", "*").request().header(Attributes.AUTHORIZATION, basicAuth).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertTrue(node.at("/hasSnippet").asBoolean());
         assertNotNull(node.at("/matchID").asText());
         assertNotNull(node.at("/snippet").asText());
diff --git a/full/src/test/java/de/ids_mannheim/korap/server/EmbeddedLdapServerTest.java b/full/src/test/java/de/ids_mannheim/korap/server/EmbeddedLdapServerTest.java
index b669ade..79f640f 100644
--- a/full/src/test/java/de/ids_mannheim/korap/server/EmbeddedLdapServerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/server/EmbeddedLdapServerTest.java
@@ -3,8 +3,8 @@
 import com.unboundid.ldap.sdk.LDAPException;
 import com.unboundid.util.Base64;
 import de.ids_mannheim.korap.authentication.LdapAuth3;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 import javax.crypto.SecretKeyFactory;
 import javax.crypto.spec.PBEKeySpec;
@@ -16,14 +16,15 @@
 
 import static de.ids_mannheim.korap.authentication.LdapAuth3.LDAP_AUTH_ROK;
 import static de.ids_mannheim.korap.authentication.LdapAuth3.LDAP_AUTH_RUNKNOWN;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 
 public class EmbeddedLdapServerTest {
 
     public static final String TEST_EMBEDDED_LDAP_CONF = "src/test/resources/test-embedded-ldap.conf";
 
-    @AfterClass
-    public static void shutdownEmbeddedLdapServer() {
+    @AfterAll
+    static void shutdownEmbeddedLdapServer() {
         EmbeddedLdapServer.stop();
     }
 
@@ -58,14 +59,13 @@
         KeySpec spec = new PBEKeySpec("password5".toCharArray(), salt, 65536, 256);
         SecretKeyFactory f = SecretKeyFactory.getInstance("PBKDF2withHmacSHA256");
         byte[] hash = f.generateSecret(spec).getEncoded();
-
         final String pbkdf2sha256Password = "{PBKDF2-SHA256}" + Base64.encode(hash);
-//        System.out.println(pbkdf2sha256Password);
+        // System.out.println(pbkdf2sha256Password);
         assertEquals(LDAP_AUTH_ROK, LdapAuth3.login("user5", pbkdf2sha256Password, TEST_EMBEDDED_LDAP_CONF));
     }
 
     @Test
-    public void loginWithUnEncodedPBKDF2PasswordFails() throws LDAPException, NoSuchAlgorithmException, InvalidKeySpecException {
+    public void loginWithUnencodedPBKDF2PasswordFails() throws LDAPException, NoSuchAlgorithmException, InvalidKeySpecException {
         assertEquals(LDAP_AUTH_RUNKNOWN, LdapAuth3.login("user5", "password5", TEST_EMBEDDED_LDAP_CONF));
     }
 
@@ -77,13 +77,12 @@
     @Test
     public void gettingMailForUser() throws LDAPException, UnknownHostException, GeneralSecurityException {
         EmbeddedLdapServer.startIfNotRunning(TEST_EMBEDDED_LDAP_CONF);
-        assertEquals("user2@example.com", LdapAuth3.getEmail("user2", TEST_EMBEDDED_LDAP_CONF));
+        assertEquals(LdapAuth3.getEmail("user2", TEST_EMBEDDED_LDAP_CONF), "user2@example.com");
     }
 
     @Test
-    public void gettingMailFoRNAUTHUserIsNull() throws LDAPException, UnknownHostException, GeneralSecurityException {
+    public void gettingMailForNAUTHUserIsNull() throws LDAPException, UnknownHostException, GeneralSecurityException {
         EmbeddedLdapServer.startIfNotRunning(TEST_EMBEDDED_LDAP_CONF);
         assertEquals(null, LdapAuth3.getEmail("user1000", TEST_EMBEDDED_LDAP_CONF));
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/service/VirtualCorpusServiceTest.java b/full/src/test/java/de/ids_mannheim/korap/service/VirtualCorpusServiceTest.java
index 5faeb80..60a661f 100644
--- a/full/src/test/java/de/ids_mannheim/korap/service/VirtualCorpusServiceTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/service/VirtualCorpusServiceTest.java
@@ -1,17 +1,16 @@
 package de.ids_mannheim.korap.service;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.List;
 
-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.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import de.ids_mannheim.korap.constant.QueryType;
 import de.ids_mannheim.korap.constant.ResourceType;
@@ -23,126 +22,95 @@
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.web.input.QueryJson;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@ExtendWith(SpringExtension.class)
 @ContextConfiguration("classpath:test-config.xml")
 public class VirtualCorpusServiceTest {
 
     @Autowired
     private QueryService vcService;
+
     @Autowired
     private UserGroupService groupService;
 
     @Test
-    public void testCreateNonUniqueVC () throws KustvaktException {
-        
+    public void testCreateNonUniqueVC() throws KustvaktException {
         // EM: message differs depending on the database used
         // for testing. The message below is from sqlite.
         // thrown.expectMessage("A UNIQUE constraint failed "
         // + "(UNIQUE constraint failed: virtual_corpus.name, "
         // + "virtual_corpus.created_by)");
-
         QueryJson vc = new QueryJson();
         vc.setCorpusQuery("corpusSigle=GOE");
         vc.setType(ResourceType.PRIVATE);
         vc.setQueryType(QueryType.VIRTUAL_CORPUS);
-        
-        Assert.assertThrows(KustvaktException.class,
-                () -> vcService.storeQuery(vc, "dory-vc", "dory", "dory"));
+        assertThrows(KustvaktException.class, () -> vcService.storeQuery(vc, "dory-vc", "dory", "dory"));
     }
 
     @Test
-    public void createDeletePublishVC () throws KustvaktException {
+    public void createDeletePublishVC() throws KustvaktException {
         String vcName = "new-published-vc";
-
         QueryJson vc = new QueryJson();
         vc.setCorpusQuery("corpusSigle=GOE");
         vc.setType(ResourceType.PUBLISHED);
         vc.setQueryType(QueryType.VIRTUAL_CORPUS);
         String username = "VirtualCorpusServiceTest";
         vcService.storeQuery(vc, vcName, username, username);
-
-        List<QueryAccessDto> accesses =
-                vcService.listQueryAccessByUsername("admin");
+        List<QueryAccessDto> accesses = vcService.listQueryAccessByUsername("admin");
         int size = accesses.size();
-
         QueryAccessDto dto = accesses.get(accesses.size() - 1);
         assertEquals(vcName, dto.getQueryName());
-        assertEquals("system", dto.getCreatedBy());
+        assertEquals(dto.getCreatedBy(), "system");
         assertTrue(dto.getUserGroupName().startsWith("auto"));
-
         // check hidden group
         int groupId = dto.getUserGroupId();
         UserGroup group = groupService.retrieveUserGroupById(groupId);
         assertEquals(UserGroupStatus.HIDDEN, group.getStatus());
-
-        //delete vc
-        vcService.deleteQueryByName(username, vcName, username,
-                QueryType.VIRTUAL_CORPUS);
-        
+        // delete vc
+        vcService.deleteQueryByName(username, vcName, username, QueryType.VIRTUAL_CORPUS);
         // check hidden access
         accesses = vcService.listQueryAccessByUsername("admin");
-        assertEquals(size-1, accesses.size());
-        
+        assertEquals(size - 1, accesses.size());
         // check hidden group
-        KustvaktException e = assertThrows(KustvaktException.class,
-                () -> groupService.retrieveUserGroupById(groupId));
-        assertEquals("Group with id " + groupId + " is not found",
-                e.getMessage());
+        KustvaktException e = assertThrows(KustvaktException.class, () -> groupService.retrieveUserGroupById(groupId));
+        assertEquals("Group with id " + groupId + " is not found", e.getMessage());
     }
 
     @Test
-    public void testEditPublishVC () throws KustvaktException {
+    public void testEditPublishVC() throws KustvaktException {
         String username = "dory";
         int vcId = 2;
-
         String vcName = "group-vc";
-        QueryDO existingVC =
-                vcService.searchQueryByName(username, vcName, username, QueryType.VIRTUAL_CORPUS);
+        QueryDO existingVC = vcService.searchQueryByName(username, vcName, username, QueryType.VIRTUAL_CORPUS);
         QueryJson vcJson = new QueryJson();
         vcJson.setType(ResourceType.PUBLISHED);
-
         vcService.editQuery(existingVC, vcJson, vcName, username);
-
         // check VC
         QueryDto vcDto = vcService.searchQueryById("dory", vcId);
         assertEquals(vcName, vcDto.getName());
-        assertEquals(ResourceType.PUBLISHED.displayName(),
-                vcDto.getType());
-
+        assertEquals(ResourceType.PUBLISHED.displayName(), vcDto.getType());
         // check access
-        List<QueryAccessDto> accesses =
-                vcService.listQueryAccessByUsername("admin");
+        List<QueryAccessDto> accesses = vcService.listQueryAccessByUsername("admin");
         int size = accesses.size();
         QueryAccessDto dto = accesses.get(accesses.size() - 1);
         assertEquals(vcName, dto.getQueryName());
-        assertEquals("system", dto.getCreatedBy());
+        assertEquals(dto.getCreatedBy(), "system");
         assertTrue(dto.getUserGroupName().startsWith("auto"));
-
         // check auto hidden group
         int groupId = dto.getUserGroupId();
         UserGroup group = groupService.retrieveUserGroupById(groupId);
         assertEquals(UserGroupStatus.HIDDEN, group.getStatus());
-
         // 2nd edit (withdraw from publication)
-
         vcJson = new QueryJson();
         vcJson.setType(ResourceType.PROJECT);
-
         vcService.editQuery(existingVC, vcJson, vcName, username);
-
         // check VC
         vcDto = vcService.searchQueryById("dory", vcId);
-        assertEquals("group-vc", vcDto.getName());
+        assertEquals(vcDto.getName(), "group-vc");
         assertEquals(ResourceType.PROJECT.displayName(), vcDto.getType());
-
         // check access
         accesses = vcService.listQueryAccessByUsername("admin");
         assertEquals(size - 1, accesses.size());
-
-        KustvaktException e = assertThrows(KustvaktException.class,
-                () -> groupService.retrieveUserGroupById(groupId));
-
-        assertEquals("Group with id " + groupId  + " is not found", e.getMessage());
+        KustvaktException e = assertThrows(KustvaktException.class, () -> groupService.retrieveUserGroupById(groupId));
+        assertEquals("Group with id " + groupId + " is not found", e.getMessage());
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/user/DataFactoryTest.java b/full/src/test/java/de/ids_mannheim/korap/user/DataFactoryTest.java
index f5d2fdd..513020e 100644
--- a/full/src/test/java/de/ids_mannheim/korap/user/DataFactoryTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/user/DataFactoryTest.java
@@ -1,72 +1,61 @@
 package de.ids_mannheim.korap.user;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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 org.junit.Ignore;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ArrayNode;
-
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.utils.JsonUtils;
 
-/** Taken from UserdataTest
+/**
+ * Taken from UserdataTest
+ *
  * @author hanl
  * @date 27/01/2016
  */
 public class DataFactoryTest {
 
     @Test
-    public void testDataFactoryAdd () throws KustvaktException {
+    public void testDataFactoryAdd() throws KustvaktException {
         String data = "{}";
         Object node = JsonUtils.readTree(data);
-
         DataFactory factory = DataFactory.getFactory();
         assertTrue(factory.addValue(node, "field_1", "value_1"));
         assertTrue(factory.addValue(node, "field_2", 20));
         assertTrue(factory.addValue(node, "field_3", true));
-
-
         data = "[]";
         node = JsonUtils.readTree(data);
-
         factory = DataFactory.getFactory();
         assertTrue(factory.addValue(node, "field_1", "value_1"));
         assertTrue(factory.addValue(node, "field_2", 20));
         assertTrue(factory.addValue(node, "field_3", true));
-
     }
 
-
     @Test
-    public void testDataFactoryGet () throws KustvaktException {
+    public void testDataFactoryGet() throws KustvaktException {
         String data = "{}";
         Object node = JsonUtils.readTree(data);
-
         DataFactory factory = DataFactory.getFactory();
         assertTrue(factory.addValue(node, "field_1", "value_1"));
         assertTrue(factory.addValue(node, "field_2", 20));
         assertTrue(factory.addValue(node, "field_3", true));
-
         Object value = factory.getValue(node, "field_1");
-        assertEquals("value_1", value);
+        assertEquals(value, "value_1");
         value = factory.getValue(node, "field_2");
         assertEquals(20, value);
         value = factory.getValue(node, "field_3");
         assertEquals(true, value);
-
         data = "[]";
         node = JsonUtils.readTree(data);
-
         assertTrue(factory.addValue(node, "", "value_2"));
         assertTrue(factory.addValue(node, "", 10));
         assertTrue(factory.addValue(node, "", false));
-
         value = factory.getValue(node, "/0");
-        assertEquals("value_2", value);
+        assertEquals(value, "value_2");
         value = factory.getValue(node, "/1");
         assertEquals(10, value);
         value = factory.getValue(node, "/2");
@@ -74,38 +63,31 @@
     }
 
     @Test
-    public void testDataFactoryMerge () throws KustvaktException {
+    public void testDataFactoryMerge() throws KustvaktException {
         String data = "{}";
         Object node = JsonUtils.readTree(data);
-
         DataFactory factory = DataFactory.getFactory();
         assertTrue(factory.addValue(node, "field_1", "value_1"));
         assertTrue(factory.addValue(node, "field_2", 20));
         assertTrue(factory.addValue(node, "field_3", true));
-
-
         data = "{}";
         Object node2 = JsonUtils.readTree(data);
         assertTrue(factory.addValue(node2, "field_1", "value_new"));
         assertTrue(factory.addValue(node2, "field_2", "value_next"));
         assertTrue(factory.addValue(node2, "field_4", "value_2"));
         assertTrue(factory.addValue(node2, "field_7", "value_3"));
-
         JsonNode node_new = (JsonNode) factory.merge(node, node2);
-
-        assertEquals("value_new", node_new.path("field_1").asText());
-        assertEquals("value_next", node_new.path("field_2").asText());
+        assertEquals(node_new.path("field_1").asText(), "value_new");
+        assertEquals(node_new.path("field_2").asText(), "value_next");
         assertEquals(true, node_new.path("field_3").asBoolean());
-        assertEquals("value_2", node_new.path("field_4").asText());
-        assertEquals("value_3", node_new.path("field_7").asText());
-
+        assertEquals(node_new.path("field_4").asText(), "value_2");
+        assertEquals(node_new.path("field_7").asText(), "value_3");
     }
-    
+
     @Test
-    public void testDataFactoryKeys () throws KustvaktException {
+    public void testDataFactoryKeys() throws KustvaktException {
         String data = "{}";
         Object node = JsonUtils.readTree(data);
-
         DataFactory factory = DataFactory.getFactory();
         assertTrue(factory.addValue(node, "field_1", "value_1"));
         assertTrue(factory.addValue(node, "field_2", 20));
@@ -115,72 +97,60 @@
     }
 
     @Test
-    @Ignore
-    public void testDataFactoryRemove () throws KustvaktException {
+    @Disabled
+    public void testDataFactoryRemove() throws KustvaktException {
         String data = "{}";
         Object node = JsonUtils.readTree(data);
-
         DataFactory factory = DataFactory.getFactory();
         assertTrue(factory.addValue(node, "field_1", "value_1"));
         assertTrue(factory.addValue(node, "field_2", 20));
         assertTrue(factory.addValue(node, "field_3", true));
-
         Object value = factory.getValue(node, "field_1");
-        assertEquals("value_1", value);
+        assertEquals(value, "value_1");
         value = factory.getValue(node, "field_2");
         assertEquals(20, value);
         value = factory.getValue(node, "field_3");
         assertEquals(true, value);
-
         assertTrue(factory.removeValue(node, "field_1"));
         assertTrue(factory.removeValue(node, "field_2"));
         assertTrue(factory.removeValue(node, "field_3"));
         assertNotNull(node);
-        assertEquals("{}", node.toString());
-
+        assertEquals(node.toString(), "{}");
         data = "[]";
         node = JsonUtils.readTree(data);
-
         assertTrue(factory.addValue(node, "", "value_2"));
         assertTrue(factory.addValue(node, "", 10));
         assertTrue(factory.addValue(node, "", false));
-
         value = factory.getValue(node, "/0");
-        assertEquals("value_2", value);
+        assertEquals(value, "value_2");
         value = factory.getValue(node, "/1");
         assertEquals(10, value);
         value = factory.getValue(node, "/2");
         assertEquals(false, value);
-
-
         // fixme: cannot be removed
         assertTrue(factory.removeValue(node, "0"));
         assertTrue(factory.removeValue(node, "1"));
         assertTrue(factory.removeValue(node, "2"));
         assertNotNull(node);
-        assertEquals("[]", node.toString());
+        assertEquals(node.toString(), "[]");
     }
-    
+
     @Test
-    public void testDataFactoryEmbeddedProperty () throws KustvaktException {
+    public void testDataFactoryEmbeddedProperty() throws KustvaktException {
         String data = "{}";
         JsonNode node = JsonUtils.readTree(data);
-
         DataFactory factory = DataFactory.getFactory();
         assertTrue(factory.addValue(node, "field_1", "value_1"));
         assertTrue(factory.addValue(node, "field_2", 20));
         assertTrue(factory.addValue(node, "field_3", true));
-
         ArrayNode array = JsonUtils.createArrayNode();
         array.add(10);
         array.add("v1");
         array.add("v2");
         factory.addValue(node, "field_3", array);
-
         assertNotNull(node);
         assertEquals(10, node.at("/field_3/0").asInt());
-        assertEquals("v1", node.at("/field_3/1").asText());
-        assertEquals("v2", node.at("/field_3/2").asText());
-
+        assertEquals(node.at("/field_3/1").asText(), "v1");
+        assertEquals(node.at("/field_3/2").asText(), "v2");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/user/UserdataTest.java b/full/src/test/java/de/ids_mannheim/korap/user/UserdataTest.java
index c828b05..75f3e6b 100644
--- a/full/src/test/java/de/ids_mannheim/korap/user/UserdataTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/user/UserdataTest.java
@@ -1,24 +1,24 @@
 package de.ids_mannheim.korap.user;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.node.ArrayNode;
-
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.utils.JsonUtils;
 import de.ids_mannheim.korap.validator.ApacheValidator;
 import edu.emory.mathcs.backport.java.util.Arrays;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 /**
  * @author hanl, margaretha
  * @date 27/01/2016
@@ -27,38 +27,36 @@
 
     // EM: added
     @Test
-    public void testReadEmptyMap () throws KustvaktException {
+    public void testReadEmptyMap() throws KustvaktException {
         Userdata userData = new UserSettingProcessor();
         userData.read(new HashMap<>(), false);
         String jsonSettings = userData.serialize();
-        assertEquals("{}", jsonSettings);
+        assertEquals(jsonSettings, "{}");
     }
 
     @Test
-    public void testReadNullMap () throws KustvaktException {
+    public void testReadNullMap() throws KustvaktException {
         Userdata userData = new UserSettingProcessor();
         userData.read(null, false);
         String jsonSettings = userData.serialize();
-        assertEquals("{}", jsonSettings);
+        assertEquals(jsonSettings, "{}");
     }
 
     // EM: based on MH code, supposedly to validate entries like email
     // and date. See ApacheValidator
-    //
+    // 
     // It has inconsistent behaviors:
     // throws exceptions when there are invalid entries in a list,
     // otherwise skips invalid entries and returns a valid map
     // Moreover, Userdata.validate(ValidatorIface) does not return a
     // valid map.
-    //
+    // 
     // At the moment, validation is not needed for default settings.
     @Test
-    public void testValidateMap () throws IOException, KustvaktException {
-
+    public void testValidateMap() throws IOException, KustvaktException {
         Map<String, Object> map = new HashMap<>();
-        map.put("k1", Arrays.asList(new String[] { "a", "b", "c" }));
-        map.put("k2", Arrays.asList(new Integer[] { 1, 2, 3 }));
-
+        map.put("k1", Arrays.asList(new String[]{"a", "b", "c"}));
+        map.put("k2", Arrays.asList(new Integer[]{1, 2, 3}));
         Userdata data = new UserSettingProcessor();
         data.read(map, false);
         data.validate(new ApacheValidator());
@@ -66,10 +64,9 @@
 
     // EM: below are tests from MH
     @Test
-    public void testDataValidation () {
+    public void testDataValidation() {
         Userdata data = new UserDetails(1);
         data.setField(Attributes.COUNTRY, "Germany");
-
         String[] req = data.requiredFields();
         String[] r = data.findMissingFields();
         assertNotEquals(0, r.length);
@@ -77,21 +74,19 @@
         assertFalse(data.isValid());
     }
 
-
     @Test
-    public void testSettingsValidation () {
+    public void testSettingsValidation() {
         Userdata data = new UserSettingProcessor();
         data.setField(Attributes.FILE_FORMAT_FOR_EXPORT, "export");
-
         String[] req = data.requiredFields();
         String[] r = data.findMissingFields();
         assertEquals(0, r.length);
         assertEquals(req.length, r.length);
         assertTrue(data.isValid());
     }
-    
+
     @Test
-    public void testUserdataRequiredFields () throws KustvaktException {
+    public void testUserdataRequiredFields() throws KustvaktException {
         UserDetails details = new UserDetails(-1);
         Map<String, Object> m = new HashMap<>();
         m.put(Attributes.FIRSTNAME, "first");
@@ -99,14 +94,13 @@
         m.put(Attributes.ADDRESS, "address");
         m.put(Attributes.EMAIL, "email");
         details.setData(JsonUtils.toJSON(m));
-
         details.setData(JsonUtils.toJSON(m));
         String[] missing = details.findMissingFields();
         assertEquals(0, missing.length);
     }
 
     @Test
-    public void testUserdataDefaultFields () throws KustvaktException {
+    public void testUserdataDefaultFields() throws KustvaktException {
         UserSettingProcessor settings = new UserSettingProcessor();
         Map<String, Object> m = new HashMap<>();
         m.put(Attributes.DEFAULT_FOUNDRY_RELATION, "rel_1");
@@ -116,38 +110,34 @@
         m.put(Attributes.PAGE_LENGTH, 10);
         m.put(Attributes.QUERY_LANGUAGE, "poliqarp");
         m.put(Attributes.METADATA_QUERY_EXPERT_MODUS, false);
-
         settings.read(m, true);
-
         assertNotEquals(m.size(), settings.size());
         assertEquals(settings.defaultFields().length, settings.size());
-        assertEquals("rel_1", settings.get(Attributes.DEFAULT_FOUNDRY_RELATION));
-        assertEquals("pos_1", settings.get(Attributes.DEFAULT_FOUNDRY_POS));
-        assertEquals("lemma_1", settings.get(Attributes.DEFAULT_FOUNDRY_LEMMA));
-        assertEquals("const_1", settings.get(Attributes.DEFAULT_FOUNDRY_CONSTITUENT));
+        assertEquals(settings.get(Attributes.DEFAULT_FOUNDRY_RELATION), "rel_1");
+        assertEquals(settings.get(Attributes.DEFAULT_FOUNDRY_POS), "pos_1");
+        assertEquals(settings.get(Attributes.DEFAULT_FOUNDRY_LEMMA), "lemma_1");
+        assertEquals(settings.get(Attributes.DEFAULT_FOUNDRY_CONSTITUENT), "const_1");
         assertEquals(10, settings.get(Attributes.PAGE_LENGTH));
-
-    }
-
-    @Test(expected = KustvaktException.class)
-    public void testUserDataRequiredFieldsException ()
-            throws KustvaktException {
-        UserDetails details = new UserDetails(-1);
-        Map<String, Object> m = new HashMap<>();
-        m.put(Attributes.FIRSTNAME, "first");
-        m.put(Attributes.LASTNAME, "last");
-        m.put(Attributes.ADDRESS, "address");
-
-        details.setData(JsonUtils.toJSON(m));
-        String[] missing = details.findMissingFields();
-
-        assertEquals(1, missing.length);
-        assertEquals("email", missing[0]);
-        details.checkRequired();
     }
 
     @Test
-    public void testUserDataPointerFunction () throws KustvaktException {
+    public void testUserDataRequiredFieldsException() {
+        assertThrows(KustvaktException.class, () -> {
+            UserDetails details = new UserDetails(-1);
+            Map<String, Object> m = new HashMap<>();
+            m.put(Attributes.FIRSTNAME, "first");
+            m.put(Attributes.LASTNAME, "last");
+            m.put(Attributes.ADDRESS, "address");
+            details.setData(JsonUtils.toJSON(m));
+            String[] missing = details.findMissingFields();
+            assertEquals(1, missing.length);
+            assertEquals(missing[0], "email");
+            details.checkRequired();
+        });
+    }
+
+    @Test
+    public void testUserDataPointerFunction() throws KustvaktException {
         UserDetails details = new UserDetails(-1);
         Map<String, Object> m = new HashMap<>();
         m.put(Attributes.FIRSTNAME, "first");
@@ -155,29 +145,25 @@
         m.put(Attributes.ADDRESS, "address");
         m.put(Attributes.EMAIL, "email");
         details.setData(JsonUtils.toJSON(m));
-
         ArrayNode array = JsonUtils.createArrayNode();
         array.add(100);
         array.add("message");
         details.setField("errors", array);
-
         assertEquals(100, details.get("/errors/0"));
-        assertEquals("message", details.get("/errors/1"));
+        assertEquals(details.get("/errors/1"), "message");
     }
 
     @Test
-    public void testUserDataUpdate () {
+    public void testUserDataUpdate() {
         UserDetails details = new UserDetails(-1);
         details.setField(Attributes.FIRSTNAME, "first");
         details.setField(Attributes.LASTNAME, "last");
         details.setField(Attributes.ADDRESS, "address");
         details.setField(Attributes.EMAIL, "email");
-
         UserDetails details2 = new UserDetails(-1);
         details2.setField(Attributes.COUNTRY, "Germany");
         details.update(details2);
-
-        assertEquals("first", details.get(Attributes.FIRSTNAME));
-        assertEquals("Germany", details.get(Attributes.COUNTRY));
+        assertEquals(details.get(Attributes.FIRSTNAME), "first");
+        assertEquals(details.get(Attributes.COUNTRY), "Germany");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/ApiVersionTest.java b/full/src/test/java/de/ids_mannheim/korap/web/ApiVersionTest.java
index cc17b66..e06fe0d 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/ApiVersionTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/ApiVersionTest.java
@@ -1,11 +1,11 @@
 package de.ids_mannheim.korap.web;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.net.URI;
 
 import org.eclipse.jetty.http.HttpStatus;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -14,31 +14,22 @@
 
 /**
  * @author margaretha
- *
  */
 public class ApiVersionTest extends SpringJerseyTest {
 
     @Test
-    public void testSearchWithoutVersion () throws KustvaktException {
-        Response response = target().path("api").path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .request()
-                .accept(MediaType.APPLICATION_JSON).get();
+    public void testSearchWithoutVersion() throws KustvaktException {
+        Response response = target().path("api").path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").request().accept(MediaType.APPLICATION_JSON).get();
         assertEquals(HttpStatus.PERMANENT_REDIRECT_308, response.getStatus());
         URI location = response.getLocation();
-        assertEquals("/api/"+API_VERSION+"/search", location.getPath());
+        assertEquals("/api/" + API_VERSION + "/search", location.getPath());
     }
 
     @Test
-    public void testSearchWrongVersion () throws KustvaktException {
-        Response response = target().path("api").path("v0.2")
-                .path("search").queryParam("q", "[orth=der]")
-                .queryParam("ql", "poliqarp")
-                .request()
-                .accept(MediaType.APPLICATION_JSON)
-                .get();
+    public void testSearchWrongVersion() throws KustvaktException {
+        Response response = target().path("api").path("v0.2").path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").request().accept(MediaType.APPLICATION_JSON).get();
         assertEquals(HttpStatus.PERMANENT_REDIRECT_308, response.getStatus());
         URI location = response.getLocation();
-        assertEquals("/api/"+API_VERSION+"/search", location.getPath());
+        assertEquals("/api/" + API_VERSION + "/search", location.getPath());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/InitialSuperClientTest.java b/full/src/test/java/de/ids_mannheim/korap/web/InitialSuperClientTest.java
index 0c52e05..a936e6b 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/InitialSuperClientTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/InitialSuperClientTest.java
@@ -1,14 +1,13 @@
 package de.ids_mannheim.korap.web;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
 import java.io.IOException;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 
 import de.ids_mannheim.korap.config.FullConfiguration;
@@ -26,48 +25,38 @@
 
     @Autowired
     private FullConfiguration config;
+
     @Autowired
     private OAuth2ClientDao clientDao;
-    
-    private String path = KustvaktConfiguration.DATA_FOLDER + "/"
-            + OAuth2InitClientService.TEST_OUTPUT_FILENAME;
+
+    private String path = KustvaktConfiguration.DATA_FOLDER + "/" + OAuth2InitClientService.TEST_OUTPUT_FILENAME;
 
     @Test
-    public void testCreatingInitialSuperClient ()
-            throws IOException, KustvaktException {
+    public void testCreatingInitialSuperClient() throws IOException, KustvaktException {
         assertTrue(config.createInitialSuperClient());
-       
         File f = new File(path);
         assertTrue(f.exists());
-
         JsonNode node = JsonUtils.readFile(path, JsonNode.class);
         String superClientId = node.at("/client_id").asText();
         String superClientSecret = node.at("/client_secret").asText();
-
         OAuth2Client superClient = clientDao.retrieveClientById(superClientId);
         assertTrue(superClient.isSuper());
-
         testLogin(superClientId, superClientSecret);
-        
         removeSuperClientFile();
     }
 
-    private void testLogin (String superClientId, String superClientSecret)
-            throws KustvaktException {
-        Response response = requestTokenWithPassword(superClientId,
-                superClientSecret, "username", "password");
-
+    private void testLogin(String superClientId, String superClientSecret) throws KustvaktException {
+        Response response = requestTokenWithPassword(superClientId, superClientSecret, "username", "password");
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         assertTrue(!node.at("/access_token").isMissingNode());
         assertTrue(!node.at("/refresh_token").isMissingNode());
         assertTrue(!node.at("/expires_in").isMissingNode());
-        assertEquals("all", node.at("/scope").asText());
-        assertEquals("Bearer", node.at("/token_type").asText());
+        assertEquals(node.at("/scope").asText(), "all");
+        assertEquals(node.at("/token_type").asText(), "Bearer");
     }
-    
-    private void removeSuperClientFile () {
+
+    private void removeSuperClientFile() {
         File f = new File(path);
         if (f.exists()) {
             f.delete();
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/JettyServerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/JettyServerTest.java
index 7453647..0255c45 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/JettyServerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/JettyServerTest.java
@@ -1,6 +1,6 @@
 package de.ids_mannheim.korap.web;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.IOException;
 import java.net.HttpURLConnection;
@@ -11,34 +11,31 @@
 import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.handler.HandlerList;
 import org.eclipse.jetty.server.handler.ShutdownHandler;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 /**
  * @author margaretha
- *
  */
-@Ignore
+@Disabled
 public class JettyServerTest {
 
-    @BeforeClass
-    public static void testServerStarts () throws Exception {
+    @BeforeAll
+    static void testServerStarts() throws Exception {
         Server server = new Server();
         ServerConnector connector = new ServerConnector(server);
         connector.setPort(8000);
-        server.setConnectors(new Connector[] { connector });
-        
+        server.setConnectors(new Connector[]{connector});
         HandlerList handlers = new HandlerList();
         handlers.addHandler(new ShutdownHandler("secret", false, true));
         server.setHandler(handlers);
         server.start();
     }
-    
+
     @Test
-    public void testShutdown () throws IOException {
-        URL url = new URL(
-                "http://localhost:8000/shutdown?token=secret");
+    public void testShutdown() throws IOException {
+        URL url = new URL("http://localhost:8000/shutdown?token=secret");
         HttpURLConnection connection = (HttpURLConnection) url.openConnection();
         connection.setRequestMethod("POST");
         assertEquals(200, connection.getResponseCode());
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/SearchKrillTest.java b/full/src/test/java/de/ids_mannheim/korap/web/SearchKrillTest.java
index c9acc30..c4476c2 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/SearchKrillTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/SearchKrillTest.java
@@ -1,16 +1,14 @@
 package de.ids_mannheim.korap.web;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import jakarta.annotation.PostConstruct;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.KrillIndex;
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
@@ -21,70 +19,63 @@
 
 /**
  * Created by hanl on 02.06.16.
- * 
+ * <p>
  * Updated by margaretha
  */
 public class SearchKrillTest extends SpringJerseyTest {
 
     @Autowired
     KustvaktConfiguration config;
-    
+
     SearchKrill krill = null;
-    
+
     @PostConstruct
-    private void createKrill () {
+    private void createKrill() {
         krill = new SearchKrill(config.getIndexDir());
         assertNotNull(krill);
     }
 
     @Test
-    public void testIndex () throws KustvaktException {
+    public void testIndex() throws KustvaktException {
         KrillIndex index = krill.getIndex();
         assertNotNull(index);
     }
 
     @Test
-    public void testDocSize () {
+    public void testDocSize() {
         assertNotEquals(0, krill.getIndex().numberOf("documents"));
     }
 
     @Test
-    public void testMatchInfo () throws KustvaktException {
-        String matchinfo = krill.getMatch("WPD/AAA.00002/p169-197",
-                config.getFreeLicensePattern());
+    public void testMatchInfo() throws KustvaktException {
+        String matchinfo = krill.getMatch("WPD/AAA.00002/p169-197", config.getFreeLicensePattern());
         JsonNode node = JsonUtils.readTree(matchinfo);
-        assertEquals("Invalid match identifier",
-                node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "Invalid match identifier");
     }
 
     @Test
-    public void testSearch () throws KustvaktException {
+    public void testSearch() throws KustvaktException {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[orth=der]", "poliqarp");
-
         String result = krill.search(s.toJSON());
-
         JsonNode node = JsonUtils.readTree(result);
         assertNotNull(node);
         assertNotEquals(0, node.at("/matches").size());
     }
 
     @Test
-    public void testTimeOut () throws KustvaktException {
+    public void testTimeOut() throws KustvaktException {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[orth=der]", "poliqarp");
-//        s.setQuery("node ->malt/d[func=/.*/] node", "annis");
-        
+        // s.setQuery("node ->malt/d[func=/.*/] node", "annis");
         MetaQueryBuilder meta = new MetaQueryBuilder();
         meta.addEntry("timeout", 1);
         s.setMeta(meta);
-
         String query = s.toJSON();
         JsonNode node = JsonUtils.readTree(query);
         assertEquals(1, node.at("/meta/timeout").asInt());
-        
         String result = krill.search(query);
         node = JsonUtils.readTree(result);
-        assertEquals(true,node.at("/meta/timeExceeded").asBoolean());
+        assertEquals(true, node.at("/meta/timeExceeded").asBoolean());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/AdminLoadVCTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/AdminLoadVCTest.java
index aa86572..c7bc757 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/AdminLoadVCTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/AdminLoadVCTest.java
@@ -1,10 +1,10 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import com.google.common.net.HttpHeaders;
 
@@ -20,21 +20,14 @@
 public class AdminLoadVCTest extends SpringJerseyTest {
 
     @Test
-    public void testLoadCacheVC () throws KustvaktException, InterruptedException {
+    public void testLoadCacheVC() throws KustvaktException, InterruptedException {
         assertFalse(VirtualCorpusCache.contains("named-vc1"));
         Form f = new Form();
         f.param("token", "secret");
-        
-        Response response = target().path(API_VERSION).path("admin").path("vc")
-                .path("load-cache").request()
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-
+        Response response = target().path(API_VERSION).path("admin").path("vc").path("load-cache").request().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-        
         Thread.sleep(100);
         assertTrue(VirtualCorpusCache.contains("named-vc1"));
-        
         VirtualCorpusCache.reset();
         assertFalse(VirtualCorpusCache.contains("named-vc1"));
     }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/AnnotationControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/AnnotationControllerTest.java
index b059fc4..9626114 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/AnnotationControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/AnnotationControllerTest.java
@@ -1,102 +1,79 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Iterator;
 import java.util.Map.Entry;
 
-import jakarta.ws.rs.client.Entity;
-
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import com.fasterxml.jackson.databind.JsonNode;
-import jakarta.ws.rs.core.Response;
 
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.utils.JsonUtils;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Response;
 
 public class AnnotationControllerTest extends SpringJerseyTest {
-    @Test
-    public void testAnnotationLayers () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("annotation").path("layers")
-                .request()
-                .get();
 
+    @Test
+    public void testAnnotationLayers() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("annotation").path("layers").request().get();
         String entity = response.readEntity(String.class);
         JsonNode n = JsonUtils.readTree(entity);
-
         assertEquals(31, n.size());
         n = n.get(0);
         assertEquals(1, n.get("id").asInt());
-//        assertEquals("opennlp/p", n.get("code").asText());
-//        assertEquals("p", n.get("layer").asText());
-//        assertEquals("opennlp", n.get("foundry").asText());
-//        assertNotNull(n.get("description"));
+        // assertEquals("opennlp/p", n.get("code").asText());
+        // assertEquals("p", n.get("layer").asText());
+        // assertEquals("opennlp", n.get("foundry").asText());
+        // assertNotNull(n.get("description"));
     }
 
     @Test
-    public void testAnnotationFoundry () throws KustvaktException {
+    public void testAnnotationFoundry() throws KustvaktException {
         String json = "{\"codes\":[\"opennlp/*\"], \"language\":\"en\"}";
-        Response response =
-                target().path(API_VERSION).path("annotation")
-                        .path("description")
-                        .request()
-                        .post(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("annotation").path("description").request().post(Entity.json(json));
         String entity = response.readEntity(String.class);
         JsonNode n = JsonUtils.readTree(entity);
-
         n = n.get(0);
-        assertEquals("opennlp", n.get("code").asText());
-        assertEquals("OpenNLP", n.get("description").asText());
+        assertEquals(n.get("code").asText(), "opennlp");
+        assertEquals(n.get("description").asText(), "OpenNLP");
         assertEquals(1, n.get("layers").size());
-
         n = n.get("layers").get(0);
-        assertEquals("p", n.get("code").asText());
-        assertEquals("Part-of-Speech", n.get("description").asText());
+        assertEquals(n.get("code").asText(), "p");
+        assertEquals(n.get("description").asText(), "Part-of-Speech");
         assertEquals(52, n.get("keys").size());
-
         n = n.get("keys").get(0);
-        assertEquals("ADJA", n.get("code").asText());
-        assertEquals("Attributive Adjective", n.get("description").asText());
+        assertEquals(n.get("code").asText(), "ADJA");
+        assertEquals(n.get("description").asText(), "Attributive Adjective");
         assertTrue(n.get("values") == null);
     }
 
     @Test
-    public void testAnnotationValues () throws KustvaktException {
+    public void testAnnotationValues() throws KustvaktException {
         String json = "{\"codes\":[\"mate/m\"], \"language\":\"en\"}";
-        Response response =
-                target().path(API_VERSION).path("annotation")
-                        .path("description")
-                        .request()
-                        .post(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("annotation").path("description").request().post(Entity.json(json));
         String entity = response.readEntity(String.class);
         JsonNode n = JsonUtils.readTree(entity);
-
         n = n.get(0);
-        assertEquals("mate", n.get("code").asText());
-        assertEquals("Mate", n.get("description").asText());
+        assertEquals(n.get("code").asText(), "mate");
+        assertEquals(n.get("description").asText(), "Mate");
         assertEquals(1, n.get("layers").size());
-
         n = n.get("layers").get(0);
-        assertEquals("m", n.get("code").asText());
-        assertEquals("Morphology", n.get("description").asText());
+        assertEquals(n.get("code").asText(), "m");
+        assertEquals(n.get("description").asText(), "Morphology");
         assertEquals(8, n.get("keys").size());
-
         n = n.get("keys").get(1);
-        assertEquals("case", n.get("code").asText());
-        assertEquals("Case", n.get("description").asText());
+        assertEquals(n.get("code").asText(), "case");
+        assertEquals(n.get("description").asText(), "Case");
         assertEquals(5, n.get("values").size());
-
         n = n.get("values");
         Iterator<Entry<String, JsonNode>> fields = n.fields();
         Entry<String, JsonNode> e = fields.next();
-        assertEquals("*", e.getKey());
-        assertEquals("Undefined", e.getValue().asText());
+        assertEquals(e.getKey(), "*");
+        assertEquals(e.getValue().asText(), "Undefined");
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/AvailabilityTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/AvailabilityTest.java
index eaf844d..ca4c915 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/AvailabilityTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/AvailabilityTest.java
@@ -1,11 +1,10 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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 org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.ProcessingException;
@@ -20,444 +19,264 @@
 
 public class AvailabilityTest extends SpringJerseyTest {
 
-    private void checkAndFree (String json) throws KustvaktException {
+    private void checkAndFree(String json) throws KustvaktException {
         JsonNode node = JsonUtils.readTree(json);
-        assertEquals("availability",
-                node.at("/collection/operands/0/key").asText());
-        assertEquals("CC-BY.*",
-                node.at("/collection/operands/0/value").asText());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
-        assertEquals("availability(FREE)",
-                node.at("/collection/rewrites/0/scope").asText());
+        assertEquals(node.at("/collection/operands/0/key").asText(), "availability");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(FREE)");
     }
 
-
-    private void checkAndPublic (String json) throws KustvaktException {
+    private void checkAndPublic(String json) throws KustvaktException {
         JsonNode node = JsonUtils.readTree(json);
         assertNotNull(node);
-
-        assertEquals("operation:and",
-                node.at("/collection/operation").asText());
-        assertEquals("match:eq",
-                node.at("/collection/operands/0/operands/0/match").asText());
-        assertEquals("type:regex",
-                node.at("/collection/operands/0/operands/0/type").asText());
-        assertEquals("availability",
-                node.at("/collection/operands/0/operands/0/key").asText());
-        assertEquals("CC-BY.*",
-                node.at("/collection/operands/0/operands/0/value").asText());
-        assertEquals("match:eq",
-                node.at("/collection/operands/0/operands/1/operands/0/match")
-                        .asText());
-        assertEquals("ACA.*",
-                node.at("/collection/operands/0/operands/1/operands/0/value")
-                        .asText());
-        assertEquals("match:eq",
-                node.at("/collection/operands/0/operands/1/operands/1/match")
-                        .asText());
-        assertEquals("QAO-NC",
-                node.at("/collection/operands/0/operands/1/operands/1/value")
-                        .asText());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
-        assertEquals("availability(PUB)",
-                node.at("/collection/rewrites/0/scope").asText());
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
+        assertEquals(node.at("/collection/operands/0/operands/0/match").asText(), "match:eq");
+        assertEquals(node.at("/collection/operands/0/operands/0/type").asText(), "type:regex");
+        assertEquals(node.at("/collection/operands/0/operands/0/key").asText(), "availability");
+        assertEquals(node.at("/collection/operands/0/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/operands/0/operands/1/operands/0/match").asText(), "match:eq");
+        assertEquals(node.at("/collection/operands/0/operands/1/operands/0/value").asText(), "ACA.*");
+        assertEquals(node.at("/collection/operands/0/operands/1/operands/1/match").asText(), "match:eq");
+        assertEquals(node.at("/collection/operands/0/operands/1/operands/1/value").asText(), "QAO-NC");
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(PUB)");
     }
 
-    private void checkAndPublicWithACA (String json) throws KustvaktException {
+    private void checkAndPublicWithACA(String json) throws KustvaktException {
         JsonNode node = JsonUtils.readTree(json);
         assertNotNull(node);
-        assertEquals("operation:and",
-                node.at("/collection/operation").asText());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
-        assertEquals("availability(PUB)",
-                node.at("/collection/rewrites/0/scope").asText());
-
-        assertEquals("match:eq",
-                node.at("/collection/operands/1/match").asText());
-        assertEquals("type:regex",
-                node.at("/collection/operands/1/type").asText());
-        assertEquals("availability",
-                node.at("/collection/operands/1/key").asText());
-        assertEquals("ACA.*", node.at("/collection/operands/1/value").asText());
-
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(PUB)");
+        assertEquals(node.at("/collection/operands/1/match").asText(), "match:eq");
+        assertEquals(node.at("/collection/operands/1/type").asText(), "type:regex");
+        assertEquals(node.at("/collection/operands/1/key").asText(), "availability");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "ACA.*");
         node = node.at("/collection/operands/0");
-        assertEquals("match:eq", node.at("/operands/0/match").asText());
-        assertEquals("type:regex", node.at("/operands/0/type").asText());
-        assertEquals("availability", node.at("/operands/0/key").asText());
-        assertEquals("CC-BY.*", node.at("/operands/0/value").asText());
-
-        assertEquals("match:eq",
-                node.at("/operands/1/operands/0/match").asText());
-        assertEquals("type:regex",
-                node.at("/operands/1/operands/0/type").asText());
-        assertEquals("availability",
-                node.at("/operands/1/operands/0/key").asText());
-        assertEquals("ACA.*", node.at("/operands/1/operands/0/value").asText());
-
-
+        assertEquals(node.at("/operands/0/match").asText(), "match:eq");
+        assertEquals(node.at("/operands/0/type").asText(), "type:regex");
+        assertEquals(node.at("/operands/0/key").asText(), "availability");
+        assertEquals(node.at("/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/operands/1/operands/0/match").asText(), "match:eq");
+        assertEquals(node.at("/operands/1/operands/0/type").asText(), "type:regex");
+        assertEquals(node.at("/operands/1/operands/0/key").asText(), "availability");
+        assertEquals(node.at("/operands/1/operands/0/value").asText(), "ACA.*");
     }
 
-    private void checkAndAllWithACA (String json) throws KustvaktException {
+    private void checkAndAllWithACA(String json) throws KustvaktException {
         JsonNode node = JsonUtils.readTree(json);
         assertNotNull(node);
-        assertEquals("operation:and",
-                node.at("/collection/operation").asText());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
-        assertEquals("availability(ALL)",
-                node.at("/collection/rewrites/0/scope").asText());
-
-        assertEquals("match:eq",
-                node.at("/collection/operands/1/match").asText());
-        assertEquals("type:regex",
-                node.at("/collection/operands/1/type").asText());
-        assertEquals("availability",
-                node.at("/collection/operands/1/key").asText());
-        assertEquals("ACA.*", node.at("/collection/operands/1/value").asText());
-
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(ALL)");
+        assertEquals(node.at("/collection/operands/1/match").asText(), "match:eq");
+        assertEquals(node.at("/collection/operands/1/type").asText(), "type:regex");
+        assertEquals(node.at("/collection/operands/1/key").asText(), "availability");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "ACA.*");
         node = node.at("/collection/operands/0");
-
-        assertEquals("match:eq", node.at("/operands/0/match").asText());
-        assertEquals("type:regex", node.at("/operands/0/type").asText());
-        assertEquals("availability", node.at("/operands/0/key").asText());
-        assertEquals("CC-BY.*", node.at("/operands/0/value").asText());
-        assertEquals("match:eq",
-                node.at("/operands/1/operands/1/operands/0/match").asText());
-        assertEquals("QAO-NC",
-                node.at("/operands/1/operands/1/operands/0/value").asText());
-        assertEquals("match:eq",
-                node.at("/operands/1/operands/1/operands/1/match").asText());
-        assertEquals("QAO.*",
-                node.at("/operands/1/operands/1/operands/1/value").asText());
-
+        assertEquals(node.at("/operands/0/match").asText(), "match:eq");
+        assertEquals(node.at("/operands/0/type").asText(), "type:regex");
+        assertEquals(node.at("/operands/0/key").asText(), "availability");
+        assertEquals(node.at("/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/operands/1/operands/1/operands/0/match").asText(), "match:eq");
+        assertEquals(node.at("/operands/1/operands/1/operands/0/value").asText(), "QAO-NC");
+        assertEquals(node.at("/operands/1/operands/1/operands/1/match").asText(), "match:eq");
+        assertEquals(node.at("/operands/1/operands/1/operands/1/value").asText(), "QAO.*");
     }
 
-
-
-    private Response searchQuery (String collectionQuery) {
-        return target().path(API_VERSION).path("search").queryParam("q", "[orth=das]")
-                .queryParam("ql", "poliqarp").queryParam("cq", collectionQuery)
-                .request()
-                .get();
+    private Response searchQuery(String collectionQuery) {
+        return target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("cq", collectionQuery).request().get();
     }
 
-
-    private Response searchQueryWithIP (String collectionQuery, String ip)
-            throws ProcessingException,
-            KustvaktException {
-        return target().path(API_VERSION).path("search").queryParam("q", "[orth=das]")
-                .queryParam("ql", "poliqarp").queryParam("cq", collectionQuery)
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .header(HttpHeaders.X_FORWARDED_FOR, ip)
-                .get();
+    private Response searchQueryWithIP(String collectionQuery, String ip) throws ProcessingException, KustvaktException {
+        return target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("cq", collectionQuery).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).header(HttpHeaders.X_FORWARDED_FOR, ip).get();
     }
 
-
     @Test
-    public void testAvailabilityFreeAuthorized () throws KustvaktException {
+    public void testAvailabilityFreeAuthorized() throws KustvaktException {
         Response response = searchQuery("availability = CC-BY-SA");
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
-
     @Test
-    public void testAvailabilityRegexFreeAuthorized ()
-            throws KustvaktException {
+    public void testAvailabilityRegexFreeAuthorized() throws KustvaktException {
         Response response = searchQuery("availability = /.*BY.*/");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
-
     @Test
-    public void testAvailabilityFreeUnauthorized () throws KustvaktException {
+    public void testAvailabilityFreeUnauthorized() throws KustvaktException {
         Response response = searchQuery("availability = ACA-NC");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
-
     @Test
-    public void testAvailabilityRegexFreeUnauthorized ()
-            throws KustvaktException {
+    public void testAvailabilityRegexFreeUnauthorized() throws KustvaktException {
         Response response = searchQuery("availability = /ACA.*/");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
     @Test
-    public void testAvailabilityRegexNoRewrite () throws KustvaktException {
-        Response response = searchQuery(
-                "availability = /CC-BY.*/ & availability = /ACA.*/");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testAvailabilityRegexNoRewrite() throws KustvaktException {
+        Response response = searchQuery("availability = /CC-BY.*/ & availability = /ACA.*/");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String json = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(json);
-        assertEquals("operation:and",
-                node.at("/collection/operation").asText());
-        assertEquals("match:eq",
-                node.at("/collection/operands/0/match").asText());
-        assertEquals("type:regex",
-                node.at("/collection/operands/0/type").asText());
-        assertEquals("availability",
-                node.at("/collection/operands/0/key").asText());
-        assertEquals("CC-BY.*",
-                node.at("/collection/operands/0/value").asText());
-        assertEquals("match:eq",
-                node.at("/collection/operands/1/match").asText());
-        assertEquals("ACA.*", node.at("/collection/operands/1/value").asText());
-
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
+        assertEquals(node.at("/collection/operands/0/match").asText(), "match:eq");
+        assertEquals(node.at("/collection/operands/0/type").asText(), "type:regex");
+        assertEquals(node.at("/collection/operands/0/key").asText(), "availability");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/operands/1/match").asText(), "match:eq");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "ACA.*");
     }
 
-
     @Test
-    public void testAvailabilityRegexFreeUnauthorized3 ()
-            throws KustvaktException {
+    public void testAvailabilityRegexFreeUnauthorized3() throws KustvaktException {
         Response response = searchQuery("availability = /.*NC.*/");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         // System.out.println(response.readEntity(String.class));
         checkAndFree(response.readEntity(String.class));
     }
 
-
-
     @Test
-    public void testNegationAvailabilityFreeUnauthorized ()
-            throws KustvaktException {
+    public void testNegationAvailabilityFreeUnauthorized() throws KustvaktException {
         Response response = searchQuery("availability != /CC-BY.*/");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
     @Test
-    public void testNegationAvailabilityFreeUnauthorized2 ()
-            throws KustvaktException {
+    public void testNegationAvailabilityFreeUnauthorized2() throws KustvaktException {
         Response response = searchQuery("availability != /.*BY.*/");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
     @Test
-    public void testNegationAvailabilityWithOperationOrUnauthorized ()
-            throws KustvaktException {
-        Response response = searchQuery(
-                "availability = /CC-BY.*/ | availability != /CC-BY.*/");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testNegationAvailabilityWithOperationOrUnauthorized() throws KustvaktException {
+        Response response = searchQuery("availability = /CC-BY.*/ | availability != /CC-BY.*/");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
     @Test
-    public void testComplexNegationAvailabilityFreeUnauthorized ()
-            throws KustvaktException {
-        Response response =
-                searchQuery("textClass=politik & availability != /CC-BY.*/");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testComplexNegationAvailabilityFreeUnauthorized() throws KustvaktException {
+        Response response = searchQuery("textClass=politik & availability != /CC-BY.*/");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
-
     @Test
-    public void testComplexAvailabilityFreeUnauthorized ()
-            throws KustvaktException {
-        Response response =
-                searchQuery("textClass=politik & availability=ACA-NC");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testComplexAvailabilityFreeUnauthorized() throws KustvaktException {
+        Response response = searchQuery("textClass=politik & availability=ACA-NC");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
-
     @Test
-    public void testComplexAvailabilityFreeUnauthorized3 ()
-            throws KustvaktException {
-        Response response =
-                searchQuery("textClass=politik & availability=/.*NC.*/");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testComplexAvailabilityFreeUnauthorized3() throws KustvaktException {
+        Response response = searchQuery("textClass=politik & availability=/.*NC.*/");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
-
     @Test
-    public void testAvailabilityPublicAuthorized () throws KustvaktException {
-        Response response =
-                searchQueryWithIP("availability=ACA-NC", "149.27.0.32");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testAvailabilityPublicAuthorized() throws KustvaktException {
+        Response response = searchQueryWithIP("availability=ACA-NC", "149.27.0.32");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndPublic(response.readEntity(String.class));
     }
 
-
     @Test
-    public void testAvailabilityPublicUnauthorized () throws KustvaktException {
-        Response response =
-                searchQueryWithIP("availability=QAO-NC-LOC:ids", "149.27.0.32");
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testAvailabilityPublicUnauthorized() throws KustvaktException {
+        Response response = searchQueryWithIP("availability=QAO-NC-LOC:ids", "149.27.0.32");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndPublic(response.readEntity(String.class));
     }
 
-
     @Test
-    public void testAvailabilityRegexPublicAuthorized ()
-            throws KustvaktException {
-        Response response =
-                searchQueryWithIP("availability= /ACA.*/", "149.27.0.32");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testAvailabilityRegexPublicAuthorized() throws KustvaktException {
+        Response response = searchQueryWithIP("availability= /ACA.*/", "149.27.0.32");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndPublicWithACA(response.readEntity(String.class));
     }
 
-
     @Test
-    public void testNegationAvailabilityPublicUnauthorized ()
-            throws KustvaktException {
-        Response response =
-                searchQueryWithIP("availability != ACA-NC", "149.27.0.32");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
-        checkAndPublic(response.readEntity(String.class));
-    }
-
-
-    @Test
-    public void testNegationAvailabilityRegexPublicUnauthorized ()
-            throws KustvaktException {
-        Response response =
-                searchQueryWithIP("availability != /ACA.*/", "149.27.0.32");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
-        checkAndPublic(response.readEntity(String.class));
-    }
-
-
-    @Test
-    public void testComplexAvailabilityPublicUnauthorized ()
-            throws KustvaktException {
-        Response response = searchQueryWithIP(
-                "textClass=politik & availability=QAO-NC-LOC:ids",
-                "149.27.0.32");
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
-        checkAndPublic(response.readEntity(String.class));
-    }
-
-
-    @Test
-    public void testNegationComplexAvailabilityPublicUnauthorized ()
-            throws KustvaktException {
-        Response response = searchQueryWithIP(
-                "textClass=politik & availability!=QAO-NC-LOC:ids",
-                "149.27.0.32");
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testNegationAvailabilityPublicUnauthorized() throws KustvaktException {
+        Response response = searchQueryWithIP("availability != ACA-NC", "149.27.0.32");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndPublic(response.readEntity(String.class));
     }
 
     @Test
-    public void testAvailabilityRegexAllAuthorized () throws KustvaktException {
-        Response response =
-                searchQueryWithIP("availability= /ACA.*/", "10.27.0.32");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testNegationAvailabilityRegexPublicUnauthorized() throws KustvaktException {
+        Response response = searchQueryWithIP("availability != /ACA.*/", "149.27.0.32");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        checkAndPublic(response.readEntity(String.class));
+    }
 
+    @Test
+    public void testComplexAvailabilityPublicUnauthorized() throws KustvaktException {
+        Response response = searchQueryWithIP("textClass=politik & availability=QAO-NC-LOC:ids", "149.27.0.32");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        checkAndPublic(response.readEntity(String.class));
+    }
+
+    @Test
+    public void testNegationComplexAvailabilityPublicUnauthorized() throws KustvaktException {
+        Response response = searchQueryWithIP("textClass=politik & availability!=QAO-NC-LOC:ids", "149.27.0.32");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        checkAndPublic(response.readEntity(String.class));
+    }
+
+    @Test
+    public void testAvailabilityRegexAllAuthorized() throws KustvaktException {
+        Response response = searchQueryWithIP("availability= /ACA.*/", "10.27.0.32");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndAllWithACA(response.readEntity(String.class));
     }
 
     @Test
-    public void testAvailabilityOr () throws KustvaktException {
-        Response response =
-                searchQuery("availability=/CC-BY.*/ | availability=/ACA.*/");
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testAvailabilityOr() throws KustvaktException {
+        Response response = searchQuery("availability=/CC-BY.*/ | availability=/ACA.*/");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
     @Test
-    public void testRedundancyOrPub () throws KustvaktException {
-        Response response = searchQueryWithIP(
-                "availability=/CC-BY.*/ | availability=/ACA.*/ | availability=/QAO-NC/",
-                "149.27.0.32");
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testRedundancyOrPub() throws KustvaktException {
+        Response response = searchQueryWithIP("availability=/CC-BY.*/ | availability=/ACA.*/ | availability=/QAO-NC/", "149.27.0.32");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String json = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(json);
         assertTrue(node.at("/collection/rewrites").isMissingNode());
-        assertEquals("operation:or", node.at("/collection/operation").asText());
+        assertEquals(node.at("/collection/operation").asText(), "operation:or");
     }
 
     @Test
-    public void testAvailabilityOrCorpusSigle () throws KustvaktException {
-        Response response =
-                searchQuery("availability=/CC-BY.*/ | corpusSigle=GOE");
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testAvailabilityOrCorpusSigle() throws KustvaktException {
+        Response response = searchQuery("availability=/CC-BY.*/ | corpusSigle=GOE");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
     @Test
-    public void testOrWithoutAvailability () throws KustvaktException {
-        Response response =
-                searchQuery("corpusSigle=GOE | textClass=politik");
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testOrWithoutAvailability() throws KustvaktException {
+        Response response = searchQuery("corpusSigle=GOE | textClass=politik");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 
     @Test
-    public void testWithoutAvailability () throws KustvaktException {
+    public void testWithoutAvailability() throws KustvaktException {
         Response response = searchQuery("corpusSigle=GOE");
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         checkAndFree(response.readEntity(String.class));
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/FreeResourceControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/FreeResourceControllerTest.java
index 4acdab8..e8a5d79 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/FreeResourceControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/FreeResourceControllerTest.java
@@ -1,10 +1,9 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.test.context.ContextConfiguration;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.core.Response;
 
@@ -14,21 +13,16 @@
 
 @ContextConfiguration("classpath:test-resource-config.xml")
 public class FreeResourceControllerTest extends SpringJerseyTest {
-    
-    @Test
-    public void testResource () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("resource")
-                .request()
-                .get();
 
+    @Test
+    public void testResource() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("resource").request().get();
         String entity = response.readEntity(String.class);
         JsonNode n = JsonUtils.readTree(entity).get(0);
-        assertEquals("WPD17",n.at("/resourceId").asText());
-        assertEquals("Deutsche Wikipedia Artikel 2017", n.at("/titles/de").asText());
-        assertEquals("German Wikipedia Articles 2017", n.at("/titles/en").asText());
+        assertEquals(n.at("/resourceId").asText(), "WPD17");
+        assertEquals(n.at("/titles/de").asText(), "Deutsche Wikipedia Artikel 2017");
+        assertEquals(n.at("/titles/en").asText(), "German Wikipedia Articles 2017");
         assertEquals(1, n.at("/languages").size());
         assertEquals(6, n.at("/layers").size());
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/IndexControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/IndexControllerTest.java
index ee11b37..ef70ac5 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/IndexControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/IndexControllerTest.java
@@ -1,6 +1,6 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.IOException;
 import java.net.URI;
@@ -15,9 +15,8 @@
 import jakarta.ws.rs.core.MediaType;
 
 import org.apache.http.HttpStatus;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.core.Response;
 
@@ -31,7 +30,6 @@
 
 /**
  * @author margaretha
- *
  */
 public class IndexControllerTest extends SpringJerseyTest {
 
@@ -39,10 +37,8 @@
     private SearchKrill searchKrill;
 
     @Test
-    public void testCloseIndex () throws IOException, KustvaktException,
-            URISyntaxException, InterruptedException {
-        URI uri = IndexControllerTest.class.getClassLoader()
-                .getResource("vc/named-vc1.jsonld").toURI();
+    public void testCloseIndex() throws IOException, KustvaktException, URISyntaxException, InterruptedException {
+        URI uri = IndexControllerTest.class.getClassLoader().getResource("vc/named-vc1.jsonld").toURI();
         Path toLink = Paths.get(uri);
         Path symLink = Paths.get("vc/named-vc1.jsonld");
         Path vcPath = Paths.get("vc");
@@ -53,41 +49,19 @@
             Files.delete(symLink);
         }
         Files.createSymbolicLink(symLink, toLink);
-
         searchKrill.getStatistics(null);
         assertEquals(true, searchKrill.getIndex().isReaderOpen());
-
         Form form = new Form();
         form.param("token", "secret");
-
-        Response response = target().path(API_VERSION).path("index")
-                .path("close")
-                .request()
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("index").path("close").request().post(Entity.form(form));
         assertEquals(HttpStatus.SC_OK, response.getStatus());
         assertEquals(false, searchKrill.getIndex().isReaderOpen());
-
-        
         // Cleaning database and cache
-        
         Thread.sleep(200);
-
-        response = target().path(API_VERSION).path("vc").path("~system")
-                .path("named-vc1")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("admin", "pass"))
-                .delete();
-
-        response = target().path(API_VERSION).path("vc").path("~system")
-                .path("named-vc1")
-                .request()
-                .get();
-        
+        response = target().path(API_VERSION).path("vc").path("~system").path("named-vc1").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("admin", "pass")).delete();
+        response = target().path(API_VERSION).path("vc").path("~system").path("named-vc1").request().get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java
index cae317a..fd12bdb 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java
@@ -1,10 +1,9 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
@@ -21,28 +20,20 @@
 
     @Autowired
     private KustvaktConfiguration config;
+
     @Autowired
     private SearchKrill krill;
 
     @Test
-    public void testInfo () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("info")
-                .request()
-                .get();
-
+    public void testInfo() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("info").request().get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(config.getCurrentVersion(),
-                node.at("/latest_api_version").asText());
-        assertEquals(config.getSupportedVersions().size(),
-                node.at("/supported_api_versions").size());
-
-        assertEquals(ServiceInfo.getInfo().getVersion(),
-                node.at("/kustvakt_version").asText());
-        assertEquals(krill.getIndex().getVersion(),
-                node.at("/krill_version").asText());
+        assertEquals(config.getCurrentVersion(), node.at("/latest_api_version").asText());
+        assertEquals(config.getSupportedVersions().size(), node.at("/supported_api_versions").size());
+        assertEquals(ServiceInfo.getInfo().getVersion(), node.at("/kustvakt_version").asText());
+        assertEquals(krill.getIndex().getVersion(), node.at("/krill_version").asText());
         QuerySerializer s = new QuerySerializer();
         assertEquals(s.getVersion(), node.at("/koral_version").asText());
     }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/MatchInfoControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/MatchInfoControllerTest.java
index b01ccf1..09a72be 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/MatchInfoControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/MatchInfoControllerTest.java
@@ -1,11 +1,10 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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 org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.core.Response;
@@ -21,118 +20,55 @@
 public class MatchInfoControllerTest extends SpringJerseyTest {
 
     @Test
-    public void testGetMatchInfoPublicCorpus () throws KustvaktException {
-
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGA").path("01784").path("p36-100")
-                .path("matchInfo").queryParam("foundry", "*")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testGetMatchInfoPublicCorpus() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGA").path("01784").path("p36-100").path("matchInfo").queryParam("foundry", "*").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertNotNull(node);
-        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
-        assertEquals("Belagerung von Mainz", node.at("/title").asText());
-        assertEquals("Goethe, Johann Wolfgang von",
-                node.at("/author").asText());
-        assertTrue(node.at("/snippet").asText()
-                .startsWith("<span class=\"context-left\"></span>"
-                        + "<span class=\"match\">"));
+        assertEquals(node.at("/textSigle").asText(), "GOE/AGA/01784");
+        assertEquals(node.at("/title").asText(), "Belagerung von Mainz");
+        assertEquals(node.at("/author").asText(), "Goethe, Johann Wolfgang von");
+        assertTrue(node.at("/snippet").asText().startsWith("<span class=\"context-left\"></span>" + "<span class=\"match\">"));
     }
 
     @Test
-    public void testGetMatchInfoNotAllowed () throws KustvaktException {
-
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGI").path("04846").path("p36875-36876")
-                .path("matchInfo").queryParam("foundry", "*")
-                .request()
-                .get();
-
-        assertEquals(Status.UNAUTHORIZED.getStatusCode(),
-                response.getStatus());
+    public void testGetMatchInfoNotAllowed() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGI").path("04846").path("p36875-36876").path("matchInfo").queryParam("foundry", "*").request().get();
+        assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals(
-                "Retrieving resource with ID "
-                        + "match-GOE/AGI/04846-p36875-36876 is not allowed.",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals("Retrieving resource with ID " + "match-GOE/AGI/04846-p36875-36876 is not allowed.", node.at("/errors/0/1").asText());
         assertTrue(node.at("/snippet").isMissingNode());
     }
 
     @Test
-    public void testGetMatchInfoWithAuthentication () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGI").path("04846").path("p36875-36876")
-                .path("matchInfo").queryParam("foundry", "*")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "172.27.0.32")
-                .get();
-
+    public void testGetMatchInfoWithAuthentication() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGI").path("04846").path("p36875-36876").path("matchInfo").queryParam("foundry", "*").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).header(HttpHeaders.X_FORWARDED_FOR, "172.27.0.32").get();
         String entity = response.readEntity(String.class);
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node);
-        assertEquals("GOE/AGI/04846", node.at("/textSigle").asText());
-        assertEquals("Zweiter römischer Aufenthalt",
-                node.at("/title").asText());
-        assertEquals("vom Juni 1787 bis April 1788",
-                node.at("/subTitle").asText());
-        assertEquals("Goethe, Johann Wolfgang von",
-                node.at("/author").asText());
-        assertTrue(node.at("/snippet").asText()
-                .startsWith("<span class=\"context-left\"></span>"
-                        + "<span class=\"match\">"));
-        assertEquals("QAO-NC-LOC:ids", node.at("/availability").asText());
+        assertEquals(node.at("/textSigle").asText(), "GOE/AGI/04846");
+        assertEquals(node.at("/title").asText(), "Zweiter römischer Aufenthalt");
+        assertEquals(node.at("/subTitle").asText(), "vom Juni 1787 bis April 1788");
+        assertEquals(node.at("/author").asText(), "Goethe, Johann Wolfgang von");
+        assertTrue(node.at("/snippet").asText().startsWith("<span class=\"context-left\"></span>" + "<span class=\"match\">"));
+        assertEquals(node.at("/availability").asText(), "QAO-NC-LOC:ids");
     }
 
     @Test
-    public void testAvailabilityAll () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGD").path("00000").path("p75-76")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "10.27.0.32")
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testAvailabilityAll() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGD").path("00000").path("p75-76").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).header(HttpHeaders.X_FORWARDED_FOR, "10.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testAvailabilityAllUnauthorized () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGD").path("00000").path("p75-76")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "170.27.0.32")
-                .get();
-
+    public void testAvailabilityAllUnauthorized() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGD").path("00000").path("p75-76").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).header(HttpHeaders.X_FORWARDED_FOR, "170.27.0.32").get();
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals(
-                "Retrieving resource with ID "
-                        + "match-GOE/AGD/00000-p75-76 is not allowed.",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals("Retrieving resource with ID " + "match-GOE/AGD/00000-p75-76 is not allowed.", node.at("/errors/0/1").asText());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/MetadataControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/MetadataControllerTest.java
index 9d665fa..147d893 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/MetadataControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/MetadataControllerTest.java
@@ -1,11 +1,10 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Ignore;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.core.Response;
@@ -21,132 +20,64 @@
 public class MetadataControllerTest extends SpringJerseyTest {
 
     @Test
-    public void testRetrieveMetadataWithField () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGA").path("01784")
-                .queryParam("fields", "author")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testRetrieveMetadataWithField() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGA").path("01784").queryParam("fields", "author").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals("author", node.at("/document/fields/0/key").asText());
+        assertEquals(node.at("/document/fields/0/key").asText(), "author");
     }
-    
 
     @Test
-    public void testRetrieveMetadataWithMultipleFields () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGA").path("01784")
-                .queryParam("fields", "author,title")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testRetrieveMetadataWithMultipleFields() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGA").path("01784").queryParam("fields", "author,title").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(node.at("/document/fields/0/key").asText(), "author");
+        assertEquals(node.at("/document/fields/1/key").asText(), "title");
+    }
 
-        assertEquals("author", node.at("/document/fields/0/key").asText());
-        assertEquals("title", node.at("/document/fields/1/key").asText());
-    }    
-    
     @Test
-    public void testFreeMetadata () throws KustvaktException {
-
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGA").path("01784")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testFreeMetadata() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGA").path("01784").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertTrue(!node.at("/document").isMissingNode());
-
     }
 
     // EM: currently all metadata are allowed
     @Test
-    @Ignore
-    public void testMetadataUnauthorized () throws KustvaktException {
-
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGI").path("04846")
-                .request()
-                .get();
-
-        assertEquals(Status.UNAUTHORIZED.getStatusCode(),
-                response.getStatus());
+    @Disabled
+    public void testMetadataUnauthorized() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGI").path("04846").request().get();
+        assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals(
-                "Retrieving resource with ID "
-                        + "GOE/AGI/04846 is not allowed.",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals("Retrieving resource with ID " + "GOE/AGI/04846 is not allowed.", node.at("/errors/0/1").asText());
     }
 
     @Test
-    public void testMetadataWithAuthentication () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGI").path("04846")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "172.27.0.32")
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testMetadataWithAuthentication() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGI").path("04846").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).header(HttpHeaders.X_FORWARDED_FOR, "172.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testMetadataAvailabilityAll () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGI").path("00000")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "10.27.0.32")
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testMetadataAvailabilityAll() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGI").path("00000").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).header(HttpHeaders.X_FORWARDED_FOR, "10.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
 
     // EM: currently all metadata are allowed
     @Test
-    @Ignore
-    public void testMetadataAvailabilityAllUnauthorized ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus")
-                .path("GOE").path("AGD").path("00000")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "170.27.0.32")
-                .get();
-        
+    @Disabled
+    public void testMetadataAvailabilityAllUnauthorized() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").path("AGD").path("00000").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).header(HttpHeaders.X_FORWARDED_FOR, "170.27.0.32").get();
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals(
-                "Retrieving resource with ID "
-                        + "GOE/AGD/00000 is not allowed.",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals("Retrieving resource with ID " + "GOE/AGD/00000 is not allowed.", node.at("/errors/0/1").asText());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/MultipleCorpusQueryTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/MultipleCorpusQueryTest.java
index 920a432..26a121f 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/MultipleCorpusQueryTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/MultipleCorpusQueryTest.java
@@ -1,10 +1,9 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.core.Response;
@@ -18,72 +17,47 @@
 public class MultipleCorpusQueryTest extends SpringJerseyTest {
 
     @Test
-    public void testSearchGet () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "das").queryParam("ql", "poliqarp")
-                .queryParam("cq", "pubPlace=München")
-                .queryParam("cq", "textSigle=\"GOE/AGA/01784\"")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchGet() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "das").queryParam("ql", "poliqarp").queryParam("cq", "pubPlace=München").queryParam("cq", "textSigle=\"GOE/AGA/01784\"").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         node = node.at("/collection/operands/1");
-        assertEquals("koral:docGroup", node.at("/@type").asText());
-        assertEquals("operation:and", node.at("/operation").asText());
+        assertEquals(node.at("/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/operation").asText(), "operation:and");
         assertEquals(2, node.at("/operands").size());
-        assertEquals("koral:doc", node.at("/operands/0/@type").asText());
-        assertEquals("match:eq", node.at("/operands/0/match").asText());
-        assertEquals("pubPlace", node.at("/operands/0/key").asText());
-        assertEquals("München", node.at("/operands/0/value").asText());
-        assertEquals("textSigle", node.at("/operands/1/key").asText());
-        assertEquals("GOE/AGA/01784", node.at("/operands/1/value").asText());
+        assertEquals(node.at("/operands/0/@type").asText(), "koral:doc");
+        assertEquals(node.at("/operands/0/match").asText(), "match:eq");
+        assertEquals(node.at("/operands/0/key").asText(), "pubPlace");
+        assertEquals(node.at("/operands/0/value").asText(), "München");
+        assertEquals(node.at("/operands/1/key").asText(), "textSigle");
+        assertEquals(node.at("/operands/1/value").asText(), "GOE/AGA/01784");
     }
 
     @Test
-    public void testStatisticsWithMultipleCq ()
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics").queryParam("cq", "textType=Abhandlung")
-                .queryParam("cq", "corpusSigle=GOE")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testStatisticsWithMultipleCq() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("cq", "textType=Abhandlung").queryParam("cq", "corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.at("/documents").asInt());
         assertEquals(138180, node.at("/tokens").asInt());
         assertEquals(5687, node.at("/sentences").asInt());
         assertEquals(258, node.at("/paragraphs").asInt());
-
         assertTrue(node.at("/warnings").isMissingNode());
     }
 
     @Test
-    public void testStatisticsWithMultipleCorpusQuery ()
-            throws ProcessingException,
-            KustvaktException {
-        Response response =
-                target().path(API_VERSION).path("statistics")
-                        .queryParam("corpusQuery", "textType=Autobiographie")
-                        .queryParam("corpusQuery", "corpusSigle=GOE")
-                        .request()
-                        .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testStatisticsWithMultipleCorpusQuery() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", "textType=Autobiographie").queryParam("corpusQuery", "corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(9, node.at("/documents").asInt());
         assertEquals(527662, node.at("/tokens").asInt());
         assertEquals(19387, node.at("/sentences").asInt());
         assertEquals(514, node.at("/paragraphs").asInt());
-
-        assertEquals(StatusCodes.DEPRECATED,
-                node.at("/warnings/0/0").asInt());
-        assertEquals("Parameter corpusQuery is deprecated in favor of cq.",
-                node.at("/warnings/0/1").asText());
+        assertEquals(StatusCodes.DEPRECATED, node.at("/warnings/0/0").asInt());
+        assertEquals(node.at("/warnings/0/1").asText(), "Parameter corpusQuery is deprecated in favor of cq.");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AccessTokenTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AccessTokenTest.java
index 905aeb5..c35014e 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AccessTokenTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AccessTokenTest.java
@@ -1,8 +1,8 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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.IOException;
 
@@ -13,11 +13,9 @@
 
 import org.apache.http.entity.ContentType;
 import org.apache.oltu.oauth2.common.message.types.GrantType;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.constant.OAuth2Scope;
@@ -29,69 +27,47 @@
 public class OAuth2AccessTokenTest extends OAuth2TestBase {
 
     private String userAuthHeader;
+
     private String clientAuthHeader;
 
-    public OAuth2AccessTokenTest () throws KustvaktException {
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("dory", "password");
-        clientAuthHeader =
-                HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(
-                        confidentialClientId, clientSecret);
+    public OAuth2AccessTokenTest() throws KustvaktException {
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "password");
+        clientAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(confidentialClientId, clientSecret);
     }
 
     @Test
-    public void testScopeWithSuperClient () throws KustvaktException {
-        Response response =
-                requestTokenWithDoryPassword(superClientId, clientSecret);
-
+    public void testScopeWithSuperClient() throws KustvaktException {
+        Response response = requestTokenWithDoryPassword(superClientId, clientSecret);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals("all", node.at("/scope").asText());
+        assertEquals(node.at("/scope").asText(), "all");
         String accessToken = node.at("/access_token").asText();
-
         // test list user group
-        response = target().path(API_VERSION).path("group")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer " + accessToken)
-                .get();
-
+        response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, "Bearer " + accessToken).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(2, node.size());
     }
 
     @Test
-    public void testCustomScope () throws KustvaktException {
-        Response response =
-                requestAuthorizationCode("code", confidentialClientId, "",
-                        OAuth2Scope.VC_INFO.toString(), "", userAuthHeader);
+    public void testCustomScope() throws KustvaktException {
+        Response response = requestAuthorizationCode("code", confidentialClientId, "", OAuth2Scope.VC_INFO.toString(), "", userAuthHeader);
         String code = parseAuthorizationCode(response);
-        
-        response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, code);
+        response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, code);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-
         String token = node.at("/access_token").asText();
-        assertTrue(node.at("/scope").asText()
-                .contains(OAuth2Scope.VC_INFO.toString()));
-
+        assertTrue(node.at("/scope").asText().contains(OAuth2Scope.VC_INFO.toString()));
         // test list vc using the token
-        response = target().path(API_VERSION).path("vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer " + token)
-                .get();
-
+        response = target().path(API_VERSION).path("vc").request().header(Attributes.AUTHORIZATION, "Bearer " + token).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(4, node.size());
     }
 
     @Test
-    public void testDefaultScope () throws KustvaktException, IOException {
+    public void testDefaultScope() throws KustvaktException, IOException {
         String code = requestAuthorizationCode(confidentialClientId, userAuthHeader);
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, code);
+        Response response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, code);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String accessToken = node.at("/access_token").asText();
         testScopeNotAuthorized(accessToken);
@@ -99,91 +75,52 @@
         testSearchWithOAuth2Token(accessToken);
     }
 
-    private void testScopeNotAuthorized (String accessToken)
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer " + accessToken)
-                .get();
-
-        assertEquals(Status.UNAUTHORIZED.getStatusCode(),
-                response.getStatus());
+    private void testScopeNotAuthorized(String accessToken) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").request().header(Attributes.AUTHORIZATION, "Bearer " + accessToken).get();
+        assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Scope vc_info is not authorized",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Scope vc_info is not authorized");
     }
 
-    private void testScopeNotAuthorize2 (String accessToken)
-            throws KustvaktException {
-        Response response =
-                target().path(API_VERSION).path("vc").path("access")
-                        .request()
-                        .header(Attributes.AUTHORIZATION,
-                                "Bearer " + accessToken)
-                        .get();
+    private void testScopeNotAuthorize2(String accessToken) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("access").request().header(Attributes.AUTHORIZATION, "Bearer " + accessToken).get();
         String entity = response.readEntity(String.class);
-        assertEquals(Status.UNAUTHORIZED.getStatusCode(),
-                response.getStatus());
+        assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Scope vc_access_info is not authorized",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Scope vc_access_info is not authorized");
     }
 
     @Test
-    public void testSearchWithUnknownToken ()
-            throws KustvaktException, IOException {
-        Response response =
-                searchWithAccessToken("ljsa8tKNRSczJhk20öhq92zG8z350");
-
-        assertEquals(Status.UNAUTHORIZED.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchWithUnknownToken() throws KustvaktException, IOException {
+        Response response = searchWithAccessToken("ljsa8tKNRSczJhk20öhq92zG8z350");
+        assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Access token is invalid",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Access token is invalid");
     }
 
     @Test
-    public void testRevokeAccessTokenConfidentialClient ()
-            throws KustvaktException {
-        String code = requestAuthorizationCode(confidentialClientId,
-                userAuthHeader);
-        JsonNode node = requestTokenWithAuthorizationCodeAndHeader(
-                confidentialClientId, code, clientAuthHeader);
-
+    public void testRevokeAccessTokenConfidentialClient() throws KustvaktException {
+        String code = requestAuthorizationCode(confidentialClientId, userAuthHeader);
+        JsonNode node = requestTokenWithAuthorizationCodeAndHeader(confidentialClientId, code, clientAuthHeader);
         String accessToken = node.at("/access_token").asText();
         Form form = new Form();
         form.param("token", accessToken);
         form.param("client_id", confidentialClientId);
         form.param("client_secret", "secret");
-
-        Response response = target().path(API_VERSION).path("oauth2").path("revoke")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("revoke").request().header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         testSearchWithRevokedAccessToken(accessToken);
     }
-    
+
     @Test
-    public void testRevokeAccessTokenPublicClientViaSuperClient()
-            throws KustvaktException {
-        String code = requestAuthorizationCode(publicClientId,
-                userAuthHeader);
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                publicClientId, "", code);
-        
+    public void testRevokeAccessTokenPublicClientViaSuperClient() throws KustvaktException {
+        String code = requestAuthorizationCode(publicClientId, userAuthHeader);
+        Response response = requestTokenWithAuthorizationCodeAndForm(publicClientId, "", code);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String accessToken = node.at("/access_token").asText();
         testRevokeTokenViaSuperClient(accessToken, userAuthHeader);
@@ -191,77 +128,47 @@
     }
 
     @Test
-    public void testAccessTokenAfterRequestRefreshToken ()
-            throws KustvaktException, IOException {
-        String code =
-                requestAuthorizationCode(confidentialClientId, userAuthHeader);
-        JsonNode node = requestTokenWithAuthorizationCodeAndHeader(
-                confidentialClientId, code, clientAuthHeader);
-
+    public void testAccessTokenAfterRequestRefreshToken() throws KustvaktException, IOException {
+        String code = requestAuthorizationCode(confidentialClientId, userAuthHeader);
+        JsonNode node = requestTokenWithAuthorizationCodeAndHeader(confidentialClientId, code, clientAuthHeader);
         String accessToken = node.at("/access_token").asText();
         String refreshToken = node.at("/refresh_token").asText();
-
         Form form = new Form();
         form.param("grant_type", GrantType.REFRESH_TOKEN.toString());
         form.param("client_id", confidentialClientId);
         form.param("client_secret", "secret");
         form.param("refresh_token", refreshToken);
-
-        Response response = target().path(API_VERSION).path("oauth2").path("token")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         node = JsonUtils.readTree(entity);
         assertNotNull(node.at("/access_token").asText());
         assertTrue(!refreshToken.equals(node.at("/refresh_token").asText()));
-
         testSearchWithRevokedAccessToken(accessToken);
     }
 
     @Test
-    public void testRequestAuthorizationWithBearerTokenUnauthorized ()
-            throws KustvaktException {
-        String code = requestAuthorizationCode(confidentialClientId,
-                userAuthHeader);
-        JsonNode node = requestTokenWithAuthorizationCodeAndHeader(
-                confidentialClientId, code, clientAuthHeader);
+    public void testRequestAuthorizationWithBearerTokenUnauthorized() throws KustvaktException {
+        String code = requestAuthorizationCode(confidentialClientId, userAuthHeader);
+        JsonNode node = requestTokenWithAuthorizationCodeAndHeader(confidentialClientId, code, clientAuthHeader);
         String userAuthToken = node.at("/access_token").asText();
-
-        Response response = requestAuthorizationCode("code",
-                confidentialClientId, "", "search", "", "Bearer " + userAuthToken);
-
+        Response response = requestAuthorizationCode("code", confidentialClientId, "", "search", "", "Bearer " + userAuthToken);
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Scope authorize is not authorized",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Scope authorize is not authorized");
     }
 
     @Test
-    public void testRequestAuthorizationWithBearerToken ()
-            throws KustvaktException {
-        Response response =
-                requestTokenWithDoryPassword(superClientId, clientSecret);
+    public void testRequestAuthorizationWithBearerToken() throws KustvaktException {
+        Response response = requestTokenWithDoryPassword(superClientId, clientSecret);
         String entity = response.readEntity(String.class);
-        
         JsonNode node = JsonUtils.readTree(entity);
         String userAuthToken = node.at("/access_token").asText();
         assertNotNull(userAuthToken);
-        assertEquals(TokenType.BEARER.displayName(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.displayName(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
-
-        String code = requestAuthorizationCode(superClientId,
-                "Bearer " + userAuthToken);
+        String code = requestAuthorizationCode(superClientId, "Bearer " + userAuthToken);
         assertNotNull(code);
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AdminControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AdminControllerTest.java
index 3f84f1c..2a143cb 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AdminControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AdminControllerTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.client.Entity;
@@ -10,7 +10,8 @@
 import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.http.entity.ContentType;
-import org.junit.Test;
+import org.junit.jupiter.api.Order;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.fasterxml.jackson.databind.JsonNode;
@@ -24,194 +25,133 @@
 import de.ids_mannheim.korap.oauth2.dao.RefreshTokenDao;
 import de.ids_mannheim.korap.utils.JsonUtils;
 
+@Order(Integer.MAX_VALUE) // make sure this runs as last test as it removes tokens
 public class OAuth2AdminControllerTest extends OAuth2TestBase {
 
     private String username = "OAuth2AdminControllerTest";
+
     private String adminAuthHeader;
+
     private String userAuthHeader;
 
     @Autowired
     private RefreshTokenDao refreshDao;
+
     @Autowired
     private AccessTokenDao accessDao;
 
-    public OAuth2AdminControllerTest () throws KustvaktException {
-        adminAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("admin", "password");
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("dory", "password");
+    public OAuth2AdminControllerTest() throws KustvaktException {
+        adminAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("admin", "password");
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "password");
     }
 
-    private Response updateClientPrivilege (String username,
-            Form form)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("admin")
-                .path("oauth2").path("client").path("privilege")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+    private Response updateClientPrivilege(String username, Form form) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("admin").path("oauth2").path("client").path("privilege").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         return response;
     }
-    
-    private Response updateClientPrivilegeWithAdminToken (String clientId)
-            throws ProcessingException,
-            KustvaktException {
-        
+
+    private Response updateClientPrivilegeWithAdminToken(String clientId) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("client_id", clientId);
         form.param("super", Boolean.toString(false));
-        form.param("token", "secret"); //adminToken
-        
-        Response response = target().path(API_VERSION).path("admin")
-                .path("oauth2").path("client").path("privilege")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        // adminToken
+        form.param("token", "secret");
+        Response response = target().path(API_VERSION).path("admin").path("oauth2").path("client").path("privilege").request().header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         return response;
     }
-    
-    
-    private void testUpdateClientPriviledgeUnauthorized (Form form)
-            throws ProcessingException, KustvaktException {
+
+    private void testUpdateClientPriviledgeUnauthorized(Form form) throws ProcessingException, KustvaktException {
         Response response = updateClientPrivilege(username, form);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testCleanExpiredTokensUsingAdminToken () {
+    @Order(1)
+    public void testCleanExpiredTokensUsingAdminToken() throws KustvaktException {
+        createExpiredAccessToken();
+        
         int refreshTokensBefore =
                 refreshDao.retrieveInvalidRefreshTokens().size();
-        assertTrue(refreshTokensBefore > 0);
 
+        assertTrue(refreshTokensBefore > 0);
         int accessTokensBefore = accessDao.retrieveInvalidAccessTokens().size();
         assertTrue(accessTokensBefore > 0);
-
         Form form = new Form();
         form.param("token", "secret");
-        
-        target().path(API_VERSION).path("admin").path("oauth2").path("token")
-                .path("clean")
-                .request()
-                .post(Entity.form(form));
-
+        target().path(API_VERSION).path("admin").path("oauth2").path("token").path("clean").request().post(Entity.form(form));
         assertEquals(0, refreshDao.retrieveInvalidRefreshTokens().size());
         assertEquals(0, accessDao.retrieveInvalidAccessTokens().size());
     }
 
     @Test
+    @Order(2)
     public void testCleanRevokedTokens () throws KustvaktException {
 
         int accessTokensBefore = accessDao.retrieveInvalidAccessTokens().size();
         String code = requestAuthorizationCode(publicClientId, userAuthHeader);
-
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                publicClientId, clientSecret, code);
+        Response response = requestTokenWithAuthorizationCodeAndForm(publicClientId, clientSecret, code);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         String accessToken = node.at("/access_token").asText();
         testRevokeToken(accessToken, publicClientId, null, ACCESS_TOKEN_TYPE);
-
         int accessTokensAfter = accessDao.retrieveInvalidAccessTokens().size();
         assertEquals(accessTokensAfter, accessTokensBefore + 1);
-
-        target().path(API_VERSION).path("admin").path("oauth2").path("token")
-                .path("clean")
-                .request()
-                .header(Attributes.AUTHORIZATION, adminAuthHeader)
-                .post(null);
-
+        target().path(API_VERSION).path("admin").path("oauth2").path("token").path("clean").request().header(Attributes.AUTHORIZATION, adminAuthHeader).post(null);
         assertEquals(0, accessDao.retrieveInvalidAccessTokens().size());
     }
 
     @Test
-    public void testUpdateClientPrivilege () throws KustvaktException {
+    public void testUpdateClientPrivilege() throws KustvaktException {
         // register a client
         Response response = registerConfidentialClient(username);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String clientId = node.at("/client_id").asText();
         String clientSecret = node.at("/client_secret").asText();
-
         // request an access token
-        String clientAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(clientId, clientSecret);
+        String clientAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(clientId, clientSecret);
         String code = requestAuthorizationCode(clientId, userAuthHeader);
-        node = requestTokenWithAuthorizationCodeAndHeader(clientId, code,
-                clientAuthHeader);
+        node = requestTokenWithAuthorizationCodeAndHeader(clientId, code, clientAuthHeader);
         String accessToken = node.at("/access_token").asText();
-
-        //update client priviledge to super client
+        // update client priviledge to super client
         Form form = new Form();
         form.param("client_id", clientId);
         form.param("super", Boolean.toString(true));
-        
         testUpdateClientPriviledgeUnauthorized(form);
-        
         response = updateClientPrivilege("admin", form);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-        
         testAccessTokenAfterUpgradingClient(clientId, accessToken);
-
         // degrade a super client to a common client
-        
         updateClientPrivilegeWithAdminToken(clientId);
-        
         testAccessTokenAfterDegradingSuperClient(clientId, accessToken);
-
         deregisterClient(username, clientId);
     }
 
     // old access tokens retain their scopes
-    private void testAccessTokenAfterUpgradingClient (String clientId,
-            String accessToken) throws KustvaktException {
-
+    private void testAccessTokenAfterUpgradingClient(String clientId, String accessToken) throws KustvaktException {
         JsonNode node = retrieveClientInfo(clientId, "admin");
         assertTrue(node.at("/super").asBoolean());
-
         // list vc
-        Response response = target().path(API_VERSION).path("vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer " + accessToken)
-                .get();
-
-        assertEquals(Status.UNAUTHORIZED.getStatusCode(),
-                response.getStatus());
+        Response response = target().path(API_VERSION).path("vc").request().header(Attributes.AUTHORIZATION, "Bearer " + accessToken).get();
+        assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Scope vc_info is not authorized",
-                node.at("/errors/0/1").asText());
-
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Scope vc_info is not authorized");
         // search
         response = searchWithAccessToken(accessToken);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
 
-    private void testAccessTokenAfterDegradingSuperClient (String clientId,
-            String accessToken) throws KustvaktException {
+    private void testAccessTokenAfterDegradingSuperClient(String clientId, String accessToken) throws KustvaktException {
         JsonNode node = retrieveClientInfo(clientId, username);
         assertTrue(node.at("/isSuper").isMissingNode());
-
         Response response = searchWithAccessToken(accessToken);
-        assertEquals(Status.UNAUTHORIZED.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Access token is invalid",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Access token is invalid");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AuthorizationPostTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AuthorizationPostTest.java
index a12c747..9e1542d 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AuthorizationPostTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AuthorizationPostTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.controller;
 
-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 java.net.URI;
 
@@ -14,13 +14,11 @@
 import org.apache.http.entity.ContentType;
 import org.apache.oltu.oauth2.common.message.types.TokenType;
 import org.glassfish.jersey.uri.UriComponent;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.util.UriComponentsBuilder;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -30,69 +28,51 @@
 
     public String userAuthHeader;
 
-    public OAuth2AuthorizationPostTest () throws KustvaktException {
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("dory", "password");
+    public OAuth2AuthorizationPostTest() throws KustvaktException {
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "password");
     }
-    
-    private Response requestAuthorizationCode (
-            Form form, String authHeader)
-            throws KustvaktException {
 
-        return target().path(API_VERSION).path("oauth2").path("authorize")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
+    private Response requestAuthorizationCode(Form form, String authHeader) throws KustvaktException {
+        return target().path(API_VERSION).path("oauth2").path("authorize").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
     }
-    
+
     @Test
-    public void testAuthorizeConfidentialClient () throws KustvaktException {
+    public void testAuthorizeConfidentialClient() throws KustvaktException {
         Form form = new Form();
         form.param("response_type", "code");
         form.param("client_id", confidentialClientId);
         form.param("state", "thisIsMyState");
         form.param("scope", "search");
-
-        Response response =
-                requestAuthorizationCode(form, userAuthHeader);
-
-        assertEquals(Status.TEMPORARY_REDIRECT.getStatusCode(),
-                response.getStatus());
+        Response response = requestAuthorizationCode(form, userAuthHeader);
+        assertEquals(Status.TEMPORARY_REDIRECT.getStatusCode(), response.getStatus());
         URI redirectUri = response.getLocation();
-        MultiValueMap<String, String> params = UriComponentsBuilder
-                .fromUri(redirectUri).build().getQueryParams();
+        MultiValueMap<String, String> params = UriComponentsBuilder.fromUri(redirectUri).build().getQueryParams();
         assertNotNull(params.getFirst("code"));
-        assertEquals("thisIsMyState", params.getFirst("state"));
+        assertEquals(params.getFirst("state"), "thisIsMyState");
     }
-    
-    @Test
-    public void testRequestTokenAuthorizationConfidential ()
-            throws KustvaktException {
 
+    @Test
+    public void testRequestTokenAuthorizationConfidential() throws KustvaktException {
         Form authForm = new Form();
         authForm.param("response_type", "code");
         authForm.param("client_id", confidentialClientId);
         authForm.param("scope", "search");
-
-        Response response =
-                requestAuthorizationCode(authForm, userAuthHeader);
+        Response response = requestAuthorizationCode(authForm, userAuthHeader);
         URI redirectUri = response.getLocation();
 
         MultivaluedMap<String, String> params =
                 UriComponent.decodeQuery(redirectUri, true);
         String code = params.get("code").get(0);
 
+
         response = requestTokenWithAuthorizationCodeAndForm(
                 confidentialClientId, clientSecret, code);
-//        String entity = response.readEntity(String.class);
-//        JsonNode node = JsonUtils.readTree(entity);
-//        assertNotNull(node.at("/access_token").asText());
-//        assertNotNull(node.at("/refresh_token").asText());
-//        assertEquals(TokenType.BEARER.toString(),
-//                node.at("/token_type").asText());
-//        assertNotNull(node.at("/expires_in").asText());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertNotNull(node.at("/access_token").asText());
+        assertNotNull(node.at("/refresh_token").asText());
+        assertEquals(TokenType.BEARER.toString(),
+                node.at("/token_type").asText());
+        assertNotNull(node.at("/expires_in").asText());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AuthorizationTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AuthorizationTest.java
index d19cdd9..d9861c2 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AuthorizationTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AuthorizationTest.java
@@ -1,13 +1,13 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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.net.URI;
+import org.junit.jupiter.api.Test;
 
 import org.apache.oltu.oauth2.common.error.OAuthError;
-import org.junit.Test;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.nimbusds.oauth2.sdk.OAuth2Error;
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ClientControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ClientControllerTest.java
index e49527b..127e2d2 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ClientControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ClientControllerTest.java
@@ -1,9 +1,9 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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.IOException;
 import java.io.InputStream;
@@ -22,11 +22,9 @@
 import org.apache.http.entity.ContentType;
 import org.apache.oltu.oauth2.common.error.OAuthError;
 import org.glassfish.jersey.server.ContainerRequest;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -38,32 +36,27 @@
 
 /**
  * @author margaretha
- *
  */
 public class OAuth2ClientControllerTest extends OAuth2TestBase {
 
     private String username = "OAuth2ClientControllerTest";
+
     private String userAuthHeader;
 
-    public OAuth2ClientControllerTest () throws KustvaktException {
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("dory", "password");
+    public OAuth2ClientControllerTest() throws KustvaktException {
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "password");
     }
 
-    private void checkWWWAuthenticateHeader (Response response) {
-        Set<Entry<String, List<Object>>> headers =
-                response.getHeaders().entrySet();
-
+    private void checkWWWAuthenticateHeader(Response response) {
+        Set<Entry<String, List<Object>>> headers = response.getHeaders().entrySet();
         for (Entry<String, List<Object>> header : headers) {
             if (header.getKey().equals(ContainerRequest.WWW_AUTHENTICATE)) {
-                assertEquals("Basic realm=\"Kustvakt\"",
-                        header.getValue().get(0));
+                assertEquals(header.getValue().get(0), "Basic realm=\"Kustvakt\"");
             }
         }
     }
 
-    private OAuth2ClientJson createOAuth2ClientJson (String name,
-            OAuth2ClientType type, String description) {
+    private OAuth2ClientJson createOAuth2ClientJson(String name, OAuth2ClientType type, String description) {
         OAuth2ClientJson client = new OAuth2ClientJson();
         if (name != null) {
             client.setName(name);
@@ -73,44 +66,38 @@
             client.setDescription(description);
         }
         return client;
-
     }
 
     @Test
-    public void testRetrieveClientInfo () throws KustvaktException {
+    public void testRetrieveClientInfo() throws KustvaktException {
         // public client
         JsonNode clientInfo = retrieveClientInfo(publicClientId, "system");
         assertEquals(publicClientId, clientInfo.at("/client_id").asText());
-        assertEquals("public client plugin with redirect uri",
-                clientInfo.at("/client_name").asText());
+        assertEquals(clientInfo.at("/client_name").asText(), "public client plugin with redirect uri");
         assertNotNull(clientInfo.at("/client_description"));
         assertNotNull(clientInfo.at("/client_url"));
-        assertEquals("PUBLIC", clientInfo.at("/client_type").asText());
-        assertEquals("system", clientInfo.at("/registered_by").asText());
-
+        assertEquals(clientInfo.at("/client_type").asText(), "PUBLIC");
+        assertEquals(clientInfo.at("/registered_by").asText(), "system");
         // confidential client
         clientInfo = retrieveClientInfo(confidentialClientId, "system");
         assertEquals(confidentialClientId, clientInfo.at("/client_id").asText());
-        assertEquals("non super confidential client",
-                clientInfo.at("/client_name").asText());
+        assertEquals(clientInfo.at("/client_name").asText(), "non super confidential client");
         assertNotNull(clientInfo.at("/client_url"));
         assertNotNull(clientInfo.at("/redirect_uri"));
         assertEquals(false, clientInfo.at("/super").asBoolean());
-        assertEquals("CONFIDENTIAL", clientInfo.at("/client_type").asText());
-
+        assertEquals(clientInfo.at("/client_type").asText(), "CONFIDENTIAL");
         // super client
         clientInfo = retrieveClientInfo(superClientId, "system");
         assertEquals(superClientId, clientInfo.at("/client_id").asText());
-        assertEquals("super confidential client",
-                clientInfo.at("/client_name").asText());
+        assertEquals(clientInfo.at("/client_name").asText(), "super confidential client");
         assertNotNull(clientInfo.at("/client_url"));
         assertNotNull(clientInfo.at("/redirect_uri"));
-        assertEquals("CONFIDENTIAL", clientInfo.at("/client_type").asText());
+        assertEquals(clientInfo.at("/client_type").asText(), "CONFIDENTIAL");
         assertTrue(clientInfo.at("/super").asBoolean());
     }
-    
+
     @Test
-    public void testRegisterConfidentialClient () throws KustvaktException {
+    public void testRegisterConfidentialClient() throws KustvaktException {
         Response response = registerConfidentialClient(username);
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
@@ -120,686 +107,429 @@
         assertNotNull(clientId);
         assertNotNull(clientSecret);
         assertFalse(clientId.contains("a"));
-
         testListConfidentialClient(username, clientId);
         testConfidentialClientInfo(clientId, username);
         testResetConfidentialClientSecret(clientId, clientSecret);
         deregisterClient(username, clientId);
     }
-    
-    @Test
-    public void testRegisterClientNameTooShort ()
-            throws ProcessingException,
-            KustvaktException {
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson("R", OAuth2ClientType.PUBLIC, null);
 
+    @Test
+    public void testRegisterClientNameTooShort() throws ProcessingException, KustvaktException {
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("R", OAuth2ClientType.PUBLIC, null);
         Response response = registerClient(username, clientJson);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals("client_name must contain at least 3 characters",
-                node.at("/error_description").asText());
-        assertEquals("invalid_request", node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "client_name must contain at least 3 characters");
+        assertEquals(node.at("/error").asText(), "invalid_request");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testRegisterClientEmptyName ()
-            throws ProcessingException, KustvaktException {
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson("", OAuth2ClientType.PUBLIC, null);
-
+    public void testRegisterClientEmptyName() throws ProcessingException, KustvaktException {
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("", OAuth2ClientType.PUBLIC, null);
         Response response = registerClient(username, clientJson);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals("client_name must contain at least 3 characters",
-                node.at("/error_description").asText());
-        assertEquals("invalid_request", node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "client_name must contain at least 3 characters");
+        assertEquals(node.at("/error").asText(), "invalid_request");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testRegisterClientMissingName ()
-            throws ProcessingException,
-            KustvaktException {
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson(null, OAuth2ClientType.PUBLIC, null);
-
+    public void testRegisterClientMissingName() throws ProcessingException, KustvaktException {
+        OAuth2ClientJson clientJson = createOAuth2ClientJson(null, OAuth2ClientType.PUBLIC, null);
         Response response = registerClient(username, clientJson);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals("client_name is null",
-                node.at("/error_description").asText());
-        assertEquals("invalid_request", node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "client_name is null");
+        assertEquals(node.at("/error").asText(), "invalid_request");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testRegisterClientMissingDescription ()
-            throws ProcessingException,
-            KustvaktException {
-        OAuth2ClientJson clientJson = createOAuth2ClientJson("R client",
-                OAuth2ClientType.PUBLIC, null);
-
+    public void testRegisterClientMissingDescription() throws ProcessingException, KustvaktException {
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("R client", OAuth2ClientType.PUBLIC, null);
         Response response = registerClient(username, clientJson);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals("client_description is null",
-                node.at("/error_description").asText());
-        assertEquals("invalid_request", node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "client_description is null");
+        assertEquals(node.at("/error").asText(), "invalid_request");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testRegisterClientMissingType ()
-            throws ProcessingException,
-            KustvaktException {
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson("R client", null, null);
-
+    public void testRegisterClientMissingType() throws ProcessingException, KustvaktException {
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("R client", null, null);
         Response response = registerClient(username, clientJson);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals("client_type is null",
-                node.at("/error_description").asText());
-        assertEquals("invalid_request", node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "client_type is null");
+        assertEquals(node.at("/error").asText(), "invalid_request");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
-    
+
     @Test
-    public void testRegisterClientInvalidRedirectURI ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testRegisterClientInvalidRedirectURI() throws ProcessingException, KustvaktException {
         // invalid hostname
         String redirectUri = "https://test.public.client/redirect";
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson("OAuth2PublicClient",
-                        OAuth2ClientType.PUBLIC, "A public test client.");
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("OAuth2PublicClient", OAuth2ClientType.PUBLIC, "A public test client.");
         clientJson.setRedirectURI(redirectUri);
         Response response = registerClient(username, clientJson);
-        testInvalidRedirectUri(response.readEntity(String.class), 
-                response.getHeaderString("Content-Type"),false,
-                response.getStatus());
-
+        testInvalidRedirectUri(response.readEntity(String.class), response.getHeaderString("Content-Type"), false, response.getStatus());
         // localhost is not allowed
-//        redirectUri = "http://localhost:1410";
-//        clientJson.setRedirectURI(redirectUri);
-//        response = registerClient(username, clientJson);
-//        testInvalidRedirectUri(response.readEntity(String.class), false,
-//                response.getStatus());
-        
+        // redirectUri = "http://localhost:1410";
+        // clientJson.setRedirectURI(redirectUri);
+        // response = registerClient(username, clientJson);
+        // testInvalidRedirectUri(response.readEntity(String.class), false,
+        // response.getStatus());
         // fragment is not allowed
         redirectUri = "https://public.client.com/redirect.html#bar";
         clientJson.setRedirectURI(redirectUri);
         response = registerClient(username, clientJson);
-        testInvalidRedirectUri(response.readEntity(String.class), 
-                response.getHeaderString("Content-Type"),false,
-                response.getStatus());
+        testInvalidRedirectUri(response.readEntity(String.class), response.getHeaderString("Content-Type"), false, response.getStatus());
     }
-    
+
     @Test
-    public void testRegisterPublicClientWithRefreshTokenExpiry ()
-            throws ProcessingException,
-            KustvaktException {
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson("OAuth2PublicClient",
-                        OAuth2ClientType.PUBLIC, "A public test client.");
+    public void testRegisterPublicClientWithRefreshTokenExpiry() throws ProcessingException, KustvaktException {
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("OAuth2PublicClient", OAuth2ClientType.PUBLIC, "A public test client.");
         clientJson.setRefreshTokenExpiry(31535000);
         Response response = registerClient(username, clientJson);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals("invalid_request", node.at("/error").asText());
+        assertEquals(node.at("/error").asText(), "invalid_request");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
-    
+
     @Test
-    public void testRegisterConfidentialClientWithRefreshTokenExpiry ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testRegisterConfidentialClientWithRefreshTokenExpiry() throws ProcessingException, KustvaktException {
         int expiry = 31535000;
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson("OAuth2 Confidential Client",
-                        OAuth2ClientType.CONFIDENTIAL, "A confidential client.");
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("OAuth2 Confidential Client", OAuth2ClientType.CONFIDENTIAL, "A confidential client.");
         clientJson.setRefreshTokenExpiry(expiry);
         Response response = registerClient(username, clientJson);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String clientId = node.at("/client_id").asText();
         JsonNode clientInfo = retrieveClientInfo(clientId, username);
         assertEquals(expiry, clientInfo.at("/refresh_token_expiry").asInt());
-        
         deregisterClient(username, clientId);
     }
-    
+
     @Test
-    public void testRegisterConfidentialClientWithInvalidRefreshTokenExpiry ()
-            throws ProcessingException,
-            KustvaktException {
-        OAuth2ClientJson clientJson = createOAuth2ClientJson(
-                "OAuth2 Confidential Client", OAuth2ClientType.CONFIDENTIAL,
-                "A confidential client.");
+    public void testRegisterConfidentialClientWithInvalidRefreshTokenExpiry() throws ProcessingException, KustvaktException {
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("OAuth2 Confidential Client", OAuth2ClientType.CONFIDENTIAL, "A confidential client.");
         clientJson.setRefreshTokenExpiry(31537000);
         Response response = registerClient(username, clientJson);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(
-                "Maximum refresh token expiry is 31536000 seconds (1 year)",
-                node.at("/error_description").asText());
-        assertEquals("invalid_request", node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "Maximum refresh token expiry is 31536000 seconds (1 year)");
+        assertEquals(node.at("/error").asText(), "invalid_request");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
-    
+
     @Test
-    public void testRegisterClientInvalidURL ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testRegisterClientInvalidURL() throws ProcessingException, KustvaktException {
         // invalid hostname
         String url = "https://test.public.client";
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson("OAuth2PublicClient",
-                        OAuth2ClientType.PUBLIC, "A public test client.");
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("OAuth2PublicClient", OAuth2ClientType.PUBLIC, "A public test client.");
         clientJson.setUrl(url);
         Response response = registerClient(username, clientJson);
         testInvalidUrl(response.readEntity(String.class), response.getStatus());
-
         // localhost is not allowed
         url = "http://localhost:1410";
         clientJson.setRedirectURI(url);
         response = registerClient(username, clientJson);
         testInvalidUrl(response.readEntity(String.class), response.getStatus());
     }
-    
-    private void testInvalidUrl (String entity, 
-            int status) throws KustvaktException {
+
+    private void testInvalidUrl(String entity, int status) throws KustvaktException {
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(OAuthError.CodeResponse.INVALID_REQUEST,
-                node.at("/error").asText());
-        assertEquals("Invalid URL",
-                node.at("/error_description").asText());
+        assertEquals(OAuthError.CodeResponse.INVALID_REQUEST, node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "Invalid URL");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), status);
     }
 
     @Test
-    public void testRegisterPublicClient ()
-            throws ProcessingException, KustvaktException {
+    public void testRegisterPublicClient() throws ProcessingException, KustvaktException {
         String redirectUri = "https://public.client.com/redirect";
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson("OAuth2PublicClient",
-                        OAuth2ClientType.PUBLIC, "A public test client.");
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("OAuth2PublicClient", OAuth2ClientType.PUBLIC, "A public test client.");
         // http and fragment are allowed
         clientJson.setUrl("http://public.client.com/index.html#bar");
         clientJson.setRedirectURI(redirectUri);
-
         Response response = registerClient(username, clientJson);
-
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
         String clientId = node.at("/client_id").asText();
         assertNotNull(clientId);
         assertTrue(node.at("/client_secret").isMissingNode());
-
         testRegisterClientUnauthorizedScope(clientId);
         testResetPublicClientSecret(clientId);
         testAccessTokenAfterDeregistration(clientId, null, "");
     }
 
-    private void testRegisterClientUnauthorizedScope (String clientId)
-            throws ProcessingException,
-            KustvaktException {
-
-        String userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("dory", "password");
+    private void testRegisterClientUnauthorizedScope(String clientId) throws ProcessingException, KustvaktException {
+        String userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "password");
         String code = requestAuthorizationCode(clientId, userAuthHeader);
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                clientId, clientSecret, code);
+        Response response = requestTokenWithAuthorizationCodeAndForm(clientId, clientSecret, code);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-
-        assertEquals("match_info search", node.at("/scope").asText());
-
+        assertEquals(node.at("/scope").asText(), "match_info search");
         String accessToken = node.at("/access_token").asText();
-
-        OAuth2ClientJson clientJson = createOAuth2ClientJson("R client",
-                        OAuth2ClientType.PUBLIC, null);
-
-        response = target().path(API_VERSION).path("oauth2").path("client")
-                .path("register")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer " + accessToken)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .post(Entity.json(clientJson));
-
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("R client", OAuth2ClientType.PUBLIC, null);
+        response = target().path(API_VERSION).path("oauth2").path("client").path("register").request().header(Attributes.AUTHORIZATION, "Bearer " + accessToken).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).post(Entity.json(clientJson));
         String entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Scope register_client is not authorized",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Scope register_client is not authorized");
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testRegisterClientUsingPlainJson ()
-            throws ProcessingException,
-            KustvaktException, IOException {
-
-        InputStream is = getClass().getClassLoader()
-                .getResourceAsStream("json/oauth2_public_client.json");
+    public void testRegisterClientUsingPlainJson() throws ProcessingException, KustvaktException, IOException {
+        InputStream is = getClass().getClassLoader().getResourceAsStream("json/oauth2_public_client.json");
         String json = IOUtils.toString(is, Charset.defaultCharset());
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("client").path("register")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue(username,
-                                        "password"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .post(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("client").path("register").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "password")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).post(Entity.json(json));
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
         String clientId = node.at("/client_id").asText();
         assertNotNull(clientId);
         assertTrue(node.at("/client_secret").isMissingNode());
-
         testResetPublicClientSecret(clientId);
         testAccessTokenAfterDeregistration(clientId, null, "");
     }
 
     @Test
-    public void testRegisterDesktopApp ()
-            throws ProcessingException, KustvaktException {
-        OAuth2ClientJson clientJson = createOAuth2ClientJson(
-                "OAuth2DesktopClient", OAuth2ClientType.PUBLIC,
-                "This is a desktop test client.");
-
+    public void testRegisterDesktopApp() throws ProcessingException, KustvaktException {
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("OAuth2DesktopClient", OAuth2ClientType.PUBLIC, "This is a desktop test client.");
         Response response = registerClient(username, clientJson);
-
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
         String clientId = node.at("/client_id").asText();
         assertNotNull(clientId);
         assertTrue(node.at("/client_secret").isMissingNode());
-
         testDeregisterPublicClientMissingUserAuthentication(clientId);
         testDeregisterPublicClientMissingId();
         testDeregisterPublicClient(clientId, username);
     }
 
     @Test
-    public void testRegisterMultipleDesktopApps ()
-            throws ProcessingException,
-            KustvaktException {
-
+    public void testRegisterMultipleDesktopApps() throws ProcessingException, KustvaktException {
         // First client
-        OAuth2ClientJson clientJson =
-                createOAuth2ClientJson("OAuth2DesktopClient1",
-                        OAuth2ClientType.PUBLIC, "A desktop test client.");
-
+        OAuth2ClientJson clientJson = createOAuth2ClientJson("OAuth2DesktopClient1", OAuth2ClientType.PUBLIC, "A desktop test client.");
         Response response = registerClient(username, clientJson);
-
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
         String clientId1 = node.at("/client_id").asText();
         assertNotNull(clientId1);
         assertTrue(node.at("/client_secret").isMissingNode());
-
         // Second client
-        clientJson = createOAuth2ClientJson("OAuth2DesktopClient2",
-                OAuth2ClientType.PUBLIC, "Another desktop test client.");
-
+        clientJson = createOAuth2ClientJson("OAuth2DesktopClient2", OAuth2ClientType.PUBLIC, "Another desktop test client.");
         response = registerClient(username, clientJson);
-
         entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         node = JsonUtils.readTree(entity);
         String clientId2 = node.at("/client_id").asText();
         assertNotNull(clientId2);
         assertTrue(node.at("/client_secret").isMissingNode());
-
         testResetPublicClientSecret(clientId1);
-        testAccessTokenAfterDeregistration(clientId1, null,
-                "https://OAuth2DesktopClient1.com");
+        testAccessTokenAfterDeregistration(clientId1, null, "https://OAuth2DesktopClient1.com");
         testResetPublicClientSecret(clientId2);
-        testAccessTokenAfterDeregistration(clientId2, null,
-                "https://OAuth2DesktopClient2.com");
+        testAccessTokenAfterDeregistration(clientId2, null, "https://OAuth2DesktopClient2.com");
     }
 
-    private void testAccessTokenAfterDeregistration (String clientId,
-            String clientSecret, String redirectUri) throws KustvaktException {
-        String userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("dory", "password");
-
+    private void testAccessTokenAfterDeregistration(String clientId, String clientSecret, String redirectUri) throws KustvaktException {
+        String userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "password");
         String code = requestAuthorizationCode(clientId, redirectUri, userAuthHeader);
-        
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                clientId, clientSecret, code, redirectUri);
+        Response response = requestTokenWithAuthorizationCodeAndForm(clientId, clientSecret, code, redirectUri);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String accessToken = node.at("/access_token").asText();
-
         response = searchWithAccessToken(accessToken);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         code = requestAuthorizationCode(clientId, redirectUri, userAuthHeader);
         testDeregisterPublicClient(clientId, username);
-
-        response = requestTokenWithAuthorizationCodeAndForm(clientId,
-                clientSecret, code, redirectUri);
+        response = requestTokenWithAuthorizationCodeAndForm(clientId, clientSecret, code, redirectUri);
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(OAuth2Error.INVALID_CLIENT.toString(),
-                node.at("/error").asText());
-
+        assertEquals(OAuth2Error.INVALID_CLIENT.toString(), node.at("/error").asText());
         response = searchWithAccessToken(accessToken);
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Access token is invalid",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Access token is invalid");
     }
 
-    private void testDeregisterPublicClientMissingUserAuthentication (
-            String clientId) throws
-            ProcessingException, KustvaktException {
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("client").path("deregister").path(clientId)
-                .request()
-                .delete();
-
+    private void testDeregisterPublicClientMissingUserAuthentication(String clientId) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("oauth2").path("client").path("deregister").path(clientId).request().delete();
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
     }
 
-    private void testDeregisterPublicClientMissingId ()
-            throws ProcessingException,
-            KustvaktException {
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("client").path("deregister")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .delete();
-
-        assertEquals(Status.METHOD_NOT_ALLOWED.getStatusCode(),
-                response.getStatus());
+    private void testDeregisterPublicClientMissingId() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("oauth2").path("client").path("deregister").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).delete();
+        assertEquals(Status.METHOD_NOT_ALLOWED.getStatusCode(), response.getStatus());
     }
 
-    private void testDeregisterPublicClient (String clientId, String username)
-            throws ProcessingException,
-            KustvaktException {
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("client").path("deregister").path(clientId)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .delete();
-
+    private void testDeregisterPublicClient(String clientId, String username) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("oauth2").path("client").path("deregister").path(clientId).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
 
-    private void testResetPublicClientSecret (String clientId)
-            throws ProcessingException,
-            KustvaktException {
+    private void testResetPublicClientSecret(String clientId) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("client_id", clientId);
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("client").path("reset")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("client").path("reset").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(OAuth2Error.INVALID_REQUEST, node.at("/error").asText());
-        assertEquals("Operation is not allowed for public clients",
-                node.at("/error_description").asText());
+        assertEquals(node.at("/error_description").asText(), "Operation is not allowed for public clients");
     }
 
-    private String testResetConfidentialClientSecret (String clientId,
-            String clientSecret) throws
-            ProcessingException, KustvaktException {
+    private String testResetConfidentialClientSecret(String clientId, String clientSecret) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("client_id", clientId);
         form.param("client_secret", clientSecret);
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("client").path("reset")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("client").path("reset").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(clientId, node.at("/client_id").asText());
-
         String newClientSecret = node.at("/client_secret").asText();
         assertTrue(!clientSecret.equals(newClientSecret));
-
         return newClientSecret;
     }
 
-    private void requestAuthorizedClientList (String userAuthHeader)
-            throws KustvaktException {
+    private void requestAuthorizedClientList(String userAuthHeader) throws KustvaktException {
         Form form = getSuperClientForm();
         form.param("authorized_only", "true");
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("client").path("list")
-                .request()
-                .header(Attributes.AUTHORIZATION, userAuthHeader)
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("client").path("list").request().header(Attributes.AUTHORIZATION, userAuthHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.size());
         assertEquals(confidentialClientId, node.at("/0/client_id").asText());
         assertEquals(publicClientId, node.at("/1/client_id").asText());
-
-        assertEquals("non super confidential client",
-                node.at("/0/client_name").asText());
-        assertEquals("CONFIDENTIAL", node.at("/0/client_type").asText());
+        assertEquals(node.at("/0/client_name").asText(), "non super confidential client");
+        assertEquals(node.at("/0/client_type").asText(), "CONFIDENTIAL");
         assertFalse(node.at("/0/client_url").isMissingNode());
         assertFalse(node.at("/0/client_description").isMissingNode());
     }
 
     @Test
-    public void testListPublicClient () throws KustvaktException {
+    public void testListPublicClient() throws KustvaktException {
         String clientName = "OAuth2DoryClient";
-        OAuth2ClientJson json = createOAuth2ClientJson(clientName,
-                OAuth2ClientType.PUBLIC, "Dory's client.");
+        OAuth2ClientJson json = createOAuth2ClientJson(clientName, OAuth2ClientType.PUBLIC, "Dory's client.");
         registerClient("dory", json);
-
         JsonNode node = listUserRegisteredClients("dory");
         assertEquals(1, node.size());
         assertEquals(clientName, node.at("/0/client_name").asText());
-        assertEquals(OAuth2ClientType.PUBLIC.name(),
-                node.at("/0/client_type").asText());
+        assertEquals(OAuth2ClientType.PUBLIC.name(), node.at("/0/client_type").asText());
         assertTrue(node.at("/0/permitted").asBoolean());
         assertFalse(node.at("/0/registration_date").isMissingNode());
         assertTrue(node.at("/refresh_token_expiry").isMissingNode());
-        
         String clientId = node.at("/0/client_id").asText();
         testDeregisterPublicClient(clientId, "dory");
     }
-    
-    private void testListConfidentialClient (String username, String clientId)
-            throws ProcessingException,
-            KustvaktException {
+
+    private void testListConfidentialClient(String username, String clientId) throws ProcessingException, KustvaktException {
         JsonNode node = listUserRegisteredClients(username);
         assertEquals(1, node.size());
         assertEquals(clientId, node.at("/0/client_id").asText());
-        assertEquals("OAuth2ClientTest", node.at("/0/client_name").asText());
-        assertEquals(OAuth2ClientType.CONFIDENTIAL.name(),
-                node.at("/0/client_type").asText());
+        assertEquals(node.at("/0/client_name").asText(), "OAuth2ClientTest");
+        assertEquals(OAuth2ClientType.CONFIDENTIAL.name(), node.at("/0/client_type").asText());
         assertNotNull(node.at("/0/client_description"));
         assertEquals(clientURL, node.at("/0/client_url").asText());
-        assertEquals(clientRedirectUri,
-                node.at("/0/client_redirect_uri").asText());
+        assertEquals(clientRedirectUri, node.at("/0/client_redirect_uri").asText());
         assertNotNull(node.at("/0/registration_date"));
-
-        assertEquals(defaultRefreshTokenExpiry,
-                node.at("/0/refresh_token_expiry").asInt());
+        assertEquals(defaultRefreshTokenExpiry, node.at("/0/refresh_token_expiry").asInt());
         assertTrue(node.at("/0/permitted").asBoolean());
         assertTrue(node.at("/0/source").isMissingNode());
     }
-    
+
     @Test
-    public void testListUserClients () throws KustvaktException {
+    public void testListUserClients() throws KustvaktException {
         String username = "pearl";
         String password = "pwd";
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(username, password);
-
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, password);
         // super client
-        Response response = requestTokenWithPassword(superClientId,
-                clientSecret, username, password);
+        Response response = requestTokenWithPassword(superClientId, clientSecret, username, password);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // client 1
         String code = requestAuthorizationCode(publicClientId, userAuthHeader);
-        response = requestTokenWithAuthorizationCodeAndForm(publicClientId, "",
-                code);
+        response = requestTokenWithAuthorizationCodeAndForm(publicClientId, "", code);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String accessToken = node.at("/access_token").asText();
-
         // client 2
         code = requestAuthorizationCode(confidentialClientId, userAuthHeader);
-        response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, code);
+        response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, code);
         String refreshToken = node.at("/refresh_token").asText();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         requestAuthorizedClientList(userAuthHeader);
         testListAuthorizedClientWithMultipleRefreshTokens(userAuthHeader);
         testListAuthorizedClientWithMultipleAccessTokens(userAuthHeader);
         testListWithClientsFromAnotherUser(userAuthHeader);
-
         // revoke client 1
-        testRevokeAllTokenViaSuperClient(publicClientId, userAuthHeader,
-                accessToken);
-
+        testRevokeAllTokenViaSuperClient(publicClientId, userAuthHeader, accessToken);
         // revoke client 2
         node = JsonUtils.readTree(response.readEntity(String.class));
         accessToken = node.at("/access_token").asText();
         refreshToken = node.at("/refresh_token").asText();
-        testRevokeAllTokenViaSuperClient(confidentialClientId, userAuthHeader,
-                accessToken);
-        testRequestTokenWithRevokedRefreshToken(confidentialClientId,
-                clientSecret, refreshToken);
+        testRevokeAllTokenViaSuperClient(confidentialClientId, userAuthHeader, accessToken);
+        testRequestTokenWithRevokedRefreshToken(confidentialClientId, clientSecret, refreshToken);
     }
 
-    private void testListAuthorizedClientWithMultipleRefreshTokens (
-            String userAuthHeader) throws KustvaktException {
+    private void testListAuthorizedClientWithMultipleRefreshTokens(String userAuthHeader) throws KustvaktException {
         // client 2
-        String code =
-                requestAuthorizationCode(confidentialClientId, userAuthHeader);
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, code);
-
+        String code = requestAuthorizationCode(confidentialClientId, userAuthHeader);
+        Response response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, code);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         requestAuthorizedClientList(userAuthHeader);
     }
 
-    private void testListAuthorizedClientWithMultipleAccessTokens (
-            String userAuthHeader) throws KustvaktException {
+    private void testListAuthorizedClientWithMultipleAccessTokens(String userAuthHeader) throws KustvaktException {
         // client 1
         String code = requestAuthorizationCode(publicClientId, userAuthHeader);
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                publicClientId, "", code);
-
+        Response response = requestTokenWithAuthorizationCodeAndForm(publicClientId, "", code);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         requestAuthorizedClientList(userAuthHeader);
     }
 
-    private void testListWithClientsFromAnotherUser (String userAuthHeader)
-            throws KustvaktException {
-
-        String aaaAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("aaa", "pwd");
-
+    private void testListWithClientsFromAnotherUser(String userAuthHeader) throws KustvaktException {
+        String aaaAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("aaa", "pwd");
         // client 1
         String code = requestAuthorizationCode(publicClientId, aaaAuthHeader);
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                publicClientId, "", code);
-
+        Response response = requestTokenWithAuthorizationCodeAndForm(publicClientId, "", code);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String accessToken1 = node.at("/access_token").asText();
-
         // client 2
         code = requestAuthorizationCode(confidentialClientId, aaaAuthHeader);
-        response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, code);
-
+        response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, code);
         node = JsonUtils.readTree(response.readEntity(String.class));
         String accessToken2 = node.at("/access_token").asText();
         String refreshToken = node.at("/refresh_token").asText();
-
         requestAuthorizedClientList(aaaAuthHeader);
         requestAuthorizedClientList(userAuthHeader);
-
-        testRevokeAllTokenViaSuperClient(publicClientId, aaaAuthHeader,
-                accessToken1);
-        testRevokeAllTokenViaSuperClient(confidentialClientId, aaaAuthHeader,
-                accessToken2);
-        testRequestTokenWithRevokedRefreshToken(confidentialClientId,
-                clientSecret, refreshToken);
+        testRevokeAllTokenViaSuperClient(publicClientId, aaaAuthHeader, accessToken1);
+        testRevokeAllTokenViaSuperClient(confidentialClientId, aaaAuthHeader, accessToken2);
+        testRequestTokenWithRevokedRefreshToken(confidentialClientId, clientSecret, refreshToken);
     }
-    
-    private void testRevokeAllTokenViaSuperClient (String clientId,
-            String userAuthHeader, String accessToken)
-            throws KustvaktException {
+
+    private void testRevokeAllTokenViaSuperClient(String clientId, String userAuthHeader, String accessToken) throws KustvaktException {
         // check token before revoking
         Response response = searchWithAccessToken(accessToken);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertTrue(node.at("/matches").size() > 0);
-
         Form form = getSuperClientForm();
         form.param("client_id", clientId);
-
-        response = target().path(API_VERSION).path("oauth2").path("revoke")
-                .path("super").path("all")
-                .request()
-                .header(Attributes.AUTHORIZATION, userAuthHeader)
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        response = target().path(API_VERSION).path("oauth2").path("revoke").path("super").path("all").request().header(Attributes.AUTHORIZATION, userAuthHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-        assertEquals("SUCCESS", response.readEntity(String.class));
-
+        assertEquals(response.readEntity(String.class), "SUCCESS");
         response = searchWithAccessToken(accessToken);
         node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Access token is invalid",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Access token is invalid");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ControllerTest.java
index c704122..6374959 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ControllerTest.java
@@ -1,8 +1,8 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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.time.ZonedDateTime;
 import java.util.Set;
@@ -11,12 +11,10 @@
 import org.apache.oltu.oauth2.common.error.OAuthError;
 import org.apache.oltu.oauth2.common.message.types.GrantType;
 import org.apache.oltu.oauth2.common.message.types.TokenType;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.FullConfiguration;
@@ -33,50 +31,37 @@
 
 /**
  * @author margaretha
- *
  */
 public class OAuth2ControllerTest extends OAuth2TestBase {
 
     @Autowired
     public FullConfiguration config;
-    
+
     public String userAuthHeader;
 
-    public OAuth2ControllerTest () throws KustvaktException {
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("dory", "password");
+    public OAuth2ControllerTest() throws KustvaktException {
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "password");
     }
 
     @Test
     public void testRequestTokenAuthorizationPublic ()
             throws KustvaktException {
         String code = requestAuthorizationCode(publicClientId, userAuthHeader);
-
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                publicClientId, clientSecret, code);
+        Response response = requestTokenWithAuthorizationCodeAndForm(publicClientId, clientSecret, code);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         String accessToken = node.at("/access_token").asText();
-
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertEquals(31536000, node.at("/expires_in").asInt());
-
         testRevokeToken(accessToken, publicClientId, null, ACCESS_TOKEN_TYPE);
-
         assertTrue(node.at("/refresh_token").isMissingNode());
     }
 
     @Test
-    public void testRequestTokenAuthorizationConfidential ()
-            throws KustvaktException {
-
+    public void testRequestTokenAuthorizationConfidential() throws KustvaktException {
         String scope = "search";
-        Response response = requestAuthorizationCode("code",
-                confidentialClientId, "", scope, state, userAuthHeader);
-        MultivaluedMap<String, String> params =
-                getQueryParamsFromURI(response.getLocation());
+        Response response = requestAuthorizationCode("code", confidentialClientId, "", scope, state, userAuthHeader);
+        MultivaluedMap<String, String> params = getQueryParamsFromURI(response.getLocation());
         String code = params.get("code").get(0);
 
         response = requestTokenWithAuthorizationCodeAndForm(
@@ -85,273 +70,185 @@
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node.at("/access_token").asText());
         assertNotNull(node.at("/refresh_token").asText());
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
-
         testRequestTokenWithUsedAuthorization(code);
-
         String refreshToken = node.at("/refresh_token").asText();
-        
         testRefreshTokenExpiry(refreshToken);
         testRequestRefreshTokenInvalidScope(confidentialClientId, refreshToken);
         testRequestRefreshTokenInvalidClient(refreshToken);
         testRequestRefreshTokenInvalidRefreshToken(confidentialClientId);
-
-        testRequestRefreshToken(confidentialClientId, clientSecret,
-                refreshToken);
+        testRequestRefreshToken(confidentialClientId, clientSecret, refreshToken);
     }
 
-    private void testRequestTokenWithUsedAuthorization (String code)
-            throws KustvaktException {
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, code);
+    private void testRequestTokenWithUsedAuthorization(String code) throws KustvaktException {
+        Response response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, code);
         String entity = response.readEntity(String.class);
-
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(OAuthError.TokenResponse.INVALID_GRANT,
-                node.at("/error").asText());
-        assertEquals("Invalid authorization",
-                node.at("/error_description").asText());
+        assertEquals(OAuthError.TokenResponse.INVALID_GRANT, node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "Invalid authorization");
     }
 
     @Test
-    public void testRequestTokenInvalidAuthorizationCode ()
-            throws KustvaktException {
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, "blahblah");
+    public void testRequestTokenInvalidAuthorizationCode() throws KustvaktException {
+        Response response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, "blahblah");
         String entity = response.readEntity(String.class);
-
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(OAuthError.TokenResponse.INVALID_REQUEST,
-                node.at("/error").asText());
+        assertEquals(OAuthError.TokenResponse.INVALID_REQUEST, node.at("/error").asText());
     }
 
     @Test
-    public void testRequestTokenAuthorizationReplyAttack ()
-            throws KustvaktException {
+    public void testRequestTokenAuthorizationReplyAttack() throws KustvaktException {
         String redirect_uri = "https://third.party.com/confidential/redirect";
         String scope = "search";
-
-        Response response =
-                requestAuthorizationCode("code", confidentialClientId,
-                        redirect_uri, scope, state, userAuthHeader);
+        Response response = requestAuthorizationCode("code", confidentialClientId, redirect_uri, scope, state, userAuthHeader);
         String code = parseAuthorizationCode(response);
-
         testRequestTokenAuthorizationInvalidClient(code);
         testRequestTokenAuthorizationMissingRedirectUri(code);
         testRequestTokenAuthorizationInvalidRedirectUri(code);
         testRequestTokenAuthorizationRevoked(code, redirect_uri);
-        
     }
 
-    private void testRequestTokenAuthorizationInvalidClient (String code)
-            throws KustvaktException {
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, "wrong_secret", code);
+    private void testRequestTokenAuthorizationInvalidClient(String code) throws KustvaktException {
+        Response response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, "wrong_secret", code);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(OAuth2Error.INVALID_CLIENT, node.at("/error").asText());
     }
-    
-    private void testRequestTokenAuthorizationMissingRedirectUri (String code)
-            throws KustvaktException {
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, "secret", code);
+
+    private void testRequestTokenAuthorizationMissingRedirectUri(String code) throws KustvaktException {
+        Response response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, "secret", code);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(OAuth2Error.INVALID_GRANT, node.at("/error").asText());
-        assertEquals("Missing redirect URI",
-                node.at("/error_description").asText());
+        assertEquals(node.at("/error_description").asText(), "Missing redirect URI");
     }
 
-    private void testRequestTokenAuthorizationInvalidRedirectUri (String code)
-            throws KustvaktException {
+    private void testRequestTokenAuthorizationInvalidRedirectUri(String code) throws KustvaktException {
         Form tokenForm = new Form();
         tokenForm.param("grant_type", "authorization_code");
         tokenForm.param("client_id", confidentialClientId);
         tokenForm.param("client_secret", "secret");
         tokenForm.param("code", code);
         tokenForm.param("redirect_uri", "https://blahblah.com");
-
         Response response = requestToken(tokenForm);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(OAuth2Error.INVALID_GRANT, node.at("/error").asText());
     }
 
-    private void testRequestTokenAuthorizationRevoked (String code, String uri)
-            throws KustvaktException {
+    private void testRequestTokenAuthorizationRevoked(String code, String uri) throws KustvaktException {
         Form tokenForm = new Form();
         tokenForm.param("grant_type", "authorization_code");
         tokenForm.param("client_id", confidentialClientId);
         tokenForm.param("client_secret", "secret");
         tokenForm.param("code", code);
         tokenForm.param("redirect_uri", uri);
-
         Response response = requestToken(tokenForm);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(OAuthError.TokenResponse.INVALID_GRANT,
-                node.at("/error").asText());
-        assertEquals("Invalid authorization",
-                node.at("/error_description").asText());
+        assertEquals(OAuthError.TokenResponse.INVALID_GRANT, node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "Invalid authorization");
     }
 
     @Test
-    public void testRequestTokenPasswordGrantConfidentialSuper ()
-            throws KustvaktException {
-        Response response =
-                requestTokenWithDoryPassword(superClientId, clientSecret);
-
+    public void testRequestTokenPasswordGrantConfidentialSuper() throws KustvaktException {
+        Response response = requestTokenWithDoryPassword(superClientId, clientSecret);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        
         assertNotNull(node.at("/access_token").asText());
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
-        assertEquals("all",node.at("/scope").asText());
-        
-        
+        assertEquals(node.at("/scope").asText(), "all");
         String refresh = node.at("/refresh_token").asText();
-        RefreshToken refreshToken =
-                refreshTokenDao.retrieveRefreshToken(refresh);
+        RefreshToken refreshToken = refreshTokenDao.retrieveRefreshToken(refresh);
         Set<AccessScope> scopes = refreshToken.getScopes();
         assertEquals(1, scopes.size());
-        assertEquals("[all]", scopes.toString());
-        
+        assertEquals(scopes.toString(), "[all]");
         testRefreshTokenExpiry(refresh);
     }
-    
+
     @Test
-    public void testRequestTokenPasswordGrantWithScope ()
-            throws KustvaktException {
-        
-        String scope ="match_info search";
-        
+    public void testRequestTokenPasswordGrantWithScope() throws KustvaktException {
+        String scope = "match_info search";
         Form form = new Form();
         form.param("grant_type", "password");
         form.param("client_id", superClientId);
         form.param("client_secret", clientSecret);
         form.param("username", "dory");
         form.param("password", "pwd");
-        form.param("scope",scope);
-        
+        form.param("scope", scope);
         Response response = requestToken(form);
-
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        
         assertNotNull(node.at("/access_token").asText());
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
-        
-        assertEquals(scope,node.at("/scope").asText());
-        
+        assertEquals(scope, node.at("/scope").asText());
         String refreshToken = node.at("/refresh_token").asText();
-        testRequestRefreshTokenWithUnauthorizedScope(superClientId, clientSecret,
-                refreshToken,"all");
-        
-        testRequestRefreshTokenWithScope(superClientId, clientSecret,
-                refreshToken,"search");
+        testRequestRefreshTokenWithUnauthorizedScope(superClientId, clientSecret, refreshToken, "all");
+        testRequestRefreshTokenWithScope(superClientId, clientSecret, refreshToken, "search");
     }
 
     @Test
-    public void testRequestTokenPasswordGrantConfidentialNonSuper ()
-            throws KustvaktException {
-        Response response = requestTokenWithDoryPassword(
-                confidentialClientId, clientSecret);
+    public void testRequestTokenPasswordGrantConfidentialNonSuper() throws KustvaktException {
+        Response response = requestTokenWithDoryPassword(confidentialClientId, clientSecret);
         String entity = response.readEntity(String.class);
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(OAuthError.TokenResponse.UNAUTHORIZED_CLIENT,
-                node.at("/error").asText());
-        assertEquals("Password grant is not allowed for third party clients",
-                node.at("/error_description").asText());
+        assertEquals(OAuthError.TokenResponse.UNAUTHORIZED_CLIENT, node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "Password grant is not allowed for third party clients");
     }
 
     @Test
-    public void testRequestTokenPasswordGrantPublic ()
-            throws KustvaktException {
-        Response response =
-                requestTokenWithDoryPassword(publicClientId, "");
+    public void testRequestTokenPasswordGrantPublic() throws KustvaktException {
+        Response response = requestTokenWithDoryPassword(publicClientId, "");
         String entity = response.readEntity(String.class);
-
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(OAuth2Error.UNAUTHORIZED_CLIENT,
-                node.at("/error").asText());
-        assertEquals("Password grant is not allowed for third party clients",
-                node.at("/error_description").asText());
+        assertEquals(OAuth2Error.UNAUTHORIZED_CLIENT, node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "Password grant is not allowed for third party clients");
     }
 
     @Test
-    public void testRequestTokenPasswordGrantAuthorizationHeader ()
-            throws KustvaktException {
+    public void testRequestTokenPasswordGrantAuthorizationHeader() throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", "password");
         form.param("client_id", superClientId);
         form.param("username", "dory");
         form.param("password", "password");
-
-        Response response =
-                target().path(API_VERSION).path("oauth2").path("token")
-                        .request()
-                        .header(HttpHeaders.AUTHORIZATION,
-                                "Basic ZkNCYlFrQXlZekk0TnpVeE1nOnNlY3JldA==")
-                        .header(HttpHeaders.CONTENT_TYPE,
-                                ContentType.APPLICATION_FORM_URLENCODED)
-                        .post(Entity.form(form));
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.AUTHORIZATION, "Basic ZkNCYlFrQXlZekk0TnpVeE1nOnNlY3JldA==").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node.at("/access_token").asText());
         assertNotNull(node.at("/refresh_token").asText());
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
     }
 
     /**
      * In case, client_id is specified both in Authorization header
      * and request body, client_id in the request body is ignored.
-     * 
+     *
      * @throws KustvaktException
      */
     @Test
-    public void testRequestTokenPasswordGrantDifferentClientIds ()
-            throws KustvaktException {
+    public void testRequestTokenPasswordGrantDifferentClientIds() throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", "password");
         form.param("client_id", "9aHsGW6QflV13ixNpez");
         form.param("username", "dory");
         form.param("password", "password");
-
-        Response response =
-                target().path(API_VERSION).path("oauth2").path("token")
-                        .request()
-                        .header(HttpHeaders.AUTHORIZATION,
-                                "Basic ZkNCYlFrQXlZekk0TnpVeE1nOnNlY3JldA==")
-                        .header(HttpHeaders.CONTENT_TYPE,
-                                ContentType.APPLICATION_FORM_URLENCODED)
-                        .post(Entity.form(form));
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.AUTHORIZATION, "Basic ZkNCYlFrQXlZekk0TnpVeE1nOnNlY3JldA==").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node.at("/access_token").asText());
         assertNotNull(node.at("/refresh_token").asText());
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
     }
 
@@ -359,7 +256,7 @@
     public void testRequestTokenPasswordGrantMissingClientSecret ()
             throws KustvaktException {
         Response response =
-                requestTokenWithDoryPassword(confidentialClientId, null);
+                requestTokenWithDoryPassword(confidentialClientId, "");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
 
         String entity = response.readEntity(String.class);
@@ -375,23 +272,17 @@
         Response response =
                 requestTokenWithDoryPassword(confidentialClientId, "");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(OAuthError.TokenResponse.INVALID_REQUEST,
-                node.at("/error").asText());
-        assertEquals("Missing parameter: client_secret",
-                node.at("/error_description").asText());
+        assertEquals(OAuthError.TokenResponse.INVALID_REQUEST, node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "Missing parameter: client_secret");
     }
 
     @Test
-    public void testRequestTokenPasswordGrantMissingClientId ()
-            throws KustvaktException {
-        Response response =
-                requestTokenWithDoryPassword(null, clientSecret);
+    public void testRequestTokenPasswordGrantMissingClientId() throws KustvaktException {
+        Response response = requestTokenWithDoryPassword(null, clientSecret);
         String entity = response.readEntity(String.class);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(OAuthError.TokenResponse.INVALID_REQUEST,
                 node.at("/error").asText());
@@ -413,9 +304,7 @@
     }
 
     @Test
-    public void testRequestTokenClientCredentialsGrant ()
-            throws KustvaktException {
-
+    public void testRequestTokenClientCredentialsGrant() throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", "client_credentials");
         form.param("client_id", confidentialClientId);
@@ -423,13 +312,11 @@
         Response response = requestToken(form);
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
         // length?
         assertNotNull(node.at("/access_token").asText());
         assertNotNull(node.at("/refresh_token").asText());
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
     }
 
@@ -438,15 +325,12 @@
      * clients.
      */
     @Test
-    public void testRequestTokenClientCredentialsGrantPublic ()
-            throws KustvaktException {
-
+    public void testRequestTokenClientCredentialsGrantPublic() throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", "client_credentials");
         form.param("client_id", publicClientId);
         form.param("client_secret", "");
         Response response = requestToken(form);
-
         String entity = response.readEntity(String.class);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
@@ -456,375 +340,240 @@
     }
 
     @Test
-    public void testRequestTokenClientCredentialsGrantReducedScope ()
-            throws KustvaktException {
-
+    public void testRequestTokenClientCredentialsGrantReducedScope() throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", "client_credentials");
         form.param("client_id", confidentialClientId);
         form.param("client_secret", "secret");
         form.param("scope", "preferred_username client_info");
-
         Response response = requestToken(form);
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
         // length?
         assertNotNull(node.at("/access_token").asText());
         assertNotNull(node.at("/refresh_token").asText());
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
-        assertEquals("client_info", node.at("/scope").asText());
+        assertEquals(node.at("/scope").asText(), "client_info");
     }
 
     @Test
-    public void testRequestTokenMissingGrantType () throws KustvaktException {
+    public void testRequestTokenMissingGrantType() throws KustvaktException {
         Form form = new Form();
         Response response = requestToken(form);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(OAuthError.TokenResponse.INVALID_REQUEST,
-                node.at("/error").asText());
+        assertEquals(OAuthError.TokenResponse.INVALID_REQUEST, node.at("/error").asText());
     }
 
     @Test
-    public void testRequestTokenUnsupportedGrant () throws KustvaktException {
-
+    public void testRequestTokenUnsupportedGrant() throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", "blahblah");
-
-        Response response =
-                target().path(API_VERSION).path("oauth2").path("token")
-                        .request()
-                        .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                        .header(HttpHeaders.CONTENT_TYPE,
-                                ContentType.APPLICATION_FORM_URLENCODED)
-                        .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node.get("error_description").asText());
         assertEquals(OAuthError.TokenResponse.INVALID_REQUEST,
                 node.get("error").asText());
     }
 
-    private void testRequestRefreshTokenInvalidScope (String clientId,
-            String refreshToken) throws KustvaktException {
+    private void testRequestRefreshTokenInvalidScope(String clientId, String refreshToken) throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", GrantType.REFRESH_TOKEN.toString());
         form.param("client_id", clientId);
         form.param("client_secret", clientSecret);
         form.param("refresh_token", refreshToken);
         form.param("scope", "search serialize_query");
-
-        Response response =
-                target().path(API_VERSION).path("oauth2").path("token")
-                        .request()
-                        .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                        .header(HttpHeaders.CONTENT_TYPE,
-                                ContentType.APPLICATION_FORM_URLENCODED)
-                        .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(OAuth2Error.INVALID_SCOPE, node.at("/error").asText());
     }
 
-    private void testRequestRefreshToken (String clientId, String clientSecret,
-            String refreshToken) throws KustvaktException {
+    private void testRequestRefreshToken(String clientId, String clientSecret, String refreshToken) throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", GrantType.REFRESH_TOKEN.toString());
         form.param("client_id", clientId);
         form.param("client_secret", clientSecret);
         form.param("refresh_token", refreshToken);
-
-        Response response =
-                target().path(API_VERSION).path("oauth2").path("token")
-                        .request()
-                        .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                        .header(HttpHeaders.CONTENT_TYPE,
-                                ContentType.APPLICATION_FORM_URLENCODED)
-                        .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node.at("/access_token").asText());
-
         String newRefreshToken = node.at("/refresh_token").asText();
         assertNotNull(newRefreshToken);
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
-
         assertTrue(!newRefreshToken.equals(refreshToken));
-
-        testRequestTokenWithRevokedRefreshToken(clientId, clientSecret,
-                refreshToken);
-
-        testRevokeToken(newRefreshToken, clientId, clientSecret,
-                REFRESH_TOKEN_TYPE);
-        testRequestTokenWithRevokedRefreshToken(clientId, clientSecret,
-                newRefreshToken);
+        testRequestTokenWithRevokedRefreshToken(clientId, clientSecret, refreshToken);
+        testRevokeToken(newRefreshToken, clientId, clientSecret, REFRESH_TOKEN_TYPE);
+        testRequestTokenWithRevokedRefreshToken(clientId, clientSecret, newRefreshToken);
     }
 
-    
-    private void testRequestRefreshTokenWithUnauthorizedScope (String clientId,
-            String clientSecret, String refreshToken, String scope)
-            throws KustvaktException {
+    private void testRequestRefreshTokenWithUnauthorizedScope(String clientId, String clientSecret, String refreshToken, String scope) throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", GrantType.REFRESH_TOKEN.toString());
         form.param("client_id", clientId);
         form.param("client_secret", clientSecret);
         form.param("refresh_token", refreshToken);
         form.param("scope", scope);
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("token").request()
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(OAuth2Error.INVALID_SCOPE, node.at("/error").asText());
     }
-    
-    private void testRequestRefreshTokenWithScope (String clientId, String clientSecret,
-            String refreshToken, String scope) throws KustvaktException {
+
+    private void testRequestRefreshTokenWithScope(String clientId, String clientSecret, String refreshToken, String scope) throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", GrantType.REFRESH_TOKEN.toString());
         form.param("client_id", clientId);
         form.param("client_secret", clientSecret);
         form.param("refresh_token", refreshToken);
-        form.param("scope",scope);
-
-        Response response =
-                target().path(API_VERSION).path("oauth2").path("token")
-                        .request()
-                        .header(HttpHeaders.CONTENT_TYPE,
-                                ContentType.APPLICATION_FORM_URLENCODED)
-                        .post(Entity.form(form));
-
+        form.param("scope", scope);
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node.at("/access_token").asText());
-        
         String newRefreshToken = node.at("/refresh_token").asText();
         assertNotNull(newRefreshToken);
-        assertEquals(TokenType.BEARER.toString(),
-                node.at("/token_type").asText());
+        assertEquals(TokenType.BEARER.toString(), node.at("/token_type").asText());
         assertNotNull(node.at("/expires_in").asText());
-
         assertTrue(!newRefreshToken.equals(refreshToken));
-        
-        assertEquals(scope,node.at("/scope").asText());
+        assertEquals(scope, node.at("/scope").asText());
     }
-    
-    private void testRequestRefreshTokenInvalidClient (String refreshToken)
-            throws KustvaktException {
+
+    private void testRequestRefreshTokenInvalidClient(String refreshToken) throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", GrantType.REFRESH_TOKEN.toString());
         form.param("client_id", "iBr3LsTCxOj7D2o0A5m");
         form.param("refresh_token", refreshToken);
-
-        Response response =
-                target().path(API_VERSION).path("oauth2").path("token")
-                        .request()
-                        .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                        .header(HttpHeaders.CONTENT_TYPE,
-                                ContentType.APPLICATION_FORM_URLENCODED)
-                        .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(OAuth2Error.INVALID_CLIENT, node.at("/error").asText());
     }
 
-    private void testRequestRefreshTokenInvalidRefreshToken (String clientId)
-            throws KustvaktException {
+    private void testRequestRefreshTokenInvalidRefreshToken(String clientId) throws KustvaktException {
         Form form = new Form();
         form.param("grant_type", GrantType.REFRESH_TOKEN.toString());
         form.param("client_id", clientId);
         form.param("client_secret", clientSecret);
         form.param("refresh_token", "Lia8s8w8tJeZSBlaQDrYV8ion3l");
-
-        Response response =
-                target().path(API_VERSION).path("oauth2").path("token")
-                        .request()
-                        .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                        .header(HttpHeaders.CONTENT_TYPE,
-                                ContentType.APPLICATION_FORM_URLENCODED)
-                        .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(OAuth2Error.INVALID_GRANT, node.at("/error").asText());
     }
 
-    private JsonNode requestTokenList (String userAuthHeader, String tokenType,
-            String clientId) throws KustvaktException {
+    private JsonNode requestTokenList(String userAuthHeader, String tokenType, String clientId) throws KustvaktException {
         Form form = new Form();
         form.param("super_client_id", superClientId);
         form.param("super_client_secret", clientSecret);
         form.param("token_type", tokenType);
-
         if (clientId != null && !clientId.isEmpty()) {
             form.param("client_id", clientId);
         }
-
-        Response response = target().path(API_VERSION).path("oauth2")
-                .path("token").path("list")
-                .request()
-                .header(Attributes.AUTHORIZATION, userAuthHeader)
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("token").path("list").request().header(Attributes.AUTHORIZATION, userAuthHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         return JsonUtils.readTree(entity);
     }
 
-    private JsonNode requestTokenList (String userAuthHeader, String tokenType)
-            throws KustvaktException {
+    private JsonNode requestTokenList(String userAuthHeader, String tokenType) throws KustvaktException {
         return requestTokenList(userAuthHeader, tokenType, null);
     }
 
     @Test
-    public void testListRefreshTokenConfidentialClient ()
-            throws KustvaktException {
+    public void testListRefreshTokenConfidentialClient() throws KustvaktException {
         String username = "gurgle";
         String password = "pwd";
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(username, password);
-
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, password);
         // super client
-        Response response = requestTokenWithPassword(superClientId,
-                clientSecret, username, password);
+        Response response = requestTokenWithPassword(superClientId, clientSecret, username, password);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String refreshToken1 = node.at("/refresh_token").asText();
-
         // client 1
-        String code =
-                requestAuthorizationCode(confidentialClientId, userAuthHeader);
-        response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, code);
+        String code = requestAuthorizationCode(confidentialClientId, userAuthHeader);
+        response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, code);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // client 2
-        code = requestAuthorizationCode(confidentialClientId2,
-                clientRedirectUri, userAuthHeader);
-        response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId2, clientSecret, code, clientRedirectUri);
+        code = requestAuthorizationCode(confidentialClientId2, clientRedirectUri, userAuthHeader);
+        response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId2, clientSecret, code, clientRedirectUri);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // list
         node = requestTokenList(userAuthHeader, REFRESH_TOKEN_TYPE);
         assertEquals(2, node.size());
         assertEquals(confidentialClientId, node.at("/0/client_id").asText());
         assertEquals(confidentialClientId2, node.at("/1/client_id").asText());
-
         // client 1
         code = requestAuthorizationCode(confidentialClientId, userAuthHeader);
-        response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, code);
+        response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, code);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // another user
-        String darlaAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("darla", "pwd");
-
+        String darlaAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("darla", "pwd");
         // test listing clients
         node = requestTokenList(darlaAuthHeader, REFRESH_TOKEN_TYPE);
         assertEquals(0, node.size());
-
         // client 1
         code = requestAuthorizationCode(confidentialClientId, darlaAuthHeader);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-        response = requestTokenWithAuthorizationCodeAndForm(
-                confidentialClientId, clientSecret, code);
-
+        response = requestTokenWithAuthorizationCodeAndForm(confidentialClientId, clientSecret, code);
         node = JsonUtils.readTree(response.readEntity(String.class));
         String refreshToken5 = node.at("/refresh_token").asText();
-
         // list all refresh tokens
         node = requestTokenList(userAuthHeader, REFRESH_TOKEN_TYPE);
         assertEquals(3, node.size());
-
         // list refresh tokens from client 1
-        node = requestTokenList(userAuthHeader, REFRESH_TOKEN_TYPE,
-                confidentialClientId);
+        node = requestTokenList(userAuthHeader, REFRESH_TOKEN_TYPE, confidentialClientId);
         assertEquals(2, node.size());
-
-        testRevokeToken(refreshToken1, superClientId, clientSecret,
-                REFRESH_TOKEN_TYPE);
-        testRevokeToken(node.at("/0/token").asText(), confidentialClientId,
-                clientSecret, REFRESH_TOKEN_TYPE);
-        testRevokeToken(node.at("/1/token").asText(), confidentialClientId2,
-                clientSecret, REFRESH_TOKEN_TYPE);
-
+        testRevokeToken(refreshToken1, superClientId, clientSecret, REFRESH_TOKEN_TYPE);
+        testRevokeToken(node.at("/0/token").asText(), confidentialClientId, clientSecret, REFRESH_TOKEN_TYPE);
+        testRevokeToken(node.at("/1/token").asText(), confidentialClientId2, clientSecret, REFRESH_TOKEN_TYPE);
         node = requestTokenList(userAuthHeader, REFRESH_TOKEN_TYPE);
         assertEquals(1, node.size());
-
-        testRevokeTokenViaSuperClient(node.at("/0/token").asText(),
-                userAuthHeader);
+        testRevokeTokenViaSuperClient(node.at("/0/token").asText(), userAuthHeader);
         node = requestTokenList(userAuthHeader, REFRESH_TOKEN_TYPE);
         assertEquals(0, node.size());
-
         // try revoking a token belonging to another user
         // should not return any errors
         testRevokeTokenViaSuperClient(refreshToken5, userAuthHeader);
         node = requestTokenList(darlaAuthHeader, REFRESH_TOKEN_TYPE);
         assertEquals(1, node.size());
-
         testRevokeTokenViaSuperClient(refreshToken5, darlaAuthHeader);
         node = requestTokenList(darlaAuthHeader, REFRESH_TOKEN_TYPE);
         assertEquals(0, node.size());
     }
 
     @Test
-    public void testListTokenPublicClient () throws KustvaktException {
+    public void testListTokenPublicClient() throws KustvaktException {
         String username = "nemo";
         String password = "pwd";
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(username, password);
-
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, password);
         // access token 1
         String code = requestAuthorizationCode(publicClientId, userAuthHeader);
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                publicClientId, "", code);
+        Response response = requestTokenWithAuthorizationCodeAndForm(publicClientId, "", code);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String accessToken1 = node.at("/access_token").asText();
-
         // access token 2
         code = requestAuthorizationCode(publicClientId, userAuthHeader);
-        response = requestTokenWithAuthorizationCodeAndForm(publicClientId, "",
-                code);
+        response = requestTokenWithAuthorizationCodeAndForm(publicClientId, "", code);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         node = JsonUtils.readTree(response.readEntity(String.class));
         String accessToken2 = node.at("/access_token").asText();
-
         // list access tokens
         node = requestTokenList(userAuthHeader, ACCESS_TOKEN_TYPE);
         assertEquals(2, node.size());
-
         // list refresh tokens
         node = requestTokenList(userAuthHeader, REFRESH_TOKEN_TYPE);
         assertEquals(0, node.size());
-
         testRevokeTokenViaSuperClient(accessToken1, userAuthHeader);
         node = requestTokenList(userAuthHeader, ACCESS_TOKEN_TYPE);
         // System.out.println(node);
@@ -834,22 +583,18 @@
         assertNotNull(node.at("/0/created_date").asText());
         assertNotNull(node.at("/0/expires_in").asLong());
         assertNotNull(node.at("/0/user_authentication_time").asText());
-
         assertEquals(publicClientId, node.at("/0/client_id").asText());
         assertNotNull(node.at("/0/client_name").asText());
         assertNotNull(node.at("/0/client_description").asText());
         assertNotNull(node.at("/0/client_url").asText());
-
         testRevokeTokenViaSuperClient(accessToken2, userAuthHeader);
         node = requestTokenList(userAuthHeader, ACCESS_TOKEN_TYPE);
         assertEquals(0, node.size());
     }
-    
-    private void testRefreshTokenExpiry (String refreshToken)
-            throws KustvaktException {
+
+    private void testRefreshTokenExpiry(String refreshToken) throws KustvaktException {
         RefreshToken token = refreshTokenDao.retrieveRefreshToken(refreshToken);
-        ZonedDateTime expiry = token.getCreatedDate()
-                .plusSeconds(config.getRefreshTokenLongExpiry());
+        ZonedDateTime expiry = token.getCreatedDate().plusSeconds(config.getRefreshTokenLongExpiry());
         assertTrue(expiry.equals(token.getExpiryDate()));
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2PluginTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2PluginTest.java
index bc24cb3..62b96f7 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2PluginTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2PluginTest.java
@@ -1,11 +1,20 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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 static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.client.Entity;
@@ -14,12 +23,10 @@
 import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.http.entity.ContentType;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.entity.InstalledPlugin;
@@ -35,16 +42,14 @@
 public class OAuth2PluginTest extends OAuth2TestBase {
 
     private String username = "plugin-user";
+
     @Autowired
     private InstalledPluginDao pluginDao;
-
+    
     @Test
-    public void testRegisterPlugin () throws
-            ProcessingException, KustvaktException {
+    public void testRegisterPlugin() throws ProcessingException, KustvaktException {
         JsonNode source = JsonUtils.readTree("{ \"plugin\" : \"source\"}");
-
         int refreshTokenExpiry = TimeUtils.convertTimeToSeconds("90D");
-
         String clientName = "Plugin";
         OAuth2ClientJson json = new OAuth2ClientJson();
         json.setName(clientName);
@@ -52,7 +57,6 @@
         json.setDescription("This is a plugin test client.");
         json.setSource(source);
         json.setRefreshTokenExpiry(refreshTokenExpiry);
-
         Response response = registerClient(username, json);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
@@ -60,22 +64,19 @@
         String clientSecret = node.at("/client_secret").asText();
         assertNotNull(clientId);
         assertNotNull(clientSecret);
-
         testInstallPluginNotPermitted(clientId);
         testRetrievePluginInfo(clientId, refreshTokenExpiry);
-
         node = listPlugins(false);
         assertEquals(3, node.size());
-        node = listPlugins(true); // permitted only
+        // permitted only
+        node = listPlugins(true);
         assertEquals(2, node.size());
-
-        testListUserRegisteredPlugins(username, clientId, clientName,
-                refreshTokenExpiry);
+        testListUserRegisteredPlugins(username, clientId, clientName, refreshTokenExpiry);
         deregisterClient(username, clientId);
     }
 
     @Test
-    public void testRegisterPublicPlugin () throws KustvaktException {
+    public void testRegisterPublicPlugin() throws KustvaktException {
         JsonNode source = JsonUtils.readTree("{ \"plugin\" : \"source\"}");
         String clientName = "Public Plugin";
         OAuth2ClientJson json = new OAuth2ClientJson();
@@ -83,70 +84,52 @@
         json.setType(OAuth2ClientType.PUBLIC);
         json.setDescription("This is a public plugin.");
         json.setSource(source);
-
         Response response = registerClient(username, json);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         assertEquals(OAuth2Error.INVALID_REQUEST, node.at("/error").asText());
         assertFalse(node.at("/error_description").isMissingNode());
-        
-//        assertEquals(Status.OK.getStatusCode(), response.getStatus());
-//        String clientId = node.at("/client_id").asText(); 
-//        assertTrue(node.at("/client_secret").isMissingNode());
-//        
-//        deregisterClient(username, clientId);
+        // assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        // String clientId = node.at("/client_id").asText();
+        // assertTrue(node.at("/client_secret").isMissingNode());
+        // 
+        // deregisterClient(username, clientId);
     }
 
-    private void testRetrievePluginInfo (String clientId,
-            int refreshTokenExpiry) throws
-            ProcessingException, KustvaktException {
+    private void testRetrievePluginInfo(String clientId, int refreshTokenExpiry) throws ProcessingException, KustvaktException {
         JsonNode clientInfo = retrieveClientInfo(clientId, username);
         assertEquals(clientId, clientInfo.at("/client_id").asText());
-        assertEquals("Plugin", clientInfo.at("/client_name").asText());
-
-        assertEquals(OAuth2ClientType.CONFIDENTIAL.name(),
-                clientInfo.at("/client_type").asText());
+        assertEquals(clientInfo.at("/client_name").asText(), "Plugin");
+        assertEquals(OAuth2ClientType.CONFIDENTIAL.name(), clientInfo.at("/client_type").asText());
         assertNotNull(clientInfo.at("/client_description").asText());
         assertNotNull(clientInfo.at("/source").asText());
         assertFalse(clientInfo.at("/permitted").asBoolean());
         assertEquals(username, clientInfo.at("/registered_by").asText());
         assertNotNull(clientInfo.at("/registration_date"));
-        assertEquals(refreshTokenExpiry,
-                clientInfo.at("/refresh_token_expiry").asInt());
+        assertEquals(refreshTokenExpiry, clientInfo.at("/refresh_token_expiry").asInt());
     }
 
-    private void testListUserRegisteredPlugins (String username,
-            String clientId, String clientName, int refreshTokenExpiry)
-            throws ProcessingException,
-            KustvaktException {
-
+    private void testListUserRegisteredPlugins(String username, String clientId, String clientName, int refreshTokenExpiry) throws ProcessingException, KustvaktException {
         JsonNode node = listUserRegisteredClients(username);
         assertEquals(1, node.size());
         assertEquals(clientId, node.at("/0/client_id").asText());
         assertEquals(clientName, node.at("/0/client_name").asText());
-        assertEquals(OAuth2ClientType.CONFIDENTIAL.name(),
-                node.at("/0/client_type").asText());
+        assertEquals(OAuth2ClientType.CONFIDENTIAL.name(), node.at("/0/client_type").asText());
         assertFalse(node.at("/0/permitted").asBoolean());
         assertFalse(node.at("/0/registration_date").isMissingNode());
         assertFalse(node.at("/0/source").isMissingNode());
-        assertEquals(refreshTokenExpiry,
-                node.at("/0/refresh_token_expiry").asInt());
+        assertEquals(refreshTokenExpiry, node.at("/0/refresh_token_expiry").asInt());
     }
 
     @Test
-    public void testListPluginsUnauthorizedPublic ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testListPluginsUnauthorizedPublic() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("super_client_id", publicClientId);
         testListPluginsClientUnauthorized(form);
     }
 
     @Test
-    public void testListPluginsUnauthorizedConfidential ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testListPluginsUnauthorizedConfidential() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("super_client_id", confidentialClientId2);
         form.param("super_client_secret", clientSecret);
@@ -154,75 +137,83 @@
     }
 
     @Test
-    public void testListPluginsMissingClientSecret ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testListPluginsMissingClientSecret() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("super_client_id", confidentialClientId);
-
-        Response response = target().path(API_VERSION).path("plugins")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("plugins").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         assertEquals(OAuth2Error.INVALID_REQUEST, node.at("/error").asText());
         assertFalse(node.at("/error_description").isMissingNode());
     }
 
-    private void testListPluginsClientUnauthorized (
-            Form form)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("plugins")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+    private void testListPluginsClientUnauthorized(Form form) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("plugins").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
-        assertEquals(OAuth2Error.UNAUTHORIZED_CLIENT,
-                node.at("/error").asText());
+        assertEquals(OAuth2Error.UNAUTHORIZED_CLIENT, node.at("/error").asText());
         assertFalse(node.at("/error_description").isMissingNode());
     }
 
     @Test
-    public void testListPluginsUserUnauthorized ()
-            throws ProcessingException,
-            KustvaktException {
-
+    public void testListPluginsUserUnauthorized() throws ProcessingException, KustvaktException {
         Form form = getSuperClientForm();
-        Response response = target().path(API_VERSION).path("plugins")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer blahblah")
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("plugins").request().header(Attributes.AUTHORIZATION, "Bearer blahblah").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testListAllPlugins () throws
-            ProcessingException, KustvaktException {
+    public void testListPluginsConcurrent() throws InterruptedException {
+        ExecutorService executorService = Executors.newFixedThreadPool(3);
+        List<Future<Void>> futures = new ArrayList<>();
+        for (int i = 0; i < 3; i++) {
+            futures.add(executorService.submit(new PluginListCallable("Thread " + (i + 1))));
+        }
+        executorService.shutdown();
+        executorService.awaitTermination(2, TimeUnit.SECONDS);
+        for (Future<Void> future : futures) {
+            try {
+                // This will re-throw any exceptions
+                future.get();
+                // that occurred in threads
+            } catch (ExecutionException e) {
+                fail("Test failed: " + e.getCause().getMessage());
+            }
+        }
+    }
+
+    class PluginListCallable implements Callable<Void> {
+
+        private final String name;
+
+        public PluginListCallable(String name) {
+            this.name = name;
+        }
+
+        @Override
+        public Void call() {
+            Form form = getSuperClientForm();
+            try {
+                Response response = target().path(API_VERSION).path("plugins").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
+                assertEquals(Status.OK.getStatusCode(), response.getStatus());
+                String entity = response.readEntity(String.class);
+                JsonNode node = JsonUtils.readTree(entity);
+                assertEquals(2, node.size());
+            } catch (KustvaktException e) {
+                e.printStackTrace();
+                throw new RuntimeException(name, e);
+            }
+            return null;
+        }
+    }
+
+    @Test
+    public void testListAllPlugins() throws ProcessingException, KustvaktException {
         JsonNode node = listPlugins(false);
         assertEquals(2, node.size());
         assertFalse(node.at("/0/client_id").isMissingNode());
@@ -233,318 +224,205 @@
         assertFalse(node.at("/0/registration_date").isMissingNode());
         assertFalse(node.at("/0/source").isMissingNode());
         assertFalse(node.at("/0/refresh_token_expiry").isMissingNode());
-
         // assertTrue(node.at("/1/refresh_token_expiry").isMissingNode());
     }
 
-    private JsonNode listPlugins (boolean permitted_only)
-            throws ProcessingException,
-            KustvaktException {
-
+    private JsonNode listPlugins(boolean permitted_only) throws ProcessingException, KustvaktException {
         Form form = getSuperClientForm();
         if (permitted_only) {
             form.param("permitted_only", Boolean.toString(permitted_only));
         }
-        Response response = target().path(API_VERSION).path("plugins")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("plugins").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         return JsonUtils.readTree(entity);
     }
 
-    private void testInstallConfidentialPlugin (String superClientId,
-            String clientId, String username) throws
-            ProcessingException, KustvaktException {
+    private void testInstallConfidentialPlugin(String superClientId, String clientId, String username) throws ProcessingException, KustvaktException {
         Form form = getSuperClientForm();
         form.param("client_id", clientId);
         Response response = installPlugin(form);
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(clientId, node.at("/client_id").asText());
         assertEquals(superClientId, node.at("/super_client_id").asText());
-
         assertFalse(node.at("/name").isMissingNode());
         assertFalse(node.at("/description").isMissingNode());
         assertFalse(node.at("/url").isMissingNode());
         assertFalse(node.at("/installed_date").isMissingNode());
-
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         testRetrieveInstalledPlugin(superClientId, clientId, username);
     }
 
     @Test
-    public void testInstallPublicPlugin () throws
-            ProcessingException, KustvaktException {
+    public void testInstallPublicPlugin() throws ProcessingException, KustvaktException {
         Form form = getSuperClientForm();
         form.param("client_id", publicClientId2);
         Response response = installPlugin(form);
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(publicClientId2, node.at("/client_id").asText());
         assertEquals(superClientId, node.at("/super_client_id").asText());
-
         assertFalse(node.at("/name").isMissingNode());
         assertFalse(node.at("/description").isMissingNode());
         assertFalse(node.at("/url").isMissingNode());
         assertFalse(node.at("/installed_date").isMissingNode());
-
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         testInstallPluginRedundant(form);
-
         testRetrieveInstalledPlugin(superClientId, publicClientId2, username);
-
         response = uninstallPlugin(publicClientId2, username);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         node = retrieveUserInstalledPlugin(getSuperClientForm());
         assertTrue(node.isEmpty());
     }
 
-    private void testInstallPluginRedundant (
-            Form form)
-            throws ProcessingException,
-            KustvaktException {
+    private void testInstallPluginRedundant(Form form) throws ProcessingException, KustvaktException {
         Response response = installPlugin(form);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.PLUGIN_HAS_BEEN_INSTALLED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.PLUGIN_HAS_BEEN_INSTALLED, node.at("/errors/0/0").asInt());
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 
-    private void testInstallPluginNotPermitted (String clientId)
-            throws ProcessingException,
-            KustvaktException {
+    private void testInstallPluginNotPermitted(String clientId) throws ProcessingException, KustvaktException {
         Form form = getSuperClientForm();
         form.param("client_id", clientId);
         Response response = installPlugin(form);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.PLUGIN_NOT_PERMITTED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.PLUGIN_NOT_PERMITTED, node.at("/errors/0/0").asInt());
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testInstallPluginMissingClientId ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testInstallPluginMissingClientId() throws ProcessingException, KustvaktException {
         Form form = getSuperClientForm();
         Response response = installPlugin(form);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testInstallPluginInvalidClientId ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testInstallPluginInvalidClientId() throws ProcessingException, KustvaktException {
         Form form = getSuperClientForm();
         form.param("client_id", "unknown");
         Response response = installPlugin(form);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals("Unknown client: unknown",
-                node.at("/error_description").asText());
-        assertEquals("invalid_client", node.at("/error").asText());
+        assertEquals(node.at("/error_description").asText(), "Unknown client: unknown");
+        assertEquals(node.at("/error").asText(), "invalid_client");
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testInstallPluginMissingSuperClientSecret ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testInstallPluginMissingSuperClientSecret() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("super_client_id", superClientId);
-
         Response response = installPlugin(form);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals("Missing parameter: super_client_secret",
-                node.at("/error_description").asText());
-        assertEquals("invalid_request", node.at("/error").asText());
-
+        assertEquals(node.at("/error_description").asText(), "Missing parameter: super_client_secret");
+        assertEquals(node.at("/error").asText(), "invalid_request");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testInstallPluginMissingSuperClientId ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testInstallPluginMissingSuperClientId() throws ProcessingException, KustvaktException {
         Form form = new Form();
         Response response = installPlugin(form);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals("Missing parameter: super_client_id",
-                node.at("/error_description").asText());
-        assertEquals("invalid_request", node.at("/error").asText());
-
+        assertEquals(node.at("/error_description").asText(), "Missing parameter: super_client_id");
+        assertEquals(node.at("/error").asText(), "invalid_request");
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testInstallPluginUnauthorizedClient ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testInstallPluginUnauthorizedClient() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("super_client_id", confidentialClientId);
         form.param("super_client_secret", clientSecret);
-
         Response response = installPlugin(form);
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals("unauthorized_client", node.at("/error").asText());
-
+        assertEquals(node.at("/error").asText(), "unauthorized_client");
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
     }
 
-    private Response installPlugin (Form form)
-            throws ProcessingException,
-            KustvaktException {
-        return target().path(API_VERSION).path("plugins").path("install")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
+    private Response installPlugin(Form form) throws ProcessingException, KustvaktException {
+        return target().path(API_VERSION).path("plugins").path("install").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
     }
 
-    private Response uninstallPlugin (String clientId, String username)
-            throws ProcessingException,
-            KustvaktException {
-
+    private Response uninstallPlugin(String clientId, String username) throws ProcessingException, KustvaktException {
         Form form = getSuperClientForm();
         form.param("client_id", clientId);
-
-        return target().path(API_VERSION).path("plugins").path("uninstall")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
+        return target().path(API_VERSION).path("plugins").path("uninstall").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
     }
 
-    private void testRetrieveInstalledPlugin (String superClientId,
-            String clientId, String installedBy) throws KustvaktException {
-        InstalledPlugin plugin = pluginDao
-                .retrieveInstalledPlugin(superClientId, clientId, installedBy);
+    private void testRetrieveInstalledPlugin(String superClientId, String clientId, String installedBy) throws KustvaktException {
+        InstalledPlugin plugin = pluginDao.retrieveInstalledPlugin(superClientId, clientId, installedBy);
         assertEquals(clientId, plugin.getClient().getId());
         assertEquals(superClientId, plugin.getSuperClient().getId());
         assertEquals(installedBy, plugin.getInstalledBy());
-
         assertTrue(plugin.getId() > 0);
         assertTrue(plugin.getInstalledDate() != null);
     }
 
     @Test
-    public void testListUserInstalledPlugins ()
-            throws ProcessingException,
-            KustvaktException, IOException {
-
-        testInstallConfidentialPlugin(superClientId, confidentialClientId,
-                username);
-        
+    public void testListUserInstalledPlugins() throws ProcessingException, KustvaktException, IOException {
+        testInstallConfidentialPlugin(superClientId, confidentialClientId, username);
         JsonNode node = testRequestAccessToken(confidentialClientId);
-        String accessToken = node.at("/access_token").asText(); 
+        String accessToken = node.at("/access_token").asText();
         String refreshToken = node.at("/refresh_token").asText();
         testSearchWithOAuth2Token(accessToken);
-        
-        testInstallConfidentialPlugin(superClientId, confidentialClientId2,
-                username);
-
+        testInstallConfidentialPlugin(superClientId, confidentialClientId2, username);
         node = retrieveUserInstalledPlugin(getSuperClientForm());
         assertEquals(2, node.size());
-
-        Response response =
-                uninstallPlugin(confidentialClientId, username);
+        Response response = uninstallPlugin(confidentialClientId, username);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         node = retrieveUserInstalledPlugin(getSuperClientForm());
         assertEquals(1, node.size());
-
-        testRequestTokenWithRevokedRefreshToken(confidentialClientId,
-                clientSecret, refreshToken);
+        testRequestTokenWithRevokedRefreshToken(confidentialClientId, clientSecret, refreshToken);
         testSearchWithRevokedAccessToken(accessToken);
-        
         response = uninstallPlugin(confidentialClientId2, username);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         node = retrieveUserInstalledPlugin(getSuperClientForm());
         assertEquals(0, node.size());
-
         testReinstallUninstalledPlugin();
-        
         testUninstallNotInstalledPlugin();
     }
-    
-    private void testReinstallUninstalledPlugin ()
-            throws ProcessingException, KustvaktException {
-        testInstallConfidentialPlugin(superClientId, confidentialClientId2,
-                username);
+
+    private void testReinstallUninstalledPlugin() throws ProcessingException, KustvaktException {
+        testInstallConfidentialPlugin(superClientId, confidentialClientId2, username);
         JsonNode node = retrieveUserInstalledPlugin(getSuperClientForm());
         assertEquals(1, node.size());
-        
         Response response = uninstallPlugin(confidentialClientId2, username);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-        
         node = retrieveUserInstalledPlugin(getSuperClientForm());
         assertEquals(0, node.size());
     }
 
-    private JsonNode testRequestAccessToken (String clientId) throws KustvaktException {
-        String userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(username, "password");
+    private JsonNode testRequestAccessToken(String clientId) throws KustvaktException {
+        String userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "password");
         String code = requestAuthorizationCode(clientId, userAuthHeader);
-        Response response = requestTokenWithAuthorizationCodeAndForm(
-                clientId, clientSecret, code);
+        Response response = requestTokenWithAuthorizationCodeAndForm(clientId, clientSecret, code);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         return node;
     }
 
-    private void testUninstallNotInstalledPlugin ()
-            throws ProcessingException,
-            KustvaktException {
-        Response response =
-                uninstallPlugin(confidentialClientId2, username);
+    private void testUninstallNotInstalledPlugin() throws ProcessingException, KustvaktException {
+        Response response = uninstallPlugin(confidentialClientId2, username);
         assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
-
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
     }
 
-    private JsonNode retrieveUserInstalledPlugin (
-            Form form)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("plugins")
-                .path("installed")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+    private JsonNode retrieveUserInstalledPlugin(Form form) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("plugins").path("installed").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         return JsonUtils.readTree(entity);
-
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2RClientTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2RClientTest.java
index c034ccb..30bb832 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2RClientTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2RClientTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.controller;
 
-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 java.io.IOException;
 import java.net.URI;
@@ -10,12 +10,10 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.util.UriComponentsBuilder;
-
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.oauth2.constant.OAuth2ClientType;
@@ -25,14 +23,14 @@
 public class OAuth2RClientTest extends OAuth2TestBase {
 
     private String username = "OAuth2ClientControllerTest";
+
     private String userAuthHeader;
 
-    public OAuth2RClientTest () throws KustvaktException {
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue("R-user", "password");
+    public OAuth2RClientTest() throws KustvaktException {
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("R-user", "password");
     }
 
-    public OAuth2ClientJson createOAuth2RClient () {
+    public OAuth2ClientJson createOAuth2RClient() {
         OAuth2ClientJson client = new OAuth2ClientJson();
         client.setName("R client");
         client.setType(OAuth2ClientType.PUBLIC);
@@ -42,59 +40,38 @@
     }
 
     @Test
-    public void testRClientWithLocalhost ()
-            throws ProcessingException, KustvaktException, IOException {
+    public void testRClientWithLocalhost() throws ProcessingException, KustvaktException, IOException {
         // Register client
         OAuth2ClientJson clientJson = createOAuth2RClient();
         Response response = registerClient(username, clientJson);
-
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String clientId = node.at("/client_id").asText();
-
         // send authorization
         String code = testAuthorize(clientId);
-
         // send token request
-        response =
-                requestTokenWithAuthorizationCodeAndForm(clientId, null, code);
-        
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-        
+        response = requestTokenWithAuthorizationCodeAndForm(clientId, null, code);
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
-
         // testing
         String accessToken = node.at("/access_token").asText();
         testSearchWithOAuth2Token(accessToken);
-
         // cleaning up
         deregisterClient(username, clientId);
-
         testSearchWithRevokedAccessToken(accessToken);
     }
 
-    private String testAuthorize (String clientId) throws KustvaktException {
-
-        Response response = requestAuthorizationCode("code", clientId, "",
-                "search", "", userAuthHeader);
-
-        assertEquals(Status.TEMPORARY_REDIRECT.getStatusCode(),
-                response.getStatus());
-
+    private String testAuthorize(String clientId) throws KustvaktException {
+        Response response = requestAuthorizationCode("code", clientId, "", "search", "", userAuthHeader);
+        assertEquals(Status.TEMPORARY_REDIRECT.getStatusCode(), response.getStatus());
         URI redirectUri = response.getLocation();
-
-        assertEquals("http", redirectUri.getScheme());
-        assertEquals("localhost", redirectUri.getHost());
+        assertEquals(redirectUri.getScheme(), "http");
+        assertEquals(redirectUri.getHost(), "localhost");
         assertEquals(1410, redirectUri.getPort());
-
-        MultiValueMap<String, String> params = UriComponentsBuilder
-                .fromUri(redirectUri).build().getQueryParams();
+        MultiValueMap<String, String> params = UriComponentsBuilder.fromUri(redirectUri).build().getQueryParams();
         String code = params.getFirst("code");
         assertNotNull(code);
         return code;
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2TestBase.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2TestBase.java
index a5189d0..f922624 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2TestBase.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2TestBase.java
@@ -1,11 +1,11 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
 import java.io.IOException;
 import java.net.URI;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.apache.http.entity.ContentType;
 import org.apache.oltu.oauth2.common.message.types.GrantType;
@@ -23,10 +23,17 @@
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
+import de.ids_mannheim.korap.constant.OAuth2Scope;
+import de.ids_mannheim.korap.encryption.RandomCodeGenerator;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.exceptions.StatusCodes;
 import de.ids_mannheim.korap.oauth2.constant.OAuth2ClientType;
+import de.ids_mannheim.korap.oauth2.dao.AccessTokenDao;
+import de.ids_mannheim.korap.oauth2.dao.OAuth2ClientDao;
 import de.ids_mannheim.korap.oauth2.dao.RefreshTokenDao;
+import de.ids_mannheim.korap.oauth2.entity.AccessScope;
+import de.ids_mannheim.korap.oauth2.entity.AccessToken;
+import de.ids_mannheim.korap.oauth2.entity.OAuth2Client;
 import de.ids_mannheim.korap.utils.JsonUtils;
 import de.ids_mannheim.korap.utils.TimeUtils;
 import de.ids_mannheim.korap.web.input.OAuth2ClientJson;
@@ -41,6 +48,8 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
+import static org.junit.jupiter.api.Assertions.*;
+
 /**
  * Provides common methods and variables for OAuth2 tests,
  * and does not run any test.
@@ -51,6 +60,12 @@
 public abstract class OAuth2TestBase extends SpringJerseyTest {
 
     @Autowired
+    private AccessTokenDao tokenDao;
+    @Autowired
+    private OAuth2ClientDao clientDao;
+    @Autowired
+    private RandomCodeGenerator codeGenerator;
+    @Autowired
     protected RefreshTokenDao refreshTokenDao;
 
     protected String publicClientId = "8bIDtZnH6NvRkW2Fq";
@@ -463,4 +478,27 @@
         assertEquals("application/json;charset=utf-8", contentType);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), status);
     }
+    
+    protected String createExpiredAccessToken () throws KustvaktException {
+        String authToken = codeGenerator.createRandomCode();
+        
+        // create new access token
+        OAuth2Client client = clientDao.retrieveClientById(publicClientId);
+
+        ZonedDateTime now =
+                ZonedDateTime.now(ZoneId.of(Attributes.DEFAULT_TIME_ZONE));
+        Set<AccessScope> scopes = new HashSet<>();
+        scopes.add(new AccessScope(OAuth2Scope.EDIT_VC));
+        
+        AccessToken accessToken = new AccessToken();
+        accessToken.setCreatedDate(now.minusSeconds(5));
+        accessToken.setExpiryDate(now.minusSeconds(3));
+        accessToken.setToken(authToken);
+        accessToken.setScopes(scopes);
+        accessToken.setUserId("marlin");
+        accessToken.setClient(client);
+        accessToken.setUserAuthenticationTime(now.minusSeconds(5));
+        tokenDao.storeAccessToken(accessToken);
+        return authToken;
+    }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/QueryReferenceControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/QueryReferenceControllerTest.java
index e9aec15..89e2cb5 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/QueryReferenceControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/QueryReferenceControllerTest.java
@@ -1,10 +1,9 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.apache.http.entity.ContentType;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.ProcessingException;
@@ -24,381 +23,196 @@
 public class QueryReferenceControllerTest extends SpringJerseyTest {
 
     private String testUser = "qRefControllerTest";
+
     private String adminUser = "admin";
+
     private String system = "system";
 
-    private void testRetrieveQueryByName (String qName, String query,
-            String queryCreator, String username, ResourceType resourceType,
-            CorpusAccess access) throws KustvaktException {
-        
-        Response response = target().path(API_VERSION).path("query")
-                .path("~" + queryCreator).path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .get();
+    private void testRetrieveQueryByName(String qName, String query, String queryCreator, String username, ResourceType resourceType, CorpusAccess access) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").path("~" + queryCreator).path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).get();
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-        
         JsonNode node = JsonUtils.readTree(entity);
-        
         assertEquals(qName, node.at("/name").asText());
         assertEquals(resourceType.displayName(), node.at("/type").asText());
         assertEquals(queryCreator, node.at("/createdBy").asText());
         assertEquals(query, node.at("/query").asText());
-        assertEquals("poliqarp", node.at("/queryLanguage").asText());
+        assertEquals(node.at("/queryLanguage").asText(), "poliqarp");
         assertEquals(access.name(), node.at("/requiredAccess").asText());
     }
-    
-    private void testUpdateQuery (String qName, String qCreator,
-            String username, ResourceType type)
-            throws ProcessingException,
-            KustvaktException {
-        String json = "{\"query\": \"Sonne\""
-                + ",\"queryLanguage\": \"poliqarp\"}";
-        
-        Response response = target().path(API_VERSION).path("query")
-                .path("~"+qCreator).path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-        
+
+    private void testUpdateQuery(String qName, String qCreator, String username, ResourceType type) throws ProcessingException, KustvaktException {
+        String json = "{\"query\": \"Sonne\"" + ",\"queryLanguage\": \"poliqarp\"}";
+        Response response = target().path(API_VERSION).path("query").path("~" + qCreator).path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.NO_CONTENT.getStatusCode(), response.getStatus());
-        
         testRetrieveQueryByName(qName, "Sonne", qCreator, username, type, CorpusAccess.PUB);
     }
-    
+
     @Test
-    public void testCreatePrivateQuery () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\"" 
-                + ",\"queryType\": \"QUERY\""
-                + ",\"queryLanguage\": \"poliqarp\"" 
-                + ",\"query\": \"der\"}";
-
+    public void testCreatePrivateQuery() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"QUERY\"" + ",\"queryLanguage\": \"poliqarp\"" + ",\"query\": \"der\"}";
         String qName = "new_query";
-        Response response = target().path(API_VERSION).path("query")
-                .path("~" + testUser).path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("query").path("~" + testUser).path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
-        testRetrieveQueryByName(qName, "der", testUser, testUser, ResourceType.PRIVATE,
-                CorpusAccess.PUB);
-        
-        testUpdateQuery(qName, testUser, testUser,ResourceType.PRIVATE);
+        testRetrieveQueryByName(qName, "der", testUser, testUser, ResourceType.PRIVATE, CorpusAccess.PUB);
+        testUpdateQuery(qName, testUser, testUser, ResourceType.PRIVATE);
         testDeleteQueryByName(qName, testUser, testUser);
     }
 
     @Test
-    public void testCreatePublishQuery () throws KustvaktException {
-        String json = "{\"type\": \"PUBLISHED\"" 
-                + ",\"queryType\": \"QUERY\""
-                + ",\"queryLanguage\": \"poliqarp\"" 
-                + ",\"query\": \"Regen\"}";
-
+    public void testCreatePublishQuery() throws KustvaktException {
+        String json = "{\"type\": \"PUBLISHED\"" + ",\"queryType\": \"QUERY\"" + ",\"queryLanguage\": \"poliqarp\"" + ",\"query\": \"Regen\"}";
         String qName = "publish_query";
-        Response response = target().path(API_VERSION).path("query")
-                .path("~" + testUser).path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("query").path("~" + testUser).path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
-        testRetrieveQueryByName(qName, "Regen", testUser, testUser, ResourceType.PUBLISHED,
-                CorpusAccess.PUB);
+        testRetrieveQueryByName(qName, "Regen", testUser, testUser, ResourceType.PUBLISHED, CorpusAccess.PUB);
         testDeleteQueryByName(qName, testUser, testUser);
         // check if hidden group has been created
-        
     }
-    
+
     @Test
-    public void testCreateUserQueryByAdmin () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\""
-                + ",\"queryType\": \"QUERY\""
-                + ",\"queryLanguage\": \"poliqarp\"" 
-                + ",\"query\": \"Sommer\"}";
-
+    public void testCreateUserQueryByAdmin() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"QUERY\"" + ",\"queryLanguage\": \"poliqarp\"" + ",\"query\": \"Sommer\"}";
         String qName = "marlin-query";
-        Response response = target().path(API_VERSION).path("query")
-                .path("~marlin").path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(adminUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("query").path("~marlin").path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(adminUser, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-        
         testRetrieveQueryByName(qName, "Sommer", "marlin", adminUser, ResourceType.PRIVATE, CorpusAccess.PUB);
-        
         testUpdateQuery(qName, "marlin", adminUser, ResourceType.PRIVATE);
         testDeleteQueryByName(qName, "marlin", adminUser);
     }
-    
+
     @Test
-    public void testCreateSystemQuery () throws KustvaktException {
-        String json = "{\"type\": \"SYSTEM\""
-                + ",\"queryType\": \"QUERY\""
-                + ",\"queryLanguage\": \"poliqarp\"" 
-                + ",\"query\": \"Sommer\"}";
-
+    public void testCreateSystemQuery() throws KustvaktException {
+        String json = "{\"type\": \"SYSTEM\"" + ",\"queryType\": \"QUERY\"" + ",\"queryLanguage\": \"poliqarp\"" + ",\"query\": \"Sommer\"}";
         String qName = "system-query";
-        Response response = target().path(API_VERSION).path("query")
-                .path("~system").path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(adminUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("query").path("~system").path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(adminUser, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-        
         testRetrieveQueryByName(qName, "Sommer", system, adminUser, ResourceType.SYSTEM, CorpusAccess.PUB);
         testUpdateQuery(qName, system, adminUser, ResourceType.SYSTEM);
         testDeleteSystemQueryUnauthorized(qName);
         testDeleteQueryByName(qName, system, adminUser);
     }
-    
+
     @Test
-    public void testCreateSystemQueryUnauthorized () throws KustvaktException {
-        String json = "{\"type\": \"SYSTEM\""
-                + ",\"queryType\": \"QUERY\""
-                + ",\"queryLanguage\": \"poliqarp\"" 
-                + ",\"query\": \"Sommer\"}";
-
-        Response response = target().path(API_VERSION).path("query")
-                .path("~"+testUser).path("system-query")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+    public void testCreateSystemQueryUnauthorized() throws KustvaktException {
+        String json = "{\"type\": \"SYSTEM\"" + ",\"queryType\": \"QUERY\"" + ",\"queryLanguage\": \"poliqarp\"" + ",\"query\": \"Sommer\"}";
+        Response response = target().path(API_VERSION).path("query").path("~" + testUser).path("system-query").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: " + testUser,
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals("Unauthorized operation for user: " + testUser, node.at("/errors/0/1").asText());
     }
-    
+
     @Test
-    public void testCreateQueryMissingQueryType () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\"" 
-                + ",\"queryLanguage\": \"poliqarp\""
-                + ",\"query\": \"Sohn\"}";
-
+    public void testCreateQueryMissingQueryType() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryLanguage\": \"poliqarp\"" + ",\"query\": \"Sohn\"}";
         String qName = "new_query";
-        Response response = target().path(API_VERSION).path("query")
-                .path("~" + testUser).path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("query").path("~" + testUser).path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
-        testRetrieveQueryByName(qName, "Sohn", testUser, testUser, ResourceType.PRIVATE,
-                CorpusAccess.PUB);
+        testRetrieveQueryByName(qName, "Sohn", testUser, testUser, ResourceType.PRIVATE, CorpusAccess.PUB);
         testDeleteQueryByName(qName, testUser, testUser);
     }
-    
+
     @Test
-    public void testCreateQueryMissingQueryLanguage () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\"" 
-                + ",\"queryType\": \"QUERY\""
-                + ",\"query\": \"Sohn\"}";
-
+    public void testCreateQueryMissingQueryLanguage() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"QUERY\"" + ",\"query\": \"Sohn\"}";
         String qName = "new_query";
-        Response response = target().path(API_VERSION).path("query")
-                .path("~" + testUser).path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("query").path("~" + testUser).path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
-        assertEquals("queryLanguage is null", node.at("/errors/0/1").asText());
-        assertEquals("queryLanguage", node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "queryLanguage is null");
+        assertEquals(node.at("/errors/0/2").asText(), "queryLanguage");
     }
-    
+
     @Test
-    public void testCreateQueryMissingQuery () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\"" 
-                + ",\"queryType\": \"QUERY\""
-                + ",\"queryLanguage\": \"poliqarp\"}";
-
+    public void testCreateQueryMissingQuery() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"QUERY\"" + ",\"queryLanguage\": \"poliqarp\"}";
         String qName = "new_query";
-        Response response = target().path(API_VERSION).path("query")
-                .path("~" + testUser).path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("query").path("~" + testUser).path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
-        assertEquals("query is null", node.at("/errors/0/1").asText());
-        assertEquals("query", node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "query is null");
+        assertEquals(node.at("/errors/0/2").asText(), "query");
     }
-    
+
     @Test
-    public void testCreateQueryMissingResourceType () throws KustvaktException {
-        String json = "{\"query\": \"Wind\""
-                + ",\"queryLanguage\": \"poliqarp\"}";
-
+    public void testCreateQueryMissingResourceType() throws KustvaktException {
+        String json = "{\"query\": \"Wind\"" + ",\"queryLanguage\": \"poliqarp\"}";
         String qName = "new_query";
-        Response response = target().path(API_VERSION).path("query")
-                .path("~" + testUser).path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("query").path("~" + testUser).path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
-        assertEquals("type is null", node.at("/errors/0/1").asText());
-        assertEquals("type", node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "type is null");
+        assertEquals(node.at("/errors/0/2").asText(), "type");
     }
-    
-    private void testDeleteQueryByName (String qName, String qCreator, String username)
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("query")
-                .path("~" + qCreator).path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .delete();
 
+    private void testDeleteQueryByName(String qName, String qCreator, String username) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").path("~" + qCreator).path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
-    
-    @Test
-    public void testDeleteQueryUnauthorized () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("query")
-                .path("~dory").path("dory-q")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .delete();
 
+    @Test
+    public void testDeleteQueryUnauthorized() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").path("~dory").path("dory-q").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).delete();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: " + testUser,
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals("Unauthorized operation for user: " + testUser, node.at("/errors/0/1").asText());
     }
-    
-    private void testDeleteSystemQueryUnauthorized (String qName) throws KustvaktException {
-        Response response = target().path(API_VERSION).path("query")
-                .path("~system").path(qName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .delete();
 
+    private void testDeleteSystemQueryUnauthorized(String qName) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").path("~system").path(qName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).delete();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: " + testUser,
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals("Unauthorized operation for user: " + testUser, node.at("/errors/0/1").asText());
     }
-    
-    @Test
-    public void testDeleteNonExistingQuery () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("query")
-                .path("~dory").path("non-existing-query")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .delete();
 
+    @Test
+    public void testDeleteNonExistingQuery() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").path("~dory").path("non-existing-query").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).delete();
         assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
-        
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Query dory/non-existing-query is not found.",
-                node.at("/errors/0/1").asText());
-        assertEquals("dory/non-existing-query",
-                node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Query dory/non-existing-query is not found.");
+        assertEquals(node.at("/errors/0/2").asText(), "dory/non-existing-query");
     }
 
     @Test
-    public void testListAvailableQueryForDory () throws
-            ProcessingException, KustvaktException {
+    public void testListAvailableQueryForDory() throws ProcessingException, KustvaktException {
         JsonNode node = testListAvailableQuery("dory");
         assertEquals(2, node.size());
     }
 
     @Test
-    public void testListAvailableQueryForPearl ()
-            throws ProcessingException,
-            KustvaktException {
-        
+    public void testListAvailableQueryForPearl() throws ProcessingException, KustvaktException {
         JsonNode node = testListAvailableQuery("pearl");
-        
         assertEquals(1, node.size());
-        assertEquals("system-q", node.at("/0/name").asText());
-        assertEquals(ResourceType.SYSTEM.displayName(),
-                node.at("/0/type").asText());
-        assertEquals("\"system\" query", node.at("/0/description").asText());
-        assertEquals("[]", node.at("/0/query").asText());
+        assertEquals(node.at("/0/name").asText(), "system-q");
+        assertEquals(ResourceType.SYSTEM.displayName(), node.at("/0/type").asText());
+        assertEquals(node.at("/0/description").asText(), "\"system\" query");
+        assertEquals(node.at("/0/query").asText(), "[]");
         assertEquals(CorpusAccess.FREE.name(), node.at("/0/requiredAccess").asText());
-//        assertEquals("koral:token", node.at("/0/koralQuery/@type").asText());
+        // assertEquals("koral:token", node.at("/0/koralQuery/@type").asText());
     }
 
-    private JsonNode testListAvailableQuery (String username)
-            throws ProcessingException,
-            KustvaktException {
-
-        Response response = target().path(API_VERSION).path("query")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-
+    private JsonNode testListAvailableQuery(String username) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("query").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
         return node;
     }
-    
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/QueryReferenceSearchTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/QueryReferenceSearchTest.java
index 0cfe827..e709d1b 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/QueryReferenceSearchTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/QueryReferenceSearchTest.java
@@ -1,17 +1,27 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.core.Response;
 
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.utils.JsonUtils;
 
-public class QueryReferenceSearchTest {
+/*@Test
+    public void testSearchWithVCRefEqual () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("cq", "referTo \"dory/dory-q\"")
+                .get();
 
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertTrue(node.at("/matches").size() > 0);
+    }
+*/
+public class QueryReferenceSearchTest {
     /*@Test
     public void testSearchWithVCRefEqual () throws KustvaktException {
         Response response = target().path(API_VERSION).path("search")
@@ -23,5 +33,5 @@
         JsonNode node = JsonUtils.readTree(ent);
         assertTrue(node.at("/matches").size() > 0);
     }
-*/    
+*/
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/QuerySerializationControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/QuerySerializationControllerTest.java
index f8b2a96..b1d8add 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/QuerySerializationControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/QuerySerializationControllerTest.java
@@ -1,14 +1,9 @@
 package de.ids_mannheim.korap.web.controller;
 
-/**
- * @author hanl, margaretha
- * @lastUpdate 19/04/2017
- * EM: FIX ME: Database restructure
- */
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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.util.Iterator;
 
@@ -16,146 +11,78 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Ignore;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.utils.JsonUtils;
 
-
 // EM: The API is disabled
-@Ignore
+@Disabled
 public class QuerySerializationControllerTest extends SpringJerseyTest {
 
     @Test
-    public void testQuerySerializationFilteredPublic ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-
-                .path("corpus/WPD13/query").queryParam("q", "[orth=der]")
-                .queryParam("ql", "poliqarp").queryParam("context", "base/s:s")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testQuerySerializationFilteredPublic() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus/WPD13/query").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("context", "base/s:s").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals("corpusSigle", node.at("/collection/key").asText());
-        assertEquals("WPD13", node.at("/collection/value").asText());
+        assertEquals(node.at("/collection/key").asText(), "corpusSigle");
+        assertEquals(node.at("/collection/value").asText(), "WPD13");
     }
 
-
-
     @Test
-    public void testQuerySerializationUnexistingResource ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("corpus/ZUW19/query")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("context", "base/s:s")
-                .request()
-                .method("GET");
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+    public void testQuerySerializationUnexistingResource() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus/ZUW19/query").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("context", "base/s:s").request().method("GET");
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertEquals(101, node.at("/errors/0/0").asInt());
-        assertEquals("[Cannot found public Corpus with ids: [ZUW19]]",
-                node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/2").asText(), "[Cannot found public Corpus with ids: [ZUW19]]");
     }
 
-
     @Test
-    public void testQuerySerializationWithNonPublicCorpus ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-
-                .path("corpus/BRZ10/query").queryParam("q", "[orth=der]")
-                .queryParam("ql", "poliqarp").queryParam("context", "base/s:s")
-                .request()
-                .method("GET");
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+    public void testQuerySerializationWithNonPublicCorpus() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus/BRZ10/query").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("context", "base/s:s").request().method("GET");
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertEquals(101, node.at("/errors/0/0").asInt());
-        assertEquals("[Cannot found public Corpus with ids: [BRZ10]]",
-                node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/2").asText(), "[Cannot found public Corpus with ids: [BRZ10]]");
     }
 
-
     @Test
-    public void testQuerySerializationWithAuthentication ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-
-                .path("corpus/BRZ10/query").queryParam("q", "[orth=der]")
-                .queryParam("ql", "poliqarp")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testQuerySerializationWithAuthentication() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus/BRZ10/query").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals("koral:doc", node.at("/collection/@type").asText());
-        assertEquals("corpusSigle", node.at("/collection/key").asText());
-        assertEquals("BRZ10", node.at("/collection/value").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/key").asText(), "corpusSigle");
+        assertEquals(node.at("/collection/value").asText(), "BRZ10");
     }
 
-
     @Test
-    public void testQuerySerializationWithNewCollection ()
-            throws KustvaktException {
+    public void testQuerySerializationWithNewCollection() throws KustvaktException {
         // Add Virtual Collection
-        Response response = target().path(API_VERSION)
-
-                .path("virtualcollection").queryParam("filter", "false")
-                .queryParam("query",
-                        "creationDate since 1775 & corpusSigle=GOE")
-                .queryParam("name", "Weimarer Werke")
-                .queryParam("description", "Goethe-Werke in Weimar (seit 1775)")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .post(Entity.json(""));
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        Response response = target().path(API_VERSION).path("virtualcollection").queryParam("filter", "false").queryParam("query", "creationDate since 1775 & corpusSigle=GOE").queryParam("name", "Weimarer Werke").queryParam("description", "Goethe-Werke in Weimar (seit 1775)").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).post(Entity.json(""));
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertTrue(node.isObject());
-        assertEquals("Weimarer Werke", node.path("name").asText());
-
+        assertEquals(node.path("name").asText(), "Weimarer Werke");
         // Get virtual collections
-        response = target().path(API_VERSION)
-
-                .path("collection")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        response = target().path(API_VERSION).path("collection").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         ent = response.readEntity(String.class);
         node = JsonUtils.readTree(ent);
         assertNotNull(node);
-
         Iterator<JsonNode> it = node.elements();
         String id = null;
         while (it.hasNext()) {
@@ -165,124 +92,65 @@
         }
         assertNotNull(id);
         assertFalse(id.isEmpty());
-
         // query serialization service
-        response = target().path(API_VERSION)
-
-                .path("collection").path(id).path("query")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("context", "base/s:s")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        response = target().path(API_VERSION).path("collection").path(id).path("query").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("context", "base/s:s").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         ent = response.readEntity(String.class);
         node = JsonUtils.readTree(ent);
         assertNotNull(node);
-//        System.out.println("NODE " + ent);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("koral:doc",
-                node.at("/collection/operands/0/@type").asText());
-        assertEquals("creationDate",
-                node.at("/collection/operands/0/key").asText());
-        assertEquals("1775", node.at("/collection/operands/0/value").asText());
-        assertEquals("type:date",
-                node.at("/collection/operands/0/type").asText());
-        assertEquals("match:geq",
-                node.at("/collection/operands/0/match").asText());
-
-        assertEquals("koral:doc",
-                node.at("/collection/operands/1/@type").asText());
-        assertEquals("corpusSigle",
-                node.at("/collection/operands/1/key").asText());
-        assertEquals("GOE", node.at("/collection/operands/1/value").asText());
-        assertEquals("match:eq",
-                node.at("/collection/operands/1/match").asText());
+        // System.out.println("NODE " + ent);
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/0/key").asText(), "creationDate");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "1775");
+        assertEquals(node.at("/collection/operands/0/type").asText(), "type:date");
+        assertEquals(node.at("/collection/operands/0/match").asText(), "match:geq");
+        assertEquals(node.at("/collection/operands/1/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/1/key").asText(), "corpusSigle");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "GOE");
+        assertEquals(node.at("/collection/operands/1/match").asText(), "match:eq");
     }
 
-
     @Test
-    public void testQuerySerializationOfVirtualCollection ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-
-                .path("collection/GOE-VC/query").queryParam("q", "[orth=der]")
-                .queryParam("ql", "poliqarp").queryParam("context", "base/s:s")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testQuerySerializationOfVirtualCollection() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("collection/GOE-VC/query").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("context", "base/s:s").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals("koral:doc",
-                node.at("/collection/operands/0/@type").asText());
-        assertEquals("corpusSigle",
-                node.at("/collection/operands/0/key").asText());
-        assertEquals("GOE", node.at("/collection/operands/0/value").asText());
-        assertEquals("koral:doc",
-                node.at("/collection/operands/1/@type").asText());
-        assertEquals("creationDate",
-                node.at("/collection/operands/1/key").asText());
-        assertEquals("1810-01-01",
-                node.at("/collection/operands/1/value").asText());
-
+        assertEquals(node.at("/collection/operands/0/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/0/key").asText(), "corpusSigle");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "GOE");
+        assertEquals(node.at("/collection/operands/1/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/1/key").asText(), "creationDate");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "1810-01-01");
     }
 
-
     @Test
-    public void testMetaQuerySerialization () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-
-                .path("query").queryParam("context", "sentence")
-                .queryParam("count", "20").queryParam("page", "5")
-                .queryParam("cutoff", "true").queryParam("q", "[pos=ADJA]")
-                .queryParam("ql", "poliqarp")
-                .request()
-                .method("GET");
-        assertEquals(response.getStatus(),
-                Status.OK.getStatusCode());
-
+    public void testMetaQuerySerialization() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").queryParam("context", "sentence").queryParam("count", "20").queryParam("page", "5").queryParam("cutoff", "true").queryParam("q", "[pos=ADJA]").queryParam("ql", "poliqarp").request().method("GET");
+        assertEquals(response.getStatus(), Status.OK.getStatusCode());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-
-        assertEquals("sentence", node.at("/meta/context").asText());
+        assertEquals(node.at("/meta/context").asText(), "sentence");
         assertEquals(20, node.at("/meta/count").asInt());
         assertEquals(5, node.at("/meta/startPage").asInt());
         assertEquals(true, node.at("/meta/cutOff").asBoolean());
-
-        assertEquals("koral:term", node.at("/query/wrap/@type").asText());
-        assertEquals("pos", node.at("/query/wrap/layer").asText());
-        assertEquals("match:eq", node.at("/query/wrap/match").asText());
-        assertEquals("ADJA", node.at("/query/wrap/key").asText());
+        assertEquals(node.at("/query/wrap/@type").asText(), "koral:term");
+        assertEquals(node.at("/query/wrap/layer").asText(), "pos");
+        assertEquals(node.at("/query/wrap/match").asText(), "match:eq");
+        assertEquals(node.at("/query/wrap/key").asText(), "ADJA");
     }
 
-
     @Test
-    public void testMetaQuerySerializationWithOffset ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-
-                .path("query").queryParam("context", "sentence")
-                .queryParam("count", "20").queryParam("page", "5")
-                .queryParam("offset", "2").queryParam("cutoff", "true")
-                .queryParam("q", "[pos=ADJA]").queryParam("ql", "poliqarp")
-                .request()
-                .method("GET");
-        assertEquals(response.getStatus(),
-                Status.OK.getStatusCode());
-
+    public void testMetaQuerySerializationWithOffset() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").queryParam("context", "sentence").queryParam("count", "20").queryParam("page", "5").queryParam("offset", "2").queryParam("cutoff", "true").queryParam("q", "[pos=ADJA]").queryParam("ql", "poliqarp").request().method("GET");
+        assertEquals(response.getStatus(), Status.OK.getStatusCode());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-
-        assertEquals("sentence", node.at("/meta/context").asText());
+        assertEquals(node.at("/meta/context").asText(), "sentence");
         assertEquals(20, node.at("/meta/count").asInt());
         assertEquals(2, node.at("/meta/startIndex").asInt());
         assertEquals(true, node.at("/meta/cutOff").asBoolean());
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/ResourceInfoControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/ResourceInfoControllerTest.java
index 86f97fe..8f30d17 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/ResourceInfoControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/ResourceInfoControllerTest.java
@@ -1,18 +1,16 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Ignore;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
@@ -22,91 +20,59 @@
 /**
  * @author hanl, margaretha
  * @lastUpdate 19/04/2017
- *             EM: FIX ME: Database restructure
+ * EM: FIX ME: Database restructure
  */
-@Ignore
+@Disabled
 public class ResourceInfoControllerTest extends SpringJerseyTest {
 
     @Test
-    public void testGetPublicVirtualCollectionInfo () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("collection")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testGetPublicVirtualCollectionInfo() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("collection").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node);
         assertEquals(1, node.size());
     }
 
-
     @Test
-    public void testGetVirtualCollectionInfoWithAuthentication ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("collection")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testGetVirtualCollectionInfoWithAuthentication() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("collection").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertNotNull(node);
         assertTrue(node.isArray());
         assertEquals(3, node.size());
     }
 
-
     @Test
-    public void testGetVirtualCollectionInfoById () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("collection").path("GOE-VC")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testGetVirtualCollectionInfoById() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("collection").path("GOE-VC").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertNotEquals(0, node.size());
-        assertEquals("Goethe Virtual Collection", node.path("name").asText());
-        assertEquals("Goethe works from 1810",
-                node.path("description").asText());
+        assertEquals(node.path("name").asText(), "Goethe Virtual Collection");
+        assertEquals(node.path("description").asText(), "Goethe works from 1810");
     }
 
     @Test
-    public void testGetVirtualCollectionInfoByIdUnauthorized ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("collection").path("WPD15-VC")
-                .request()
-                .get();
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+    public void testGetVirtualCollectionInfoByIdUnauthorized() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("collection").path("WPD15-VC").request().get();
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertNotEquals(0, node.size());
         assertEquals(101, node.at("/errors/0/0").asInt());
-        assertEquals(
-                "[Cannot found public VirtualCollection with ids: [WPD15-VC]]",
-                node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/2").asText(), "[Cannot found public VirtualCollection with ids: [WPD15-VC]]");
     }
 
     @Test
-    public void testGetPublicCorporaInfo () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("corpus")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testGetPublicCorporaInfo() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
@@ -114,49 +80,33 @@
         assertEquals(2, node.size());
     }
 
-
     @Test
-    public void testGetCorpusInfoById () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("corpus").path("WPD13")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testGetCorpusInfoById() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("WPD13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         // System.out.println(ent);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertTrue(node.isObject());
-        assertEquals("WPD13", node.path("id").asText());
+        assertEquals(node.path("id").asText(), "WPD13");
     }
 
-
     @Test
-    public void testGetCorpusInfoById2 () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("corpus").path("GOE")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testGetCorpusInfoById2() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("GOE").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertTrue(node.isObject());
-        assertEquals("GOE", node.path("id").asText());
+        assertEquals(node.path("id").asText(), "GOE");
     }
 
-
     @Test
-    public void testGetPublicFoundriesInfo () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("foundry")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testGetPublicFoundriesInfo() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("foundry").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
@@ -164,61 +114,41 @@
         assertEquals(10, node.size());
     }
 
-
     @Test
-    public void testGetFoundryInfoById () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("foundry").path("tt")
-                .request()
-                .get();
+    public void testGetFoundryInfoById() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("foundry").path("tt").request().get();
         String ent = response.readEntity(String.class);
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertNotEquals(0, node.size());
     }
 
-
     @Test
-    public void testGetUnexistingCorpusInfo () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("corpus").path("ZUW19")
-                .request()
-                .get();
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+    public void testGetUnexistingCorpusInfo() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("ZUW19").request().get();
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertNotEquals(0, node.size());
         assertEquals(101, node.at("/errors/0/0").asInt());
-        assertEquals("[Cannot found public Corpus with ids: [ZUW19]]",
-                node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/2").asText(), "[Cannot found public Corpus with ids: [ZUW19]]");
     }
 
-
     // EM: queries for an unauthorized corpus get the same responses /
     // treatment as
     // asking for an unexisting corpus info. Does it need a specific
     // exception instead?
     @Test
-    public void testGetUnauthorizedCorpusInfo () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("corpus").path("BRZ10")
-                .request()
-                .get();
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+    public void testGetUnauthorizedCorpusInfo() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus").path("BRZ10").request().get();
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertNotEquals(0, node.size());
         assertEquals(101, node.at("/errors/0/0").asInt());
-        assertEquals("[Cannot found public Corpus with ids: [BRZ10]]",
-                node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/2").asText(), "[Cannot found public Corpus with ids: [BRZ10]]");
     }
-
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchControllerTest.java
index 1c4140c..f683f01 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchControllerTest.java
@@ -1,19 +1,18 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import jakarta.ws.rs.client.Entity;
 import jakarta.ws.rs.core.MediaType;
 import jakarta.ws.rs.core.Response.Status;
 
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
-import org.junit.Ignore;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.core.Response;
@@ -30,28 +29,21 @@
 /**
  * @author hanl, margaretha
  * @lastUpdate 18/03/2019
- *
  */
 public class SearchControllerTest extends SpringJerseyTest {
 
     @Autowired
     private KustvaktConfiguration config;
 
-    private JsonNode requestSearchWithFields(String fields) throws KustvaktException{
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("fields", fields)
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    private JsonNode requestSearchWithFields(String fields) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("fields", fields).queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         return node;
     }
-    
-    private String createJsonQuery(){
+
+    private String createJsonQuery() {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[orth=der]", "poliqarp");
         s.setCollection("corpusSigle=GOE");
@@ -60,99 +52,67 @@
     }
 
     @Test
-    public void testApiWelcomeMessage () {
-        Response response = target().path(API_VERSION).path("")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-        assertEquals(
-            "Wes8Bd4h1OypPqbWF5njeQ==",
-            response.getHeaders().getFirst("X-Index-Revision")
-            );
-
+    public void testApiWelcomeMessage() {
+        Response response = target().path(API_VERSION).path("").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        assertEquals(response.getHeaders().getFirst("X-Index-Revision"), "Wes8Bd4h1OypPqbWF5njeQ==");
         String message = response.readEntity(String.class);
         assertEquals(message, config.getApiWelcomeMessage());
     }
 
     @Test
-    public void testSearchShowTokens () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .queryParam("show-tokens", true).request()
-                .get();
+    public void testSearchShowTokens() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").queryParam("show-tokens", true).request().get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(3, node.at("/matches/0/tokens").size());
         assertFalse(node.at("/matches/0/snippet").isMissingNode());
     }
-    
+
     @Test
-    public void testSearchDisableSnippet () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .queryParam("show-snippet", false)
-                .queryParam("show-tokens", true)
-                .request()
-                .get();
+    public void testSearchDisableSnippet() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").queryParam("show-snippet", false).queryParam("show-tokens", true).request().get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertTrue(node.at("/matches/0/snippet").isMissingNode());
         assertEquals(3, node.at("/matches/0/tokens").size());
     }
-    
+
     @Test
-    public void testSearchWithField () throws KustvaktException {
+    public void testSearchWithField() throws KustvaktException {
         JsonNode node = requestSearchWithFields("author");
         assertNotEquals(0, node.at("/matches").size());
-        assertEquals("[\"author\"]",
-                node.at("/meta/fields").toString());
-        
+        assertEquals(node.at("/meta/fields").toString(), "[\"author\"]");
         assertTrue(node.at("/matches/0/tokens").isMissingNode());
     }
-    
+
     @Test
-    public void testSearchWithMultipleFields () throws KustvaktException {
+    public void testSearchWithMultipleFields() throws KustvaktException {
         JsonNode node = requestSearchWithFields("author, title");
         assertNotEquals(0, node.at("/matches").size());
-        assertEquals("[\"author\",\"title\"]",
-                node.at("/meta/fields").toString());
+        assertEquals(node.at("/meta/fields").toString(), "[\"author\",\"title\"]");
     }
-    
+
     @Test
-    public void testSearchQueryPublicCorpora () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .request()
-                .accept(MediaType.APPLICATION_JSON).get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchQueryPublicCorpora() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").request().accept(MediaType.APPLICATION_JSON).get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals("koral:doc", node.at("/collection/@type").asText());
-        assertEquals("availability", node.at("/collection/key").asText());
-        assertEquals("CC-BY.*", node.at("/collection/value").asText());
-        assertEquals("availability(FREE)",
-                node.at("/collection/rewrites/0/scope").asText());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/key").asText(), "availability");
+        assertEquals(node.at("/collection/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(FREE)");
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
     }
 
     @Test
-    public void testSearchQueryFailure () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der").queryParam("ql", "poliqarp")
-                .queryParam("cq", "corpusSigle=WPD | corpusSigle=GOE")
-                .queryParam("count", "13")
-                .request()
-                .accept(MediaType.APPLICATION_JSON)
-                .get();
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchQueryFailure() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der").queryParam("ql", "poliqarp").queryParam("cq", "corpusSigle=WPD | corpusSigle=GOE").queryParam("count", "13").request().accept(MediaType.APPLICATION_JSON).get();
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
@@ -164,337 +124,209 @@
     }
 
     @Test
-    public void testSearchQueryWithMeta () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=Bachelor]").queryParam("ql", "poliqarp")
-                .queryParam("cutoff", "true").queryParam("count", "5")
-                .queryParam("page", "1").queryParam("context", "40-t,30-t")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchQueryWithMeta() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=Bachelor]").queryParam("ql", "poliqarp").queryParam("cutoff", "true").queryParam("count", "5").queryParam("page", "1").queryParam("context", "40-t,30-t").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertTrue(node.at("/meta/cutOff").asBoolean());
         assertEquals(5, node.at("/meta/count").asInt());
         assertEquals(0, node.at("/meta/startIndex").asInt());
-        assertEquals("token", node.at("/meta/context/left/0").asText());
+        assertEquals(node.at("/meta/context/left/0").asText(), "token");
         assertEquals(40, node.at("/meta/context/left/1").asInt());
         assertEquals(30, node.at("/meta/context/right/1").asInt());
         assertEquals(-1, node.at("/meta/totalResults").asInt());
+        for (String path : new String[]{"/meta/count", "/meta/startIndex", "/meta/context/left/1", "/meta/context/right/1", "/meta/totalResults", "/meta/itemsPerPage"}) {
+            assertTrue(node.at(path).isNumber(), path + " should be a number");
+        }
     }
 
     @Test
-    public void testSearchQueryFreeExtern () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchQueryFreeExtern() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node);
         assertNotEquals(0, node.path("matches").size());
-        assertEquals("koral:doc", node.at("/collection/@type").asText());
-        assertEquals("availability", node.at("/collection/key").asText());
-        assertEquals("CC-BY.*", node.at("/collection/value").asText());
-        assertEquals("availability(FREE)",
-                node.at("/collection/rewrites/0/scope").asText());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/key").asText(), "availability");
+        assertEquals(node.at("/collection/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(FREE)");
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
     }
 
     @Test
-    public void testSearchQueryFreeIntern () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "172.27.0.32")
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchQueryFreeIntern() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").request().header(HttpHeaders.X_FORWARDED_FOR, "172.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node);
         assertNotEquals(0, node.path("matches").size());
-        assertEquals("koral:doc", node.at("/collection/@type").asText());
-        assertEquals("availability", node.at("/collection/key").asText());
-        assertEquals("CC-BY.*", node.at("/collection/value").asText());
-        assertEquals("availability(FREE)",
-                node.at("/collection/rewrites/0/scope").asText());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/key").asText(), "availability");
+        assertEquals(node.at("/collection/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(FREE)");
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
     }
 
     @Test
-    public void testSearchQueryExternAuthorized () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchQueryExternAuthorized() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         // System.out.println(entity);
         assertNotNull(node);
         assertNotEquals(0, node.path("matches").size());
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("CC-BY.*",
-                node.at("/collection/operands/0/value").asText());
-        assertEquals("ACA.*",
-                node.at("/collection/operands/1/operands/0/value").asText());
-        assertEquals("QAO-NC",
-                node.at("/collection/operands/1/operands/1/value").asText());
-        assertEquals("operation:or", node.at("/collection/operation").asText());
-        assertEquals("availability(PUB)",
-                node.at("/collection/rewrites/0/scope").asText());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/operands/1/operands/0/value").asText(), "ACA.*");
+        assertEquals(node.at("/collection/operands/1/operands/1/value").asText(), "QAO-NC");
+        assertEquals(node.at("/collection/operation").asText(), "operation:or");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(PUB)");
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
     }
 
     @Test
-    public void testSearchQueryInternAuthorized () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "172.27.0.32")
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchQueryInternAuthorized() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).header(HttpHeaders.X_FORWARDED_FOR, "172.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node);
         assertNotEquals(0, node.path("matches").size());
-//        System.out.println(node);
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("CC-BY.*",
-                node.at("/collection/operands/0/value").asText());
-        assertEquals("ACA.*",
-                node.at("/collection/operands/1/operands/0/value").asText());
-        assertEquals("QAO-NC",
-                node.at("/collection/operands/1/operands/1/operands/0/value")
-                        .asText());
-        assertEquals("QAO.*",
-                node.at("/collection/operands/1/operands/1/operands/1/value")
-                        .asText());
-        assertEquals("operation:or", node.at("/collection/operation").asText());
-        assertEquals("availability(ALL)",
-                node.at("/collection/rewrites/0/scope").asText());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
+        // System.out.println(node);
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/operands/1/operands/0/value").asText(), "ACA.*");
+        assertEquals(node.at("/collection/operands/1/operands/1/operands/0/value").asText(), "QAO-NC");
+        assertEquals(node.at("/collection/operands/1/operands/1/operands/1/value").asText(), "QAO.*");
+        assertEquals(node.at("/collection/operation").asText(), "operation:or");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(ALL)");
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
     }
-    
+
     @Test
-    public void testSearchWithCorpusQuery () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "corpusTitle=gingko")
-                .request()
-                .accept(MediaType.APPLICATION_JSON).get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchWithCorpusQuery() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "corpusTitle=gingko").request().accept(MediaType.APPLICATION_JSON).get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("operation:and", node.at("/collection/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
         assertEquals(2, node.at("/collection/operands").size());
-        assertEquals("CC-BY.*",
-                node.at("/collection/operands/0/value").asText());
-        
-        assertEquals("gingko",
-                node.at("/collection/operands/1/value").asText());
-        assertEquals("match:eq",
-                node.at("/collection/operands/1/match").asText());
+        assertEquals(node.at("/collection/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "gingko");
+        assertEquals(node.at("/collection/operands/1/match").asText(), "match:eq");
         assertTrue(node.at("/collection/operands/1/type").isMissingNode());
     }
 
     @Test
-    public void testSearchQueryWithCollectionQueryAuthorizedWithoutIP ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "textClass=politik & corpusSigle=BRZ10")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchQueryWithCollectionQueryAuthorizedWithoutIP() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("cq", "textClass=politik & corpusSigle=BRZ10").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertNotNull(node);
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
-        assertEquals("availability(FREE)",
-                node.at("/collection/rewrites/0/scope").asText());
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(FREE)");
         // EM: double AND operations
-        assertEquals("availability",
-                node.at("/collection/operands/0/key").asText());
-        assertEquals("CC-BY.*",
-                node.at("/collection/operands/0/value").asText());
-        assertEquals("textClass",
-                node.at("/collection/operands/1/operands/0/key").asText());
-        assertEquals("corpusSigle",
-                node.at("/collection/operands/1/operands/1/key").asText());
+        assertEquals(node.at("/collection/operands/0/key").asText(), "availability");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/operands/1/operands/0/key").asText(), "textClass");
+        assertEquals(node.at("/collection/operands/1/operands/1/key").asText(), "corpusSigle");
     }
 
     @Test
-    @Ignore
-    public void testSearchQueryAuthorizedWithoutIP () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    @Disabled
+    public void testSearchQueryAuthorizedWithoutIP() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertNotNull(node);
         assertNotEquals(0, node.path("matches").size());
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("CC-BY.*",
-                node.at("/collection/operands/0/value").asText());
-        assertEquals("ACA.*", node.at("/collection/operands/1/value").asText());
-        assertEquals("operation:or", node.at("/collection/operation").asText());
-        assertEquals("availability(PUB)",
-                node.at("/collection/rewrites/0/scope").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "ACA.*");
+        assertEquals(node.at("/collection/operation").asText(), "operation:or");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(PUB)");
     }
-    
+
     @Test
-    public void testSearchWithInvalidPage () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .queryParam("page", "0")
-                .request()
-                .get();
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+    public void testSearchWithInvalidPage() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").queryParam("page", "0").request().get();
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
-        assertEquals("page must start from 1",node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "page must start from 1");
     }
 
     @Test
-    public void testSearchSentenceMeta () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("context", "sentence")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchSentenceMeta() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("context", "sentence").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals("base/s:s", node.at("/meta/context").asText());
-        assertNotEquals("${project.version}", "/meta/version");
+        assertEquals(node.at("/meta/context").asText(), "base/s:s");
+        assertNotEquals("/meta/version", "${project.version}");
     }
 
-//  EM: The API is disabled
-    @Ignore
+    // EM: The API is disabled
+    @Disabled
     @Test
-    public void testSearchSimpleCQL () throws KustvaktException {
+    public void testSearchSimpleCQL() throws KustvaktException {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("(der) or (das)", "CQL");
-
-        Response response = target().path(API_VERSION).path("search")
-                .request()
-                .post(Entity.json(s.toJSON()));
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        Response response = target().path(API_VERSION).path("search").request().post(Entity.json(s.toJSON()));
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertNotEquals(0, node.path("matches").size());
         // assertEquals(17027, node.at("/meta/totalResults").asInt());
     }
 
-//  EM: The API is disabled
+    // EM: The API is disabled
     @Test
-    @Ignore
-    public void testSearchRawQuery () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .request()
-                .post(Entity.json(createJsonQuery()));
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    @Disabled
+    public void testSearchRawQuery() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").request().post(Entity.json(createJsonQuery()));
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertNotEquals(0, node.path("matches").size());
-        
-        assertEquals("availability(FREE)",
-                node.at("/collection/rewrites/0/scope").asText());
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(FREE)");
     }
-    
-//  EM: The API is disabled    
-    @Test
-    @Ignore
-    public void testSearchPostAll () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "10.27.0.32")
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .post(Entity.json(createJsonQuery()));
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-        String ent = response.readEntity(String.class);
 
+    // EM: The API is disabled
+    @Test
+    @Disabled
+    public void testSearchPostAll() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").request().header(HttpHeaders.X_FORWARDED_FOR, "10.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).post(Entity.json(createJsonQuery()));
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertNotEquals(0, node.path("matches").size());
-        
-        assertEquals("availability(ALL)",
-                node.at("/collection/rewrites/0/scope").asText());
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(ALL)");
     }
-    
-//  EM: The API is disabled
-    @Test
-    @Ignore
-    public void testSearchPostPublic () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue("kustvakt",
-                                        "kustvakt2015"))
-                .post(Entity.json(createJsonQuery()));
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-        String ent = response.readEntity(String.class);
 
+    // EM: The API is disabled
+    @Test
+    @Disabled
+    public void testSearchPostPublic() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("kustvakt", "kustvakt2015")).post(Entity.json(createJsonQuery()));
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
         assertNotEquals(0, node.path("matches").size());
-        
-        assertEquals("availability(PUB)",
-                node.at("/collection/rewrites/0/scope").asText());
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(PUB)");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchNetworkEndpointTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchNetworkEndpointTest.java
index d3af250..1938b51 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchNetworkEndpointTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchNetworkEndpointTest.java
@@ -1,6 +1,6 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockserver.integration.ClientAndServer.startClientAndServer;
 import static org.mockserver.model.HttpRequest.request;
 import static org.mockserver.model.HttpResponse.response;
@@ -12,14 +12,13 @@
 import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.commons.io.IOUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockserver.client.MockServerClient;
 import org.mockserver.integration.ClientAndServer;
 import org.mockserver.model.Header;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.core.Response;
 
@@ -35,97 +34,58 @@
     private KustvaktConfiguration config;
 
     private ClientAndServer mockServer;
+
     private MockServerClient mockClient;
 
     private int port = 6081;
-    private String searchResult;
-    private String endpointURL = "http://localhost:"+port+"/searchEndpoint";
 
-    public SearchNetworkEndpointTest () throws IOException {
-        searchResult = IOUtils.toString(
-                ClassLoader.getSystemResourceAsStream(
-                        "network-output/search-result.jsonld"),
-                StandardCharsets.UTF_8);
+    private String searchResult;
+
+    private String endpointURL = "http://localhost:" + port + "/searchEndpoint";
+
+    public SearchNetworkEndpointTest() throws IOException {
+        searchResult = IOUtils.toString(ClassLoader.getSystemResourceAsStream("network-output/search-result.jsonld"), StandardCharsets.UTF_8);
     }
 
-
-    @Before
-    public void startMockServer () {
+    @BeforeEach
+    public void startMockServer() {
         mockServer = startClientAndServer(port);
         mockClient = new MockServerClient("localhost", mockServer.getPort());
     }
 
-
-    @After
-    public void stopMockServer () {
+    @AfterEach
+    public void stopMockServer() {
         mockServer.stop();
     }
 
-
     @Test
-    public void testSearchNetwork ()
-            throws IOException, KustvaktException, URISyntaxException {
+    public void testSearchNetwork() throws IOException, KustvaktException, URISyntaxException {
         config.setNetworkEndpointURL(endpointURL);
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/searchEndpoint")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(searchResult).withStatusCode(200));
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("engine", "network")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        mockClient.reset().when(request().withMethod("POST").withPath("/searchEndpoint").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(searchResult).withStatusCode(200));
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("engine", "network").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(2, node.at("/matches").size());
     }
 
-
     @Test
-    public void testSearchWithUnknownURL ()
-            throws IOException, KustvaktException {
+    public void testSearchWithUnknownURL() throws IOException, KustvaktException {
         config.setNetworkEndpointURL("http://localhost:1040/search");
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("engine", "network")
-                .request()
-                .get();
-        
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("engine", "network").request().get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
-    
-    @Test
-    public void testSearchWithUnknownHost () throws KustvaktException {
-        config.setNetworkEndpointURL("http://search.com");
-        
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("engine", "network")
-                .request()
-                .get();
 
+    @Test
+    public void testSearchWithUnknownHost() throws KustvaktException {
+        config.setNetworkEndpointURL("http://search.com");
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("engine", "network").request().get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPipeTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPipeTest.java
index 3662707..9591933 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPipeTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPipeTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockserver.integration.ClientAndServer.startClientAndServer;
 import static org.mockserver.model.HttpRequest.request;
 import static org.mockserver.model.HttpResponse.response;
@@ -19,13 +19,12 @@
 import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.commons.io.IOUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockserver.client.MockServerClient;
 import org.mockserver.integration.ClientAndServer;
 import org.mockserver.model.Header;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.core.Response;
 
@@ -37,351 +36,174 @@
 public class SearchPipeTest extends SpringJerseyTest {
 
     private ClientAndServer mockServer;
+
     private MockServerClient mockClient;
 
     private int port = 6071;
+
     private String pipeJson, pipeWithParamJson;
-    private String glemmUri = "http://localhost:"+port+"/glemm";
 
-    public SearchPipeTest () throws URISyntaxException, IOException {
-        pipeJson = IOUtils.toString(
-                ClassLoader.getSystemResourceAsStream(
-                        "pipe-output/test-pipes.jsonld"),
-                StandardCharsets.UTF_8);
+    private String glemmUri = "http://localhost:" + port + "/glemm";
 
-        pipeWithParamJson = IOUtils.toString(
-                ClassLoader.getSystemResourceAsStream(
-                        "pipe-output/with-param.jsonld"),
-                StandardCharsets.UTF_8);
+    public SearchPipeTest() throws URISyntaxException, IOException {
+        pipeJson = IOUtils.toString(ClassLoader.getSystemResourceAsStream("pipe-output/test-pipes.jsonld"), StandardCharsets.UTF_8);
+        pipeWithParamJson = IOUtils.toString(ClassLoader.getSystemResourceAsStream("pipe-output/with-param.jsonld"), StandardCharsets.UTF_8);
     }
 
-    @Before
-    public void startMockServer () {
+    @BeforeEach
+    public void startMockServer() {
         mockServer = startClientAndServer(port);
         mockClient = new MockServerClient("localhost", mockServer.getPort());
     }
 
-    @After
-    public void stopMockServer () {
+    @AfterEach
+    public void stopMockServer() {
         mockServer.stop();
     }
 
     @Test
-    public void testMockServer () throws IOException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/test")
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody("{test}").withStatusCode(200));
-
-        URL url = new URL("http://localhost:"+port+"/test");
+    public void testMockServer() throws IOException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/test").withHeader(new Header("Content-Type", "application/json; charset=utf-8"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody("{test}").withStatusCode(200));
+        URL url = new URL("http://localhost:" + port + "/test");
         HttpURLConnection connection = (HttpURLConnection) url.openConnection();
         connection.setRequestMethod("POST");
-        connection.setRequestProperty("Content-Type",
-                "application/json; charset=UTF-8");
+        connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
         connection.setRequestProperty("Accept", "application/json");
         connection.setDoOutput(true);
-
         String json = "{\"name\" : \"dory\"}";
         try (OutputStream os = connection.getOutputStream()) {
             byte[] input = json.getBytes("utf-8");
             os.write(input, 0, input.length);
         }
-
         assertEquals(200, connection.getResponseCode());
-
-        BufferedReader br = new BufferedReader(
-                new InputStreamReader(connection.getInputStream(), "utf-8"));
-        assertEquals("{test}", br.readLine());
-
+        BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
+        assertEquals(br.readLine(), "{test}");
     }
 
     @Test
-    public void testSearchWithPipes ()
-            throws IOException, KustvaktException, URISyntaxException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/glemm")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(pipeJson).withStatusCode(200));
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", glemmUri)
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchWithPipes() throws IOException, KustvaktException, URISyntaxException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/glemm").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(pipeJson).withStatusCode(200));
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", glemmUri).request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.at("/query/wrap/key").size());
-
         assertEquals(1, node.at("/collection/rewrites").size());
-        assertEquals("operation:insertion",
-                node.at("/collection/rewrites/0/operation").asText());
-        assertEquals("availability(FREE)",
-                node.at("/collection/rewrites/0/scope").asText());
-
+        assertEquals(node.at("/collection/rewrites/0/operation").asText(), "operation:insertion");
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(FREE)");
         node = node.at("/query/wrap/rewrites");
         assertEquals(2, node.size());
-        assertEquals("Glemm", node.at("/0/src").asText());
-        assertEquals("operation:override", node.at("/0/operation").asText());
-        assertEquals("key", node.at("/0/scope").asText());
-
-        assertEquals("Kustvakt", node.at("/1/src").asText());
-        assertEquals("operation:injection", node.at("/1/operation").asText());
-        assertEquals("foundry", node.at("/1/scope").asText());
+        assertEquals(node.at("/0/src").asText(), "Glemm");
+        assertEquals(node.at("/0/operation").asText(), "operation:override");
+        assertEquals(node.at("/0/scope").asText(), "key");
+        assertEquals(node.at("/1/src").asText(), "Kustvakt");
+        assertEquals(node.at("/1/operation").asText(), "operation:injection");
+        assertEquals(node.at("/1/scope").asText(), "foundry");
     }
 
     @Test
-    public void testSearchWithUrlEncodedPipes ()
-            throws IOException, KustvaktException {
-
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/glemm")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(pipeJson).withStatusCode(200));
-
+    public void testSearchWithUrlEncodedPipes() throws IOException, KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/glemm").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(pipeJson).withStatusCode(200));
         glemmUri = URLEncoder.encode(glemmUri, "utf-8");
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", glemmUri)
-                .request()
-                .get();
-
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", glemmUri).request().get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.at("/query/wrap/key").size());
     }
 
     @Test
-    public void testSearchWithMultiplePipes () throws KustvaktException {
-
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/glemm")
-                        .withQueryStringParameter("param").withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(pipeWithParamJson).withStatusCode(200));
-
+    public void testSearchWithMultiplePipes() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/glemm").withQueryStringParameter("param").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(pipeWithParamJson).withStatusCode(200));
         String glemmUri2 = glemmUri + "?param=blah";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", glemmUri + "," + glemmUri2)
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", glemmUri + "," + glemmUri2).request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(3, node.at("/query/wrap/key").size());
     }
 
     @Test
-    public void testSearchWithUnknownURL ()
-            throws IOException, KustvaktException {
-        String url =
-                target().getUri().toString() + API_VERSION + "/test/tralala";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", url)
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchWithUnknownURL() throws IOException, KustvaktException {
+        String url = target().getUri().toString() + API_VERSION + "/test/tralala";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", url).request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
-        assertEquals("404 Not Found", node.at("/warnings/0/3").asText());
+        assertEquals(node.at("/warnings/0/3").asText(), "404 Not Found");
     }
 
     @Test
-    public void testSearchWithUnknownHost () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", "http://glemm")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchWithUnknownHost() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", "http://glemm").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
-        assertEquals("glemm", node.at("/warnings/0/3").asText());
+        assertEquals(node.at("/warnings/0/3").asText(), "glemm");
     }
 
     @Test
-    public void testSearchUnsupportedMediaType () throws KustvaktException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/non-json-pipe"))
-                .respond(response().withStatusCode(415));
-
-        String pipeUri = "http://localhost:"+port+"/non-json-pipe";
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", pipeUri)
-                .request()
-                .get();
-
+    public void testSearchUnsupportedMediaType() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/non-json-pipe")).respond(response().withStatusCode(415));
+        String pipeUri = "http://localhost:" + port + "/non-json-pipe";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", pipeUri).request().get();
         String entity = response.readEntity(String.class);
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
-        assertEquals("415 Unsupported Media Type",
-                node.at("/warnings/0/3").asText());
+        assertEquals(node.at("/warnings/0/3").asText(), "415 Unsupported Media Type");
     }
 
     @Test
-    public void testSearchWithMultiplePipeWarnings () throws KustvaktException {
-        String url =
-                target().getUri().toString() + API_VERSION + "/test/tralala";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", url + "," + "http://glemm")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchWithMultiplePipeWarnings() throws KustvaktException {
+        String url = target().getUri().toString() + API_VERSION + "/test/tralala";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", url + "," + "http://glemm").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(2, node.at("/warnings").size());
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
         assertEquals(url, node.at("/warnings/0/2").asText());
-        assertEquals("404 Not Found", node.at("/warnings/0/3").asText());
-
+        assertEquals(node.at("/warnings/0/3").asText(), "404 Not Found");
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/1/0").asInt());
-        assertEquals("http://glemm", node.at("/warnings/1/2").asText());
-        assertEquals("glemm", node.at("/warnings/1/3").asText());
-
+        assertEquals(node.at("/warnings/1/2").asText(), "http://glemm");
+        assertEquals(node.at("/warnings/1/3").asText(), "glemm");
     }
 
     @Test
-    public void testSearchWithInvalidJsonResponse () throws KustvaktException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/invalid-response")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response().withBody("{blah:}").withStatusCode(200)
-                        .withHeaders(new Header("Content-Type",
-                                "application/json; charset=utf-8")));
-
-        String pipeUri = "http://localhost:"+port+"/invalid-response";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", pipeUri)
-                .request()
-                .get();
-
+    public void testSearchWithInvalidJsonResponse() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/invalid-response").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withBody("{blah:}").withStatusCode(200).withHeaders(new Header("Content-Type", "application/json; charset=utf-8")));
+        String pipeUri = "http://localhost:" + port + "/invalid-response";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", pipeUri).request().get();
         String entity = response.readEntity(String.class);
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testSearchWithPlainTextResponse () throws KustvaktException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/plain-text")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response().withBody("blah").withStatusCode(200));
-
-        String pipeUri = "http://localhost:"+port+"/plain-text";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", pipeUri)
-                .request()
-                .get();
-
+    public void testSearchWithPlainTextResponse() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/plain-text").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withBody("blah").withStatusCode(200));
+        String pipeUri = "http://localhost:" + port + "/plain-text";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", pipeUri).request().get();
         String entity = response.readEntity(String.class);
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testSearchWithMultipleAndUnknownPipes ()
-            throws KustvaktException {
-
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/glemm")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(pipeJson).withStatusCode(200));
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", "http://unknown" + "," + glemmUri)
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchWithMultipleAndUnknownPipes() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/glemm").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(pipeJson).withStatusCode(200));
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", "http://unknown" + "," + glemmUri).request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.at("/query/wrap/key").size());
         assertTrue(node.at("/warnings").isMissingNode());
-
-        response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", glemmUri + ",http://unknown")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", glemmUri + ",http://unknown").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java
index 1ccced8..1d1db61 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java
@@ -1,14 +1,13 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import jakarta.ws.rs.client.Entity;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Ignore;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.core.Response;
@@ -23,164 +22,93 @@
 public class SearchPublicMetadataTest extends SpringJerseyTest {
 
     @Test
-    public void testSearchPublicMetadata () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
-                .queryParam("access-rewrite-disabled", "true")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchPublicMetadata() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Sonne").queryParam("ql", "poliqarp").queryParam("access-rewrite-disabled", "true").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        
-        assertEquals("availability(ALL)",
-                node.at("/collection/rewrites/0/scope").asText());
-
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(ALL)");
         assertTrue(node.at("/matches/0/snippet").isMissingNode());
     }
 
     @Test
-    public void testSearchPublicMetadataExtern () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
-                .queryParam("access-rewrite-disabled", "true")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchPublicMetadataExtern() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Sonne").queryParam("ql", "poliqarp").queryParam("access-rewrite-disabled", "true").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        
-        assertEquals("availability(ALL)",
-                node.at("/collection/rewrites/0/scope").asText());
-
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(ALL)");
         assertTrue(node.at("/matches/0/snippet").isMissingNode());
     }
-    
+
     @Test
-    public void testSearchPublicMetadataWithCustomFields () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
-                .queryParam("fields", "author,title")
-                .queryParam("access-rewrite-disabled", "true")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchPublicMetadataWithCustomFields() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Sonne").queryParam("ql", "poliqarp").queryParam("fields", "author,title").queryParam("access-rewrite-disabled", "true").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals("availability(ALL)",
-                node.at("/collection/rewrites/0/scope").asText());
-
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(ALL)");
         assertTrue(node.at("/matches/0/snippet").isMissingNode());
-        assertEquals("Goethe, Johann Wolfgang von",
-                node.at("/matches/0/author").asText());
-        assertEquals("Italienische Reise",
-                node.at("/matches/0/title").asText());
-//        assertEquals(3, node.at("/matches/0").size());
+        assertEquals(node.at("/matches/0/author").asText(), "Goethe, Johann Wolfgang von");
+        assertEquals(node.at("/matches/0/title").asText(), "Italienische Reise");
+        // assertEquals(3, node.at("/matches/0").size());
     }
-    
+
     @Test
-    public void testSearchPublicMetadataWithNonPublicField () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
-                .queryParam("fields", "author,title,snippet")
-                .queryParam("access-rewrite-disabled", "true")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchPublicMetadataWithNonPublicField() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Sonne").queryParam("ql", "poliqarp").queryParam("fields", "author,title,snippet").queryParam("access-rewrite-disabled", "true").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals(StatusCodes.NON_PUBLIC_FIELD_IGNORED,
-                node.at("/warnings/0/0").asInt());
-        assertEquals("The requested non public fields are ignored",
-                node.at("/warnings/0/1").asText());
-        assertEquals("snippet",
-                node.at("/warnings/0/2").asText());
+        assertEquals(StatusCodes.NON_PUBLIC_FIELD_IGNORED, node.at("/warnings/0/0").asInt());
+        assertEquals(node.at("/warnings/0/1").asText(), "The requested non public fields are ignored");
+        assertEquals(node.at("/warnings/0/2").asText(), "snippet");
     }
 
-//  EM: The API is disabled
-    @Ignore
+    // EM: The API is disabled
+    @Disabled
     @Test
-    public void testSearchPostPublicMetadata () throws KustvaktException {
+    public void testSearchPostPublicMetadata() throws KustvaktException {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[orth=der]", "poliqarp");
         s.setCollection("corpusSigle=GOE");
         s.setQuery("Wasser", "poliqarp");
-        
         MetaQueryBuilder meta = new MetaQueryBuilder();
         meta.addEntry("snippets", "true");
         s.setMeta(meta);
-        
-        Response response = target().path(API_VERSION).path("search")
-                .request()
-                .post(Entity.json(s.toJSON()));
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        Response response = target().path(API_VERSION).path("search").request().post(Entity.json(s.toJSON()));
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals("availability(ALL)",
-                node.at("/collection/rewrites/0/scope").asText());
+        assertEquals(node.at("/collection/rewrites/0/scope").asText(), "availability(ALL)");
         assertTrue(node.at("/matches/0/snippet").isMissingNode());
     }
-    
-    @Test
-    public void testSearchPublicMetadataWithSystemVC ()
-            throws KustvaktException {
 
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo system-vc")
-                .queryParam("access-rewrite-disabled", "true")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    @Test
+    public void testSearchPublicMetadataWithSystemVC() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Sonne").queryParam("ql", "poliqarp").queryParam("cq", "referTo system-vc").queryParam("access-rewrite-disabled", "true").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals("operation:and",
-                node.at("/collection/operation").asText());
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
         node = node.at("/collection/operands/1");
-        assertEquals("koral:doc", node.at("/@type").asText());
-        assertEquals("GOE", node.at("/value").asText());
-        assertEquals("match:eq", node.at("/match").asText());
-        assertEquals("corpusSigle", node.at("/key").asText());
-
-        assertEquals("operation:deletion",
-                node.at("/rewrites/0/operation").asText());
-        assertEquals("@type(koral:docGroupRef)",
-                node.at("/rewrites/0/scope").asText());
-
-        assertEquals("operation:deletion",
-                node.at("/rewrites/1/operation").asText());
-        assertEquals("ref(system-vc)", node.at("/rewrites/1/scope").asText());
-
-        assertEquals("operation:insertion",
-                node.at("/rewrites/2/operation").asText());
+        assertEquals(node.at("/@type").asText(), "koral:doc");
+        assertEquals(node.at("/value").asText(), "GOE");
+        assertEquals(node.at("/match").asText(), "match:eq");
+        assertEquals(node.at("/key").asText(), "corpusSigle");
+        assertEquals(node.at("/rewrites/0/operation").asText(), "operation:deletion");
+        assertEquals(node.at("/rewrites/0/scope").asText(), "@type(koral:docGroupRef)");
+        assertEquals(node.at("/rewrites/1/operation").asText(), "operation:deletion");
+        assertEquals(node.at("/rewrites/1/scope").asText(), "ref(system-vc)");
+        assertEquals(node.at("/rewrites/2/operation").asText(), "operation:insertion");
     }
 
     @Test
-    public void testSearchPublicMetadataWithPrivateVC ()
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"dory/dory-vc\"")
-                .queryParam("access-rewrite-disabled", "true")
-                .request()
-                .get();
-
+    public void testSearchPublicMetadataWithPrivateVC() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Sonne").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"dory/dory-vc\"").queryParam("access-rewrite-disabled", "true").request().get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("guest", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/2").asText(), "guest");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchTokenSnippetTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchTokenSnippetTest.java
index 38e2ec5..c0e9fa7 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchTokenSnippetTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/SearchTokenSnippetTest.java
@@ -1,13 +1,12 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.core.Response;
 
@@ -19,65 +18,39 @@
 public class SearchTokenSnippetTest extends SpringJerseyTest {
 
     @Test
-    public void testSearchWithTokens () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("show-tokens", "true")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchWithTokens() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("show-tokens", "true").queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-
         assertTrue(node.at("/matches/0/hasSnippet").asBoolean());
         assertTrue(node.at("/matches/0/hasTokens").asBoolean());
-        assertTrue(node.at("/matches/0/tokens/left").size()>0);
-        assertTrue(node.at("/matches/0/tokens/right").size()>0);
+        assertTrue(node.at("/matches/0/tokens/left").size() > 0);
+        assertTrue(node.at("/matches/0/tokens/right").size() > 0);
         assertEquals(1, node.at("/matches/0/tokens/match").size());
     }
-    
-    @Test
-    public void testSearchWithoutTokens () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("show-tokens", "false")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
 
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    @Test
+    public void testSearchWithoutTokens() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("show-tokens", "false").queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-
         assertTrue(node.at("/matches/0/hasSnippet").asBoolean());
         assertFalse(node.at("/matches/0/hasTokens").asBoolean());
         assertTrue(node.at("/matches/0/tokens").isMissingNode());
     }
-    
-    @Test
-    public void testSearchPublicMetadataWithTokens () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("access-rewrite-disabled", "true")
-                .queryParam("show-tokens", "true")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
 
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    @Test
+    public void testSearchPublicMetadataWithTokens() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("access-rewrite-disabled", "true").queryParam("show-tokens", "true").queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-
         assertFalse(node.at("/matches/0/hasSnippet").asBoolean());
         assertFalse(node.at("/matches/0/hasTokens").asBoolean());
         assertTrue(node.at("/matches/0/snippet").isMissingNode());
         assertTrue(node.at("/matches/0/tokens").isMissingNode());
-        
         assertEquals(StatusCodes.NOT_ALLOWED, node.at("/warnings/0/0").asInt());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/StatisticsControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/StatisticsControllerTest.java
index a5d8f39..8bcb604 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/StatisticsControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/StatisticsControllerTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 
@@ -10,8 +10,7 @@
 import jakarta.ws.rs.core.MediaType;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.core.Response;
 
@@ -20,260 +19,150 @@
 import de.ids_mannheim.korap.exceptions.StatusCodes;
 import de.ids_mannheim.korap.utils.JsonUtils;
 
-/** 
+/**
  * @author margaretha, diewald
- *
  */
 public class StatisticsControllerTest extends SpringJerseyTest {
 
     @Test
-    public void testGetStatisticsNoResource ()
-            throws IOException, KustvaktException {
+    public void testGetStatisticsNoResource() throws IOException, KustvaktException {
         String corpusQuery = "corpusSigle=WPD15";
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("corpusQuery", corpusQuery)
-                .request()
-                .get();
-
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", corpusQuery).request().get();
         assert Status.OK.getStatusCode() == response.getStatus();
-
-        assertEquals(
-            "Wes8Bd4h1OypPqbWF5njeQ==",
-            response.getHeaders().getFirst("X-Index-Revision")
-            );
-
+        assertEquals(response.getHeaders().getFirst("X-Index-Revision"), "Wes8Bd4h1OypPqbWF5njeQ==");
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(node.get("documents").asInt(),0);
-        assertEquals(node.get("tokens").asInt(),0);
+        assertEquals(node.get("documents").asInt(), 0);
+        assertEquals(node.get("tokens").asInt(), 0);
     }
 
     @Test
-    public void testStatisticsWithCq () throws KustvaktException{
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("cq", "textType=Abhandlung & corpusSigle=GOE")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testStatisticsWithCq() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("cq", "textType=Abhandlung & corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertEquals(2, node.at("/documents").asInt());
         assertEquals(138180, node.at("/tokens").asInt());
         assertEquals(5687, node.at("/sentences").asInt());
         assertEquals(258, node.at("/paragraphs").asInt());
-        
         assertTrue(node.at("/warnings").isMissingNode());
     }
-    
+
     @Test
-    public void testStatisticsWithCqAndCorpusQuery () throws KustvaktException{
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("cq", "textType=Abhandlung & corpusSigle=GOE")
-                .queryParam("corpusQuery", "textType=Autobiographie & corpusSigle=GOE")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testStatisticsWithCqAndCorpusQuery() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("cq", "textType=Abhandlung & corpusSigle=GOE").queryParam("corpusQuery", "textType=Autobiographie & corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertEquals(2, node.at("/documents").asInt());
         assertEquals(138180, node.at("/tokens").asInt());
         assertEquals(5687, node.at("/sentences").asInt());
         assertEquals(258, node.at("/paragraphs").asInt());
-        
         assertTrue(node.at("/warnings").isMissingNode());
     }
 
     @Test
-    public void testGetStatisticsWithcorpusQuery1 ()
-            throws IOException, KustvaktException {
+    public void testGetStatisticsWithcorpusQuery1() throws IOException, KustvaktException {
         String corpusQuery = "corpusSigle=GOE";
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("corpusQuery", corpusQuery)
-                .request()
-                .get();
-
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", corpusQuery).request().get();
         assert Status.OK.getStatusCode() == response.getStatus();
-
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(node.get("documents").asInt(),11);
-        assertEquals(node.get("tokens").asInt(),665842);
-        
-        assertEquals(StatusCodes.DEPRECATED,
-                node.at("/warnings/0/0").asInt());
-        assertEquals("Parameter corpusQuery is deprecated in favor of cq.",
-                node.at("/warnings/0/1").asText());
+        assertEquals(node.get("documents").asInt(), 11);
+        assertEquals(node.get("tokens").asInt(), 665842);
+        assertEquals(StatusCodes.DEPRECATED, node.at("/warnings/0/0").asInt());
+        assertEquals(node.at("/warnings/0/1").asText(), "Parameter corpusQuery is deprecated in favor of cq.");
     }
 
-
     @Test
-    public void testGetStatisticsWithcorpusQuery2 ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("corpusQuery", "creationDate since 1810")
-                .request()
-                .get();
+    public void testGetStatisticsWithcorpusQuery2() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", "creationDate since 1810").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assert Status.OK.getStatusCode() == response.getStatus();
-        assertEquals(node.get("documents").asInt(),7);
-        assertEquals(node.get("tokens").asInt(),279402);
+        assertEquals(node.get("documents").asInt(), 7);
+        assertEquals(node.get("tokens").asInt(), 279402);
         assertEquals(node.get("sentences").asInt(), 11047);
         assertEquals(node.get("paragraphs").asInt(), 489);
     }
 
-
     @Test
-    public void testGetStatisticsWithWrongcorpusQuery ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("corpusQuery", "creationDate geq 1810")
-                .request()
-                .get();
-
-        assert Status.BAD_REQUEST.getStatusCode() == response
-                .getStatus();
+    public void testGetStatisticsWithWrongcorpusQuery() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", "creationDate geq 1810").request().get();
+        assert Status.BAD_REQUEST.getStatusCode() == response.getStatus();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertEquals(node.at("/errors/0/0").asInt(), 302);
-        assertEquals(node.at("/errors/0/1").asText(),
-                "Could not parse query >>> (creationDate geq 1810) <<<.");
-        assertEquals(node.at("/errors/0/2").asText(),
-                "(creationDate geq 1810)");
+        assertEquals(node.at("/errors/0/1").asText(), "Could not parse query >>> (creationDate geq 1810) <<<.");
+        assertEquals(node.at("/errors/0/2").asText(), "(creationDate geq 1810)");
     }
 
-
     @Test
-    public void testGetStatisticsWithWrongcorpusQuery2 ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("corpusQuery", "creationDate >= 1810")
-                .request()
-                .get();
-
+    public void testGetStatisticsWithWrongcorpusQuery2() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", "creationDate >= 1810").request().get();
         String ent = response.readEntity(String.class);
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
-        
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(ent);
         assertEquals(node.at("/errors/0/0").asInt(), 305);
-        assertEquals(node.at("/errors/0/1").asText(),
-                "Operator >= is not acceptable.");
+        assertEquals(node.at("/errors/0/1").asText(), "Operator >= is not acceptable.");
         assertEquals(node.at("/errors/0/2").asText(), ">=");
     }
 
-    
     @Test
-    public void testGetStatisticsWithoutcorpusQuery ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-					 response.getStatus());
+    public void testGetStatisticsWithoutcorpusQuery() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
-
-		JsonNode node = JsonUtils.readTree(ent);
-		assertEquals(11, node.at("/documents").asInt());
-        assertEquals(665842, node.at("/tokens").asInt());
-        assertEquals(25074, node.at("/sentences").asInt());
-        assertEquals(772, node.at("/paragraphs").asInt());
-    }
-   
-    @Test
-    public void testGetStatisticsWithKoralQuery ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
-                .post(Entity.json("{ \"collection\" : {\"@type\": "
-                        + "\"koral:doc\", \"key\": \"availability\", \"match\": "
-                        + "\"match:eq\", \"type\": \"type:regex\", \"value\": "
-                        + "\"CC-BY.*\"} }"));
-
-        assertEquals(
-            "Wes8Bd4h1OypPqbWF5njeQ==",
-            response.getHeaders().getFirst("X-Index-Revision")
-            );
-        
-        assertEquals(Status.OK.getStatusCode(),
-                     response.getStatus());
-        String ent = response.readEntity(String.class);
-        
-        JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(2, node.at("/documents").asInt());
-        assertEquals(72770, node.at("/tokens").asInt());
-        assertEquals(2985, node.at("/sentences").asInt());
-        assertEquals(128, node.at("/paragraphs").asInt());
-    }
-    
-    @Test
-    public void testGetStatisticsWithEmptyCollection ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
-                .post(Entity.json("{}"));
-
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                     response.getStatus());
-        String ent = response.readEntity(String.class);
-        JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(node.at("/errors/0/0").asInt(),
-                de.ids_mannheim.korap.util.StatusCodes.MISSING_COLLECTION);
-        assertEquals(node.at("/errors/0/1").asText(),
-                "Collection is not found");
-    }
-    
-    @Test
-    public void testGetStatisticsWithIncorrectJson ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
-                .post(Entity.json("{ \"collection\" : }"));
-
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                     response.getStatus());
-        String ent = response.readEntity(String.class);
-        JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Failed deserializing json object: { \"collection\" : }",
-                node.at("/errors/0/1").asText());
-    }
-    
-    @Test
-    public void testGetStatisticsWithoutKoralQuery ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .post(Entity.json(""));
-        
-        String ent = response.readEntity(String.class);
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-        
         JsonNode node = JsonUtils.readTree(ent);
         assertEquals(11, node.at("/documents").asInt());
         assertEquals(665842, node.at("/tokens").asInt());
         assertEquals(25074, node.at("/sentences").asInt());
         assertEquals(772, node.at("/paragraphs").asInt());
     }
-    
+
+    @Test
+    public void testGetStatisticsWithKoralQuery() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").request().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).post(Entity.json("{ \"collection\" : {\"@type\": " + "\"koral:doc\", \"key\": \"availability\", \"match\": " + "\"match:eq\", \"type\": \"type:regex\", \"value\": " + "\"CC-BY.*\"} }"));
+        assertEquals(response.getHeaders().getFirst("X-Index-Revision"), "Wes8Bd4h1OypPqbWF5njeQ==");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertEquals(2, node.at("/documents").asInt());
+        assertEquals(72770, node.at("/tokens").asInt());
+        assertEquals(2985, node.at("/sentences").asInt());
+        assertEquals(128, node.at("/paragraphs").asInt());
+    }
+
+    @Test
+    public void testGetStatisticsWithEmptyCollection() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").request().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).post(Entity.json("{}"));
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertEquals(node.at("/errors/0/0").asInt(), de.ids_mannheim.korap.util.StatusCodes.MISSING_COLLECTION);
+        assertEquals(node.at("/errors/0/1").asText(), "Collection is not found");
+    }
+
+    @Test
+    public void testGetStatisticsWithIncorrectJson() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").request().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).post(Entity.json("{ \"collection\" : }"));
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Failed deserializing json object: { \"collection\" : }");
+    }
+
+    @Test
+    public void testGetStatisticsWithoutKoralQuery() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").request().post(Entity.json(""));
+        String ent = response.readEntity(String.class);
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        JsonNode node = JsonUtils.readTree(ent);
+        assertEquals(11, node.at("/documents").asInt());
+        assertEquals(665842, node.at("/tokens").asInt());
+        assertEquals(25074, node.at("/sentences").asInt());
+        assertEquals(772, node.at("/paragraphs").asInt());
+    }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/TokenExpiryTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/TokenExpiryTest.java
index 0ebd7fb..7cc5e6f 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/TokenExpiryTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/TokenExpiryTest.java
@@ -1,6 +1,6 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.IOException;
 
@@ -11,12 +11,10 @@
 
 import org.apache.http.HttpStatus;
 import org.apache.http.entity.ContentType;
-import org.junit.Ignore;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -27,37 +25,26 @@
  * Before running this test:
  * set oauth2.access.token.expiry = 2S
  * oauth2.authorization.code.expiry = 1S
- * 
- * @author margaretha
  *
+ * @author margaretha
  */
 public class TokenExpiryTest extends SpringJerseyTest {
-    
-    @Ignore
+
+    @Disabled
     @Test
-    public void requestToken ()
-            throws KustvaktException, InterruptedException, IOException {
+    public void requestToken() throws KustvaktException, InterruptedException, IOException {
         Form form = new Form();
         form.param("grant_type", "password");
         form.param("client_id", "fCBbQkAyYzI4NzUxMg");
         form.param("client_secret", "secret");
         form.param("username", "dory");
         form.param("password", "password");
-
-        Response response = target().path(API_VERSION).path("oauth2").path("token")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE,
-                        ContentType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("oauth2").path("token").request().header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         String token = node.at("/access_token").asText();
-
         Thread.sleep(1000);
-
         testRequestAuthorizationCodeAuthenticationTooOld(token);
-
         Thread.sleep(1500);
         testSearchWithExpiredToken(token);
     }
@@ -66,28 +53,17 @@
     // because sqlite needs a trigger after INSERT to
     // oauth_access_token to store created_date. Before INSERT trigger
     // does not work.
-    private void testSearchWithExpiredToken (String token)
-            throws KustvaktException, IOException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Wasser").queryParam("ql", "poliqarp")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer " + token)
-                .get();
-
+    private void testSearchWithExpiredToken(String token) throws KustvaktException, IOException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Wasser").queryParam("ql", "poliqarp").request().header(Attributes.AUTHORIZATION, "Bearer " + token).get();
         String ent = response.readEntity(String.class);
-
-        assertEquals(Status.UNAUTHORIZED.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(ent);
         assertEquals(StatusCodes.EXPIRED, node.at("/errors/0/0").asInt());
-        assertEquals("Access token is expired",
-                node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "Access token is expired");
     }
 
     // cannot be tested dynamically
-    private void testRequestAuthorizationCodeAuthenticationTooOld (String token)
-            throws KustvaktException {
+    private void testRequestAuthorizationCodeAuthenticationTooOld(String token) throws KustvaktException {
         Form form = new Form();
         form.param("response_type", "code");
         form.param("client_id", "fCBbQkAyYzI4NzUxMg");
@@ -108,11 +84,7 @@
         assertEquals(HttpStatus.SC_UNAUTHORIZED, response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.USER_REAUTHENTICATION_REQUIRED,
-                node.at("/errors/0/0").asInt());
-        assertEquals(
-                "User reauthentication is required because the authentication "
-                        + "time is too old according to max_age",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.USER_REAUTHENTICATION_REQUIRED, node.at("/errors/0/0").asInt());
+        assertEquals("User reauthentication is required because the authentication " + "time is too old according to max_age", node.at("/errors/0/1").asText());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserControllerTest.java
index b2ae8ca..4ecbe46 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserControllerTest.java
@@ -1,6 +1,6 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.net.URI;
 
@@ -8,12 +8,10 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.util.UriComponentsBuilder;
-
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -24,14 +22,14 @@
 public class UserControllerTest extends OAuth2TestBase {
 
     private String username = "User\"ControllerTest";
+
     private String userAuthHeader;
 
-    public UserControllerTest () throws KustvaktException {
-        userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(username, "password");
+    public UserControllerTest() throws KustvaktException {
+        userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "password");
     }
 
-    private OAuth2ClientJson createOAuth2Client () {
+    private OAuth2ClientJson createOAuth2Client() {
         OAuth2ClientJson client = new OAuth2ClientJson();
         client.setName("OWID client");
         client.setType(OAuth2ClientType.PUBLIC);
@@ -40,8 +38,7 @@
         return client;
     }
 
-    private String registerClient ()
-            throws ProcessingException, KustvaktException {
+    private String registerClient() throws ProcessingException, KustvaktException {
         OAuth2ClientJson clientJson = createOAuth2Client();
         Response response = registerClient(username, clientJson);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
@@ -49,44 +46,26 @@
         return clientId;
     }
 
-    private String requestOAuth2AccessToken (String clientId)
-            throws KustvaktException {
-        Response response = requestAuthorizationCode("code", clientId, "",
-                "user_info", "", userAuthHeader);
+    private String requestOAuth2AccessToken(String clientId) throws KustvaktException {
+        Response response = requestAuthorizationCode("code", clientId, "", "user_info", "", userAuthHeader);
         String code = parseAuthorizationCode(response);
-
-        response =
-                requestTokenWithAuthorizationCodeAndForm(clientId, null, code);
-
+        response = requestTokenWithAuthorizationCodeAndForm(clientId, null, code);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         String accessToken = node.at("/access_token").asText();
         return accessToken;
     }
 
     @Test
-    public void getUsername () throws ProcessingException, KustvaktException {
+    public void getUsername() throws ProcessingException, KustvaktException {
         String clientId = registerClient();
         String accessToken = requestOAuth2AccessToken(clientId);
-
-        Response response = target().path(API_VERSION).path("user").path("info")
-                .request()
-                .header(Attributes.AUTHORIZATION, "Bearer " + accessToken)
-                .get();
-        
+        Response response = target().path(API_VERSION).path("user").path("info").request().header(Attributes.AUTHORIZATION, "Bearer " + accessToken).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-        
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(username, node.at("/username").asText());
-
         deregisterClient(username, clientId);
     }
-    
-    
-    
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerAdminTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerAdminTest.java
index e8ac9f7..99cf31a 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerAdminTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerAdminTest.java
@@ -1,12 +1,11 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import jakarta.ws.rs.core.Form;
 import jakarta.ws.rs.core.MediaType;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.ProcessingException;
@@ -26,23 +25,15 @@
 
 /**
  * @author margaretha
- *
  */
 public class UserGroupControllerAdminTest extends SpringJerseyTest {
 
     private String sysAdminUser = "admin";
+
     private String testUser = "group-admin";
 
-    private JsonNode listGroup (String username)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-
+    private JsonNode listGroup(String username) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
@@ -50,61 +41,44 @@
     }
 
     @Test
-    public void testListUserGroupsUsingAdminToken () throws KustvaktException {
+    public void testListUserGroupsUsingAdminToken() throws KustvaktException {
         Form f = new Form();
         f.param("username", "dory");
         f.param("token", "secret");
-        
-        Response response = target().path(API_VERSION)
-                .path("admin").path("group").path("list")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-
+        Response response = target().path(API_VERSION).path("admin").path("group").path("list").request().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(3, node.size());
     }
-    
-    
+
     /**
      * Cannot use admin token
      * see
-     * {@link UserGroupService#retrieveUserGroupByStatus(String, 
+     * {@link UserGroupService#retrieveUserGroupByStatus(String,
      * String, de.ids_mannheim.korap.constant.UserGroupStatus)}
-     * 
+     *
      * @throws KustvaktException
      */
-//    @Test
-//    public void testListUserGroupsWithAdminToken () throws KustvaktException {
-//        Response response = target().path(API_VERSION).path("group")
-//                .path("list").path("system-admin")
-//                .queryParam("username", "dory")
-//                .queryParam("token", "secret")
-//                .request()
-//                .get();
-//
-//        assertEquals(Status.OK.getStatusCode(), response.getStatus());
-//        String entity = response.readEntity(String.class);
-//        JsonNode node = JsonUtils.readTree(entity);
-//        assertEquals(3, node.size());
-//    }
-    
-    
+    // @Test
+    // public void testListUserGroupsWithAdminToken () throws KustvaktException {
+    // Response response = target().path(API_VERSION).path("group")
+    // .path("list").path("system-admin")
+    // .queryParam("username", "dory")
+    // .queryParam("token", "secret")
+    // .request()
+    // .get();
+    // 
+    // assertEquals(Status.OK.getStatusCode(), response.getStatus());
+    // String entity = response.readEntity(String.class);
+    // JsonNode node = JsonUtils.readTree(entity);
+    // assertEquals(3, node.size());
+    // }
     @Test
-    public void testListUserGroupsUnauthorized () throws KustvaktException {
+    public void testListUserGroupsUnauthorized() throws KustvaktException {
         Form f = new Form();
         f.param("username", "dory");
-        
-        Response response = target().path(API_VERSION)
-                .path("admin").path("group").path("list")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-
+        Response response = target().path(API_VERSION).path("admin").path("group").path("list").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
@@ -112,20 +86,11 @@
     }
 
     @Test
-    public void testListUserGroupsWithStatus () throws KustvaktException {
+    public void testListUserGroupsWithStatus() throws KustvaktException {
         Form f = new Form();
         f.param("username", "dory");
         f.param("status", "ACTIVE");
-        
-        Response response = target().path(API_VERSION)
-                .path("admin").path("group").path("list")
-                .queryParam("username", "dory").queryParam("status", "ACTIVE")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(sysAdminUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-
+        Response response = target().path(API_VERSION).path("admin").path("group").path("list").queryParam("username", "dory").queryParam("status", "ACTIVE").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "pass")).header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
@@ -135,35 +100,19 @@
 
     // same as list user-groups of the admin
     @Test
-    public void testListWithoutUsername () throws
-            ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(sysAdminUser, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-
+    public void testListWithoutUsername() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
-        assertEquals("[]", entity);
+        assertEquals(entity, "[]");
     }
 
     @Test
-    public void testListByStatusAll () throws
-            ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("admin").path("group").path("list")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(sysAdminUser, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(null);
-
+    public void testListByStatusAll() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("admin").path("group").path("list").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "pass")).header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(null);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         boolean containsHiddenStatus = false;
         for (int i = 0; i < node.size(); i++) {
             if (node.get(i).at("/status").asText().equals("HIDDEN")) {
@@ -174,21 +123,10 @@
     }
 
     @Test
-    public void testListByStatusHidden () throws
-            ProcessingException, KustvaktException {
+    public void testListByStatusHidden() throws ProcessingException, KustvaktException {
         Form f = new Form();
         f.param("status", "HIDDEN");
-        
-        Response response = target().path(API_VERSION)
-                .path("admin").path("group").path("list")
-                .queryParam("status", "HIDDEN")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(sysAdminUser, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-
+        Response response = target().path(API_VERSION).path("admin").path("group").path("list").queryParam("status", "HIDDEN").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
@@ -197,108 +135,57 @@
     }
 
     @Test
-    public void testUserGroupAdmin () throws
-            ProcessingException, KustvaktException {
-
+    public void testUserGroupAdmin() throws ProcessingException, KustvaktException {
         String groupName = "admin-test-group";
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue(testUser,
-                                        "password"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .put(Entity.form(new Form()));
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "password")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").put(Entity.form(new Form()));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
         // list user group
         JsonNode node = listGroup(testUser);
         assertEquals(1, node.size());
         node = node.get(0);
         assertEquals(groupName, node.get("name").asText());
-
         testInviteMember(groupName);
         testMemberRole("marlin", groupName);
         testDeleteMember(groupName);
         testDeleteGroup(groupName);
     }
 
-    private void testMemberRole (String memberUsername, String groupName)
-            throws ProcessingException,
-            KustvaktException {
-
+    private void testMemberRole(String memberUsername, String groupName) throws ProcessingException, KustvaktException {
         // accept invitation
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName).path("subscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue(
-                                        memberUsername, "pass"))
-                .post(Entity.form(new Form()));
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("subscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(memberUsername, "pass")).post(Entity.form(new Form()));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         testAddMemberRoles(groupName, memberUsername);
         testDeleteMemberRoles(groupName, memberUsername);
     }
 
-    private void testAddMemberRoles (String groupName, String memberUsername)
-            throws ProcessingException,
-            KustvaktException {
+    private void testAddMemberRoles(String groupName, String memberUsername) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("memberUsername", memberUsername);
-        form.param("roleId", "1"); // USER_GROUP_ADMIN
-        form.param("roleId", "2"); // USER_GROUP_MEMBER
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName).path("role").path("add")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue(sysAdminUser,
-                                        "password"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .post(Entity.form(form));
-
+        // USER_GROUP_ADMIN
+        form.param("roleId", "1");
+        // USER_GROUP_MEMBER
+        form.param("roleId", "2");
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("role").path("add").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "password")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = retrieveGroup(groupName).at("/members");
         JsonNode member;
         for (int i = 0; i < node.size(); i++) {
             member = node.get(i);
             if (member.at("/userId").asText().equals(memberUsername)) {
                 assertEquals(3, member.at("/roles").size());
-                assertEquals(PredefinedRole.USER_GROUP_ADMIN.name(),
-                        member.at("/roles/0").asText());
+                assertEquals(PredefinedRole.USER_GROUP_ADMIN.name(), member.at("/roles/0").asText());
                 break;
             }
         }
     }
 
-    private void testDeleteMemberRoles (String groupName, String memberUsername)
-            throws ProcessingException,
-            KustvaktException {
+    private void testDeleteMemberRoles(String groupName, String memberUsername) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("memberUsername", memberUsername);
-        form.param("roleId", "1"); // USER_GROUP_ADMIN
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName).path("role").path("delete")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue(sysAdminUser,
-                                        "password"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .post(Entity.form(form));
-
+        // USER_GROUP_ADMIN
+        form.param("roleId", "1");
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("role").path("delete").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "password")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = retrieveGroup(groupName).at("/members");
         JsonNode member;
         for (int i = 0; i < node.size(); i++) {
@@ -310,92 +197,46 @@
         }
     }
 
-    private JsonNode retrieveGroup (String groupName)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("admin")
-                .path("group").path("@" + groupName).request()
-                .header(Attributes.AUTHORIZATION,
-                        HttpAuthorizationHandler
-                                .createBasicAuthorizationHeaderValue(
-                                        sysAdminUser, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .post(null);
-
+    private JsonNode retrieveGroup(String groupName) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("admin").path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").post(null);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         return node;
     }
 
-    private void testDeleteGroup (String groupName)
-            throws ProcessingException,
-            KustvaktException {
+    private void testDeleteGroup(String groupName) throws ProcessingException, KustvaktException {
         // delete group
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(sysAdminUser, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // check group
         JsonNode node = listGroup(testUser);
         assertEquals(0, node.size());
     }
 
-    private void testDeleteMember (String groupName)
-            throws ProcessingException,
-            KustvaktException {
+    private void testDeleteMember(String groupName) throws ProcessingException, KustvaktException {
         // delete marlin from group
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName).path("~marlin")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(sysAdminUser, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("~marlin").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // check group member
         JsonNode node = listGroup(testUser);
         node = node.get(0);
         assertEquals(3, node.get("members").size());
-        assertEquals("nemo", node.at("/members/1/userId").asText());
-        assertEquals(GroupMemberStatus.PENDING.name(),
-                node.at("/members/1/status").asText());
+        assertEquals(node.at("/members/1/userId").asText(), "nemo");
+        assertEquals(GroupMemberStatus.PENDING.name(), node.at("/members/1/status").asText());
     }
 
-    private void testInviteMember (String groupName)
-            throws ProcessingException,
-            KustvaktException {
+    private void testInviteMember(String groupName) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("members", "marlin,nemo,darla");
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName).path("invite")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(sysAdminUser, "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("invite").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(sysAdminUser, "pass")).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // list group
         JsonNode node = listGroup(testUser);
         node = node.get(0);
         assertEquals(4, node.get("members").size());
-
-        assertEquals("darla", node.at("/members/3/userId").asText());
-        assertEquals(GroupMemberStatus.PENDING.name(),
-                node.at("/members/1/status").asText());
+        assertEquals(node.at("/members/3/userId").asText(), "darla");
+        assertEquals(GroupMemberStatus.PENDING.name(), node.at("/members/1/status").asText());
         assertEquals(0, node.at("/members/1/roles").size());
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerTest.java
index e936ddd..52e3bb3 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerTest.java
@@ -1,15 +1,14 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.Set;
 
 import jakarta.ws.rs.core.Form;
 import jakarta.ws.rs.core.MediaType;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.ProcessingException;
@@ -31,7 +30,6 @@
 
 /**
  * @author margaretha
- *
  */
 public class UserGroupControllerTest extends SpringJerseyTest {
 
@@ -39,87 +37,55 @@
     private UserGroupMemberDao memberDao;
 
     private String username = "UserGroupControllerTest";
+
     private String admin = "admin";
 
-    private JsonNode retrieveUserGroups (String username)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
+    private JsonNode retrieveUserGroups(String username) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         String entity = response.readEntity(String.class);
-
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         return JsonUtils.readTree(entity);
     }
-    
-    private void deleteGroupByName (String groupName) throws KustvaktException{
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-        
+
+    private void deleteGroupByName(String groupName) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
 
     // dory is a group admin in dory-group
     @Test
-    public void testListDoryGroups () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
+    public void testListDoryGroups() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
         JsonNode group = node.get(1);
         assertEquals(2, group.at("/id").asInt());
-        assertEquals("dory-group", group.at("/name").asText());
-        assertEquals("dory", group.at("/owner").asText());
+        assertEquals(group.at("/name").asText(), "dory-group");
+        assertEquals(group.at("/owner").asText(), "dory");
         assertEquals(3, group.at("/members").size());
     }
 
     // nemo is a group member in dory-group
     @Test
-    public void testListNemoGroups () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("nemo", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
+    public void testListNemoGroups() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("nemo", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(2, node.at("/0/id").asInt());
-        assertEquals("dory-group", node.at("/0/name").asText());
-        assertEquals("dory", node.at("/0/owner").asText());
+        assertEquals(node.at("/0/name").asText(), "dory-group");
+        assertEquals(node.at("/0/owner").asText(), "dory");
         // group members are not allowed to see other members
         assertEquals(0, node.at("/0/members").size());
     }
 
     // marlin has 2 groups
     @Test
-    public void testListMarlinGroups () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
+    public void testListMarlinGroups() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         String entity = response.readEntity(String.class);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
@@ -127,556 +93,314 @@
     }
 
     @Test
-    public void testListGroupGuest () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
+    public void testListGroupGuest() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: guest",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Unauthorized operation for user: guest");
     }
 
-    
     @Test
-    public void testCreateGroupEmptyDescription () throws
-            ProcessingException, KustvaktException {
+    public void testCreateGroupEmptyDescription() throws ProcessingException, KustvaktException {
         String groupName = "empty_group";
-        Response response = testCreateUserGroup(groupName,"");
+        Response response = testCreateUserGroup(groupName, "");
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-        
         deleteGroupByName(groupName);
     }
 
-    
     @Test
-    public void testCreateGroupMissingDescription () throws
-            ProcessingException, KustvaktException {
+    public void testCreateGroupMissingDescription() throws ProcessingException, KustvaktException {
         String groupName = "missing-desc-group";
-
         Response response = testCreateGroupWithoutDescription(groupName);
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
         deleteGroupByName(groupName);
     }
-    
-    private Response testCreateUserGroup (String groupName, String description)
-            throws ProcessingException,
-            KustvaktException {
+
+    private Response testCreateUserGroup(String groupName, String description) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("description", description);
-        
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .put(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").put(Entity.form(form));
         return response;
     }
-    
-    private Response testCreateGroupWithoutDescription (String groupName)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .put(Entity.form(new Form()));
 
+    private Response testCreateGroupWithoutDescription(String groupName) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").put(Entity.form(new Form()));
         return response;
     }
-    
-    @Test
-    public void testCreateGroupInvalidName () throws
-            ProcessingException, KustvaktException {
-        String groupName = "invalid-group-name$"; 
 
+    @Test
+    public void testCreateGroupInvalidName() throws ProcessingException, KustvaktException {
+        String groupName = "invalid-group-name$";
         Response response = testCreateGroupWithoutDescription(groupName);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-        
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
-//        assertEquals("User-group name must only contains letters, numbers, "
-//                + "underscores, hypens and spaces", node.at("/errors/0/1").asText());
-        assertEquals("invalid-group-name$", node.at("/errors/0/2").asText());
+        // assertEquals("User-group name must only contains letters, numbers, "
+        // + "underscores, hypens and spaces", node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/2").asText(), "invalid-group-name$");
     }
-    
-    @Test
-    public void testCreateGroupNameTooShort () throws
-            ProcessingException, KustvaktException {
-        String groupName = "a"; 
 
+    @Test
+    public void testCreateGroupNameTooShort() throws ProcessingException, KustvaktException {
+        String groupName = "a";
         Response response = testCreateGroupWithoutDescription(groupName);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-        
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
-        assertEquals("groupName must contain at least 3 characters",
-                node.at("/errors/0/1").asText());
-        assertEquals("groupName", node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "groupName must contain at least 3 characters");
+        assertEquals(node.at("/errors/0/2").asText(), "groupName");
     }
-    
-    @Test
-    public void testUserGroup () throws
-            ProcessingException, KustvaktException {
 
+    @Test
+    public void testUserGroup() throws ProcessingException, KustvaktException {
         String groupName = "new-user-group";
-        String description= "This is new-user-group.";
-        
-        Response response =
-                testCreateUserGroup(groupName, description);
+        String description = "This is new-user-group.";
+        Response response = testCreateUserGroup(groupName, description);
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
         // same name
         response = testCreateGroupWithoutDescription(groupName);
         assertEquals(Status.NO_CONTENT.getStatusCode(), response.getStatus());
-
         // list user group
         JsonNode node = retrieveUserGroups(username);
         assertEquals(1, node.size());
         node = node.get(0);
-        assertEquals("new-user-group", node.get("name").asText());
+        assertEquals(node.get("name").asText(), "new-user-group");
         assertEquals(description, node.get("description").asText());
-
         assertEquals(username, node.get("owner").asText());
         assertEquals(1, node.get("members").size());
         assertEquals(username, node.at("/members/0/userId").asText());
-        assertEquals(GroupMemberStatus.ACTIVE.name(),
-                node.at("/members/0/status").asText());
-        assertEquals(PredefinedRole.VC_ACCESS_ADMIN.name(),
-                node.at("/members/0/roles/1").asText());
-        assertEquals(PredefinedRole.USER_GROUP_ADMIN.name(),
-                node.at("/members/0/roles/0").asText());
-
+        assertEquals(GroupMemberStatus.ACTIVE.name(), node.at("/members/0/status").asText());
+        assertEquals(PredefinedRole.VC_ACCESS_ADMIN.name(), node.at("/members/0/roles/1").asText());
+        assertEquals(PredefinedRole.USER_GROUP_ADMIN.name(), node.at("/members/0/roles/0").asText());
         testUpdateUserGroup(groupName);
         testInviteMember(groupName);
-
         testDeleteMemberUnauthorized(groupName);
         testDeleteMember(groupName);
         testDeleteGroup(groupName);
-
         testSubscribeToDeletedGroup(groupName);
         testUnsubscribeToDeletedGroup(groupName);
     }
 
-    private void testUpdateUserGroup (String groupName)
-            throws ProcessingException,
-            KustvaktException {
+    private void testUpdateUserGroup(String groupName) throws ProcessingException, KustvaktException {
         String description = "Description is updated.";
         Response response = testCreateUserGroup(groupName, description);
         assertEquals(Status.NO_CONTENT.getStatusCode(), response.getStatus());
-
         JsonNode node = retrieveUserGroups(username);
         assertEquals(1, node.size());
         assertEquals(description, node.get(0).get("description").asText());
     }
 
-    private void testDeleteMember (String groupName)
-            throws ProcessingException,
-            KustvaktException {
+    private void testDeleteMember(String groupName) throws ProcessingException, KustvaktException {
         // delete darla from group
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName).path("~darla")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("~darla").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         // check group member
-        response = target().path(API_VERSION).path("group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
+        response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         node = node.get(0);
         assertEquals(1, node.get("members").size());
     }
 
-    private void testDeleteMemberUnauthorized (String groupName)
-            throws ProcessingException,
-            KustvaktException {
+    private void testDeleteMemberUnauthorized(String groupName) throws ProcessingException, KustvaktException {
         // nemo is a group member
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName).path("~darla")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("nemo", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("~darla").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("nemo", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: nemo",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Unauthorized operation for user: nemo");
     }
 
     // EM: same as cancel invitation
-    private void testDeletePendingMember () throws
-            ProcessingException, KustvaktException {
+    private void testDeletePendingMember() throws ProcessingException, KustvaktException {
         // dory delete pearl
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("~pearl")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("~pearl").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // check member
         JsonNode node = retrieveUserGroups("pearl");
         assertEquals(0, node.size());
     }
 
     @Test
-    public void testDeleteDeletedMember () throws
-            ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("~pearl")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+    public void testDeleteDeletedMember() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("~pearl").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.GROUP_MEMBER_DELETED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("pearl has already been deleted from the group dory-group",
-                node.at("/errors/0/1").asText());
-        assertEquals("[pearl, dory-group]", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.GROUP_MEMBER_DELETED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "pearl has already been deleted from the group dory-group");
+        assertEquals(node.at("/errors/0/2").asText(), "[pearl, dory-group]");
     }
 
-    private void testDeleteGroup (String groupName)
-            throws ProcessingException,
-            KustvaktException {
+    private void testDeleteGroup(String groupName) throws ProcessingException, KustvaktException {
         // delete group
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         Form f = new Form();
         f.param("username", username);
         f.param("status", "DELETED");
-        // EM: this is so complicated because the group retrieval are not allowed 
+        // EM: this is so complicated because the group retrieval are not allowed
         // for delete groups
         // check group
-        response = target().path(API_VERSION)
-                .path("admin").path("group").path("list")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-        
+        response = target().path(API_VERSION).path("admin").path("group").path("list").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        for (int j = 0; j < node.size(); j++){
+        for (int j = 0; j < node.size(); j++) {
             JsonNode group = node.get(j);
             // check group members
             for (int i = 0; i < group.at("/0/members").size(); i++) {
-                assertEquals(GroupMemberStatus.DELETED.name(),
-                        group.at("/0/members/" + i + "/status").asText());
+                assertEquals(GroupMemberStatus.DELETED.name(), group.at("/0/members/" + i + "/status").asText());
             }
         }
     }
 
     @Test
-    public void testDeleteGroupUnauthorized () throws
-            ProcessingException, KustvaktException {
+    public void testDeleteGroupUnauthorized() throws ProcessingException, KustvaktException {
         // dory is a group admin in marlin-group
-        Response response = target().path(API_VERSION).path("group")
-                .path("@marlin-group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@marlin-group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: dory",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Unauthorized operation for user: dory");
     }
 
     @Test
-    public void testDeleteDeletedGroup () throws
-            ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@deleted-group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+    public void testDeleteDeletedGroup() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@deleted-group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.GROUP_DELETED, node.at("/errors/0/0").asInt());
-        assertEquals("Group deleted-group has been deleted.",
-                node.at("/errors/0/1").asText());
-        assertEquals("deleted-group", node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "Group deleted-group has been deleted.");
+        assertEquals(node.at("/errors/0/2").asText(), "deleted-group");
     }
 
     @Test
-    public void testDeleteGroupOwner () throws
-            ProcessingException, KustvaktException {
+    public void testDeleteGroupOwner() throws ProcessingException, KustvaktException {
         // delete marlin from marlin-group
         // dory is a group admin in marlin-group
-        Response response = target().path(API_VERSION).path("group")
-                .path("@marlin-group").path("~marlin")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@marlin-group").path("~marlin").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").delete();
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         assertEquals(StatusCodes.NOT_ALLOWED, node.at("/errors/0/0").asInt());
-        assertEquals("Operation 'delete group owner'is not allowed.",
-                node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "Operation 'delete group owner'is not allowed.");
     }
 
-    private void testInviteMember (String groupName)
-            throws ProcessingException,
-            KustvaktException {
+    private void testInviteMember(String groupName) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("members", "darla");
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName).path("invite")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("invite").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // list group
-        response = target().path(API_VERSION).path("group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-
+        response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         String entity = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(entity);
         node = node.get(0);
         assertEquals(2, node.get("members").size());
-
-        assertEquals("darla", node.at("/members/1/userId").asText());
-        assertEquals(GroupMemberStatus.PENDING.name(),
-                node.at("/members/1/status").asText());
+        assertEquals(node.at("/members/1/userId").asText(), "darla");
+        assertEquals(GroupMemberStatus.PENDING.name(), node.at("/members/1/status").asText());
         assertEquals(0, node.at("/members/1/roles").size());
     }
 
-    private void testInviteDeletedMember () throws
-            ProcessingException, KustvaktException {
+    private void testInviteDeletedMember() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("members", "marlin");
-        
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("invite")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("invite").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // check member
         JsonNode node = retrieveUserGroups("marlin");
         assertEquals(2, node.size());
         JsonNode group = node.get(1);
-        assertEquals(GroupMemberStatus.PENDING.name(),
-                group.at("/userMemberStatus").asText());
-
+        assertEquals(GroupMemberStatus.PENDING.name(), group.at("/userMemberStatus").asText());
     }
 
     @Test
-    public void testInviteDeletedMember2 () throws
-            ProcessingException, KustvaktException {
+    public void testInviteDeletedMember2() throws ProcessingException, KustvaktException {
         // pearl has status deleted in dory-group
         Form form = new Form();
         form.param("members", "pearl");
-        
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("invite")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("invite").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // check member
         JsonNode node = retrieveUserGroups("pearl");
         assertEquals(1, node.size());
         JsonNode group = node.get(0);
-        assertEquals(GroupMemberStatus.PENDING.name(),
-                group.at("/userMemberStatus").asText());
-
+        assertEquals(GroupMemberStatus.PENDING.name(), group.at("/userMemberStatus").asText());
         testDeletePendingMember();
     }
 
     @Test
-    public void testInvitePendingMember () throws
-            ProcessingException, KustvaktException {
+    public void testInvitePendingMember() throws ProcessingException, KustvaktException {
         // marlin has status PENDING in dory-group
         Form form = new Form();
         form.param("members", "marlin");
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("invite")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .post(Entity.form(form));
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("invite").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).post(Entity.form(form));
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.GROUP_MEMBER_EXISTS,
-                node.at("/errors/0/0").asInt());
-        assertEquals(
-                "Username marlin with status PENDING exists in the user-group "
-                        + "dory-group",
-                node.at("/errors/0/1").asText());
-        assertEquals("[marlin, PENDING, dory-group]",
-                node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.GROUP_MEMBER_EXISTS, node.at("/errors/0/0").asInt());
+        assertEquals("Username marlin with status PENDING exists in the user-group " + "dory-group", node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/2").asText(), "[marlin, PENDING, dory-group]");
     }
 
     @Test
-    public void testInviteActiveMember () throws
-            ProcessingException, KustvaktException {
+    public void testInviteActiveMember() throws ProcessingException, KustvaktException {
         // nemo has status active in dory-group
         Form form = new Form();
         form.param("members", "nemo");
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("invite")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("invite").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).post(Entity.form(form));
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.GROUP_MEMBER_EXISTS,
-                node.at("/errors/0/0").asInt());
-        assertEquals(
-                "Username nemo with status ACTIVE exists in the user-group "
-                        + "dory-group",
-                node.at("/errors/0/1").asText());
-        assertEquals("[nemo, ACTIVE, dory-group]",
-                node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.GROUP_MEMBER_EXISTS, node.at("/errors/0/0").asInt());
+        assertEquals("Username nemo with status ACTIVE exists in the user-group " + "dory-group", node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/2").asText(), "[nemo, ACTIVE, dory-group]");
     }
 
     @Test
-    public void testInviteMemberToDeletedGroup ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testInviteMemberToDeletedGroup() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("members", "nemo");
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@deleted-group").path("invite")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@deleted-group").path("invite").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).post(Entity.form(form));
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.GROUP_DELETED, node.at("/errors/0/0").asInt());
-        assertEquals("Group deleted-group has been deleted.",
-                node.at("/errors/0/1").asText());
-        assertEquals("deleted-group", node.at("/errors/0/2").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "Group deleted-group has been deleted.");
+        assertEquals(node.at("/errors/0/2").asText(), "deleted-group");
     }
 
     // marlin has GroupMemberStatus.PENDING in dory-group
     @Test
-    public void testSubscribePendingMember () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("subscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .post(Entity.form(new Form()));
-
+    public void testSubscribePendingMember() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("subscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).post(Entity.form(new Form()));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // retrieve marlin group
         JsonNode node = retrieveUserGroups("marlin");
         // System.out.println(node);
         assertEquals(2, node.size());
-
         JsonNode group = node.get(1);
         assertEquals(2, group.at("/id").asInt());
-        assertEquals("dory-group", group.at("/name").asText());
-        assertEquals("dory", group.at("/owner").asText());
+        assertEquals(group.at("/name").asText(), "dory-group");
+        assertEquals(group.at("/owner").asText(), "dory");
         // group members are not allowed to see other members
         assertEquals(0, group.at("/members").size());
-        assertEquals(GroupMemberStatus.ACTIVE.name(),
-                group.at("/userMemberStatus").asText());
-        assertEquals(PredefinedRole.VC_ACCESS_MEMBER.name(),
-                group.at("/userRoles/1").asText());
-        assertEquals(PredefinedRole.USER_GROUP_MEMBER.name(),
-                group.at("/userRoles/0").asText());
-
+        assertEquals(GroupMemberStatus.ACTIVE.name(), group.at("/userMemberStatus").asText());
+        assertEquals(PredefinedRole.VC_ACCESS_MEMBER.name(), group.at("/userRoles/1").asText());
+        assertEquals(PredefinedRole.USER_GROUP_MEMBER.name(), group.at("/userRoles/0").asText());
         // unsubscribe marlin from dory-group
         testUnsubscribeActiveMember("dory-group");
         checkGroupMemberRole("dory-group", "marlin");
-
         // invite marlin to dory-group to set back the
         // GroupMemberStatus.PENDING
         testInviteDeletedMember();
@@ -684,125 +408,62 @@
 
     // pearl has GroupMemberStatus.DELETED in dory-group
     @Test
-    public void testSubscribeDeletedMember () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("subscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("pearl", "pass"))
-                .post(Entity.form(new Form()));
+    public void testSubscribeDeletedMember() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("subscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("pearl", "pass")).post(Entity.form(new Form()));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.GROUP_MEMBER_DELETED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("pearl has already been deleted from the group dory-group",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.GROUP_MEMBER_DELETED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "pearl has already been deleted from the group dory-group");
     }
 
     @Test
     public void testSubscribeMissingGroupName() throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("subscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("bruce", "pass"))
-                .post(Entity.form(new Form()));
-        assertEquals(Status.NOT_FOUND.getStatusCode(),
-                response.getStatus());
+        Response response = target().path(API_VERSION).path("group").path("subscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("bruce", "pass")).post(Entity.form(new Form()));
+        assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testSubscribeNonExistentMember () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("subscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("bruce", "pass"))
-                .post(Entity.form(new Form()));
+    public void testSubscribeNonExistentMember() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("subscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("bruce", "pass")).post(Entity.form(new Form()));
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.GROUP_MEMBER_NOT_FOUND,
-                node.at("/errors/0/0").asInt());
-        assertEquals("bruce is not found in the group",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.GROUP_MEMBER_NOT_FOUND, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "bruce is not found in the group");
     }
 
     @Test
-    public void testSubscribeToNonExistentGroup () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@non-existent").path("subscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("pearl", "pass"))
-                .post(Entity.form(new Form()));
+    public void testSubscribeToNonExistentGroup() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@non-existent").path("subscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("pearl", "pass")).post(Entity.form(new Form()));
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Group non-existent is not found",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Group non-existent is not found");
     }
 
-    private void testSubscribeToDeletedGroup (String groupName)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName).path("subscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("nemo", "pass"))
-                .post(Entity.form(new Form()));
-
+    private void testSubscribeToDeletedGroup(String groupName) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("subscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("nemo", "pass")).post(Entity.form(new Form()));
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.GROUP_DELETED, node.at("/errors/0/0").asInt());
-        assertEquals("Group new-user-group has been deleted.",
-                node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "Group new-user-group has been deleted.");
     }
 
-    private void testUnsubscribeActiveMember (String groupName)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName).path("unsubscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .delete();
-
+    private void testUnsubscribeActiveMember(String groupName) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("unsubscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = retrieveUserGroups("marlin");
         assertEquals(1, node.size());
     }
 
-    private void checkGroupMemberRole (String groupName, String deletedMemberName)
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("admin").path("group").path("@"+groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .post(null);
+    private void checkGroupMemberRole(String groupName, String deletedMemberName) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("admin").path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).post(null);
         String entity = response.readEntity(String.class);
-
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity).at("/members");
         JsonNode member;
         for (int i = 0; i < node.size(); i++) {
@@ -815,217 +476,112 @@
     }
 
     @Test
-    public void testUnsubscribeDeletedMember ()
-            throws ProcessingException,
-            KustvaktException {
+    public void testUnsubscribeDeletedMember() throws ProcessingException, KustvaktException {
         // pearl unsubscribes from dory-group
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("unsubscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("pearl", "pass"))
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("unsubscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("pearl", "pass")).delete();
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.GROUP_MEMBER_DELETED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("pearl has already been deleted from the group dory-group",
-                node.at("/errors/0/1").asText());
-        assertEquals("[pearl, dory-group]", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.GROUP_MEMBER_DELETED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "pearl has already been deleted from the group dory-group");
+        assertEquals(node.at("/errors/0/2").asText(), "[pearl, dory-group]");
     }
 
     @Test
-    public void testUnsubscribePendingMember ()
-            throws ProcessingException,
-            KustvaktException {
-
+    public void testUnsubscribePendingMember() throws ProcessingException, KustvaktException {
         JsonNode node = retrieveUserGroups("marlin");
         assertEquals(2, node.size());
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("unsubscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .delete();
-
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("unsubscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         node = retrieveUserGroups("marlin");
         assertEquals(1, node.size());
-
         // invite marlin to dory-group to set back the
         // GroupMemberStatus.PENDING
         testInviteDeletedMember();
     }
 
     @Test
-    public void testUnsubscribeMissingGroupName () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("unsubscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .delete();
-
+    public void testUnsubscribeMissingGroupName() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("unsubscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).delete();
         assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testUnsubscribeNonExistentMember () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@dory-group").path("unsubscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("bruce", "pass"))
-                .delete();
-
+    public void testUnsubscribeNonExistentMember() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@dory-group").path("unsubscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("bruce", "pass")).delete();
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals(StatusCodes.GROUP_MEMBER_NOT_FOUND,
-                node.at("/errors/0/0").asInt());
-        assertEquals("bruce is not found in the group",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.GROUP_MEMBER_NOT_FOUND, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "bruce is not found in the group");
     }
 
     @Test
-    public void testUnsubscribeToNonExistentGroup () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@tralala-group").path("unsubscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("pearl", "pass"))
-                .delete();
-
+    public void testUnsubscribeToNonExistentGroup() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@tralala-group").path("unsubscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("pearl", "pass")).delete();
         assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Group tralala-group is not found",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Group tralala-group is not found");
     }
 
-    private void testUnsubscribeToDeletedGroup (String groupName)
-            throws ProcessingException,
-            KustvaktException {
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@"+groupName).path("unsubscribe")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("nemo", "pass"))
-                .delete();
-
+    private void testUnsubscribeToDeletedGroup(String groupName) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("unsubscribe").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("nemo", "pass")).delete();
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.GROUP_DELETED, node.at("/errors/0/0").asInt());
-        assertEquals("Group new-user-group has been deleted.",
-                node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "Group new-user-group has been deleted.");
     }
 
     @Test
-    public void testAddSameMemberRole () throws
-            ProcessingException, KustvaktException {
+    public void testAddSameMemberRole() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("memberUsername", "dory");
         form.param("roleId", "1");
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@marlin-group").path("role").path("add")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@marlin-group").path("role").path("add").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         UserGroupMember member = memberDao.retrieveMemberById("dory", 1);
         Set<Role> roles = member.getRoles();
         assertEquals(2, roles.size());
     }
 
     @Test
-    public void testDeleteAddMemberRole () throws
-            ProcessingException, KustvaktException {
+    public void testDeleteAddMemberRole() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("memberUsername", "dory");
         form.param("roleId", "1");
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@marlin-group").path("role").path("delete")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@marlin-group").path("role").path("delete").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         UserGroupMember member = memberDao.retrieveMemberById("dory", 1);
         Set<Role> roles = member.getRoles();
         assertEquals(1, roles.size());
-
         testAddSameMemberRole();
     }
 
     @Test
-    public void testEditMemberRoleEmpty () throws
-            ProcessingException, KustvaktException {
+    public void testEditMemberRoleEmpty() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("memberUsername", "dory");
-        
-        Response response = target().path(API_VERSION).path("group")
-                .path("@marlin-group").path("role").path("edit")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@marlin-group").path("role").path("edit").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         UserGroupMember member = memberDao.retrieveMemberById("dory", 1);
         Set<Role> roles = member.getRoles();
         assertEquals(0, roles.size());
-
         testEditMemberRole();
     }
 
-    private void testEditMemberRole ()
-            throws ProcessingException,
-            KustvaktException {
+    private void testEditMemberRole() throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("memberUsername", "dory");
         form.param("roleId", "1");
         form.param("roleId", "3");
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@marlin-group").path("role").path("edit")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@marlin-group").path("role").path("edit").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         UserGroupMember member = memberDao.retrieveMemberById("dory", 1);
         Set<Role> roles = member.getRoles();
         assertEquals(2, roles.size());
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserSettingControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserSettingControllerTest.java
index aed440a..7f7078e 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserSettingControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserSettingControllerTest.java
@@ -1,15 +1,14 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.HashMap;
 import java.util.Map;
 
 import jakarta.ws.rs.client.Entity;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.core.Response;
@@ -24,267 +23,151 @@
 
 /**
  * @author margaretha
- *
  */
 public class UserSettingControllerTest extends SpringJerseyTest {
 
     private String username = "UserSetting_Test";
+
     private String username2 = "UserSetting.Test2";
 
-    public Response sendPutRequest (String username,
-            Map<String, Object> map) throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .put(Entity.json(map));
-
+    public Response sendPutRequest(String username, Map<String, Object> map) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).put(Entity.json(map));
         return response;
     }
 
     @Test
-    public void testCreateSettingWithJson () throws KustvaktException {
-        String json =
-                "{\"pos-foundry\":\"opennlp\",\"metadata\":[\"author\", \"title\","
-                        + "\"textSigle\", \"availability\"],\"resultPerPage\":25}";
-
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .put(Entity.json(json));
-
+    public void testCreateSettingWithJson() throws KustvaktException {
+        String json = "{\"pos-foundry\":\"opennlp\",\"metadata\":[\"author\", \"title\"," + "\"textSigle\", \"availability\"],\"resultPerPage\":25}";
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
         int numOfResult = 25;
-        String metadata =
-                "[\"author\",\"title\",\"textSigle\"," + "\"availability\"]";
-
+        String metadata = "[\"author\",\"title\",\"textSigle\"," + "\"availability\"]";
         testRetrieveSettings(username, "opennlp", numOfResult, metadata, true);
-
         testDeleteKeyNotExist(username);
         testDeleteKey(username, numOfResult, metadata, true);
         testDeleteSetting(username);
     }
 
     @Test
-    public void testCreateSettingWithMap () throws KustvaktException {
-
+    public void testCreateSettingWithMap() throws KustvaktException {
         Map<String, Object> map = new HashMap<>();
         map.put("pos-foundry", "opennlp");
         map.put("resultPerPage", 25);
         map.put("metadata", "author title textSigle availability");
-
         Response response = sendPutRequest(username2, map);
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
-        testRetrieveSettings(username2, "opennlp", 25,
-                "author title textSigle availability", false);
-
+        testRetrieveSettings(username2, "opennlp", 25, "author title textSigle availability", false);
         testUpdateSetting(username2);
         testputRequestInvalidKey();
     }
 
     @Test
-    public void testputRequestInvalidKey () throws KustvaktException {
+    public void testputRequestInvalidKey() throws KustvaktException {
         Map<String, Object> map = new HashMap<>();
         map.put("key/", "invalidKey");
-
         Response response = sendPutRequest(username2, map);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
-        assertEquals("key/", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/2").asText(), "key/");
     }
 
     @Test
-    public void testPutDifferentUsername () throws KustvaktException {
-        String json =
-                "{\"pos-foundry\":\"opennlp\",\"metadata\":\"author title "
-                        + "textSigle availability\",\"resultPerPage\":25}";
-
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username2, "pass"))
-                .put(Entity.json(json));
-
+    public void testPutDifferentUsername() throws KustvaktException {
+        String json = "{\"pos-foundry\":\"opennlp\",\"metadata\":\"author title " + "textSigle availability\",\"resultPerPage\":25}";
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username2, "pass")).put(Entity.json(json));
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testGetDifferentUsername () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username2, "pass"))
-                .get();
-
+    public void testGetDifferentUsername() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username2, "pass")).get();
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testGetSettingNotExist () throws KustvaktException {
+    public void testGetSettingNotExist() throws KustvaktException {
         String username = "tralala";
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .get();
-
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).get();
         assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
-        assertEquals(
-                "No default setting for username: " + username + " is found",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
+        assertEquals("No default setting for username: " + username + " is found", node.at("/errors/0/1").asText());
         assertEquals(username, node.at("/errors/0/2").asText());
     }
 
     @Test
-    public void testDeleteSettingNotExist () throws KustvaktException {
+    public void testDeleteSettingNotExist() throws KustvaktException {
         String username = "tralala";
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .delete();
-
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
 
     @Test
-    public void testDeleteKeyDifferentUsername () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting").path("pos-foundry")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username2, "pass"))
-                .delete();
-
+    public void testDeleteKeyDifferentUsername() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").path("pos-foundry").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username2, "pass")).delete();
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
     }
 
-    private void testDeleteSetting (String username) throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .delete();
-
+    private void testDeleteSetting(String username) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
-        response = target().path(API_VERSION).path("~" + username)
-                .path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-
+        response = target().path(API_VERSION).path("~" + username).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
         assertEquals(username, node.at("/errors/0/2").asText());
     }
 
     // EM: deleting a non-existing key does not throw an error,
     // because
     // the purpose of the request has been achieved.
-    private void testDeleteKeyNotExist (String username)
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting").path("lemma-foundry")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .delete();
-
+    private void testDeleteKeyNotExist(String username) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").path("lemma-foundry").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
 
-    private void testDeleteKey (String username, int numOfResult,
-            String metadata, boolean isMetadataArray) throws KustvaktException {
-
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting").path("pos-foundry")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .delete();
-
+    private void testDeleteKey(String username, int numOfResult, String metadata, boolean isMetadataArray) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").path("pos-foundry").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-        testRetrieveSettings(username, null, numOfResult, metadata,
-                isMetadataArray);
+        testRetrieveSettings(username, null, numOfResult, metadata, isMetadataArray);
     }
 
-    private void testUpdateSetting (String username) throws KustvaktException {
+    private void testUpdateSetting(String username) throws KustvaktException {
         Map<String, Object> map = new HashMap<>();
         map.put("pos-foundry", "malt");
         map.put("resultPerPage", 15);
         map.put("metadata", "author title");
-
         Response response = sendPutRequest(username, map);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         testRetrieveSettings(username, "malt", 15, "author title", false);
     }
 
-    private void testRetrieveSettings (String username, String posFoundry,
-            int numOfResult, String metadata, boolean isMetadataArray)
-            throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("~" + username).path("setting")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-
+    private void testRetrieveSettings(String username, String posFoundry, int numOfResult, String metadata, boolean isMetadataArray) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("~" + username).path("setting").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
         String entity = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(entity);
         if (posFoundry == null) {
             assertTrue(node.at("/pos-foundry").isMissingNode());
-        }
-        else {
+        } else {
             assertEquals(posFoundry, node.at("/pos-foundry").asText());
         }
         assertEquals(numOfResult, node.at("/resultPerPage").asInt());
-
         if (isMetadataArray) {
             assertEquals(metadata, node.at("/metadata").toString());
-        }
-        else {
+        } else {
             assertEquals(metadata, node.at("/metadata").asText());
         }
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VCReferenceTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VCReferenceTest.java
index edf1c49..382535d 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VCReferenceTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VCReferenceTest.java
@@ -1,15 +1,14 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 
@@ -35,64 +34,51 @@
 
     @Autowired
     private NamedVCLoader vcLoader;
+
     @Autowired
     private QueryDao dao;
 
     /**
      * VC data exists, but it has not been cached, so it is not found
      * in the DB.
-     * 
+     *
      * @throws KustvaktException
      */
     @Test
-    public void testRefVcNotPrecached () throws KustvaktException {
+    public void testRefVcNotPrecached() throws KustvaktException {
         JsonNode node = testSearchWithRef_VC1();
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Virtual corpus system/named-vc1 is not found.",
-                node.at("/errors/0/1").asText());
-        assertEquals("system/named-vc1", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Virtual corpus system/named-vc1 is not found.");
+        assertEquals(node.at("/errors/0/2").asText(), "system/named-vc1");
     }
-    
+
     @Test
-    public void testRefVcPrecached ()
-            throws KustvaktException, IOException, QueryException {
+    public void testRefVcPrecached() throws KustvaktException, IOException, QueryException {
         int numOfMatches = testSearchWithoutRef_VC1();
         vcLoader.loadVCToCache("named-vc1", "/vc/named-vc1.jsonld");
         assertTrue(VirtualCorpusCache.contains("named-vc1"));
         JsonNode node = testSearchWithRef_VC1();
-        assertEquals(numOfMatches,node.at("/matches").size());
-        
+        assertEquals(numOfMatches, node.at("/matches").size());
         testStatisticsWithRef();
-
         numOfMatches = testSearchWithoutRef_VC2();
         vcLoader.loadVCToCache("named-vc2", "/vc/named-vc2.jsonld");
         assertTrue(VirtualCorpusCache.contains("named-vc2"));
         node = testSearchWithRef_VC2();
-        assertEquals(numOfMatches,node.at("/matches").size());
-        
+        assertEquals(numOfMatches, node.at("/matches").size());
         VirtualCorpusCache.delete("named-vc2");
         assertFalse(VirtualCorpusCache.contains("named-vc2"));
-
         QueryDO vc = dao.retrieveQueryByName("named-vc1", "system");
         dao.deleteQuery(vc);
         vc = dao.retrieveQueryByName("named-vc1", "system");
         assertNull(vc);
-        
         vc = dao.retrieveQueryByName("named-vc2", "system");
         dao.deleteQuery(vc);
         vc = dao.retrieveQueryByName("named-vc2", "system");
         assertNull(vc);
     }
-    
-    private int testSearchWithoutRef_VC1 () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq",
-                        "textSigle=\"GOE/AGF/00000\" | textSigle=\"GOE/AGA/01784\"")
-                .request()
-                .get();
 
+    private int testSearchWithoutRef_VC1() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "textSigle=\"GOE/AGF/00000\" | textSigle=\"GOE/AGA/01784\"").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         int size = node.at("/matches").size();
@@ -100,14 +86,8 @@
         return size;
     }
 
-    private int testSearchWithoutRef_VC2 () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq",
-                        "textSigle!=\"GOE/AGI/04846\" & textSigle!=\"GOE/AGA/01784\"")
-                .request()
-                .get();
-
+    private int testSearchWithoutRef_VC2() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "textSigle!=\"GOE/AGI/04846\" & textSigle!=\"GOE/AGA/01784\"").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         int size = node.at("/matches").size();
@@ -115,133 +95,81 @@
         return size;
     }
 
-    private JsonNode testSearchWithRef_VC1 () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"system/named-vc1\"")
-                .request()
-                .get();
-
+    private JsonNode testSearchWithRef_VC1() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"system/named-vc1\"").request().get();
         String ent = response.readEntity(String.class);
         return JsonUtils.readTree(ent);
     }
 
-    private JsonNode testSearchWithRef_VC2 () throws KustvaktException {
-        
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo named-vc2")
-                .request()
-                .get();
-
+    private JsonNode testSearchWithRef_VC2() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo named-vc2").request().get();
         String ent = response.readEntity(String.class);
         return JsonUtils.readTree(ent);
     }
 
     @Test
-    public void testStatisticsWithRef () throws KustvaktException {
+    public void testStatisticsWithRef() throws KustvaktException {
         String corpusQuery = "availability = /CC-BY.*/ & referTo named-vc1";
-        Response response = target().path(API_VERSION)
-                .path("statistics").queryParam("corpusQuery", corpusQuery)
-                .request()
-                .get();
-
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", corpusQuery).request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertEquals(2, node.at("/documents").asInt());
-        
         VirtualCorpusCache.delete("named-vc1");
         assertFalse(VirtualCorpusCache.contains("named-vc1"));
     }
 
     @Test
-    public void testRefVcNotExist () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"username/vc1\"")
-                .request()
-                .get();
-
+    public void testRefVcNotExist() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"username/vc1\"").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
-        assertEquals("username/vc1", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/2").asText(), "username/vc1");
     }
 
     @Test
     public void testRefNotAuthorized() throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"dory/dory-vc\"")
-                .request()
-                .get();
-
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"dory/dory-vc\"").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("guest", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/2").asText(), "guest");
     }
-    
-    @Test
-    public void testSearchWithRefPublishedVcGuest () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"marlin/published-vc\"")
-                .request()
-                .get();
 
+    @Test
+    public void testSearchWithRefPublishedVcGuest() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"marlin/published-vc\"").request().get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertTrue(node.at("/matches").size() > 0);
-        
-        assertEquals("CC-BY.*", node.at("/collection/operands/0/value").asText());
-        assertEquals("koral:doc", node.at("/collection/operands/1/@type").asText());
-        assertEquals("GOE", node.at("/collection/operands/1/value").asText());
-        assertEquals("corpusSigle", node.at("/collection/operands/1/key").asText());
-        
+        assertEquals(node.at("/collection/operands/0/value").asText(), "CC-BY.*");
+        assertEquals(node.at("/collection/operands/1/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "GOE");
+        assertEquals(node.at("/collection/operands/1/key").asText(), "corpusSigle");
         node = node.at("/collection/operands/1/rewrites");
         assertEquals(3, node.size());
-        assertEquals("operation:deletion", node.at("/0/operation").asText());
-        assertEquals("@type(koral:docGroupRef)", node.at("/0/scope").asText());
-        assertEquals("operation:deletion", node.at("/1/operation").asText());
-        assertEquals("ref(marlin/published-vc)", node.at("/1/scope").asText());
-        assertEquals("operation:insertion", node.at("/2/operation").asText());
+        assertEquals(node.at("/0/operation").asText(), "operation:deletion");
+        assertEquals(node.at("/0/scope").asText(), "@type(koral:docGroupRef)");
+        assertEquals(node.at("/1/operation").asText(), "operation:deletion");
+        assertEquals(node.at("/1/scope").asText(), "ref(marlin/published-vc)");
+        assertEquals(node.at("/2/operation").asText(), "operation:insertion");
     }
-    
-    @Test
-    public void testSearchWithRefPublishedVc () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "referTo \"marlin/published-vc\"")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("squirt", "pass"))
-                .get();
 
+    @Test
+    public void testSearchWithRefPublishedVc() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"marlin/published-vc\"").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("squirt", "pass")).get();
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertTrue(node.at("/matches").size() > 0);
-        
         Form f = new Form();
         f.param("status", "HIDDEN");
-        
         // check dory in the hidden group of the vc
-        response = target().path(API_VERSION)
-                .path("admin").path("group").path("list")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("admin", "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-
+        response = target().path(API_VERSION).path("admin").path("group").path("list").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("admin", "pass")).header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
         assertEquals(3, node.at("/0/id").asInt());
-        
         String members = node.at("/0/members").toString();
         assertTrue(members.contains("\"userId\":\"squirt\""));
-    } 
+    }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusAccessTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusAccessTest.java
index 871848a..beb1308 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusAccessTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusAccessTest.java
@@ -1,16 +1,14 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.http.HttpStatus;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.constant.ResourceType;
@@ -19,15 +17,14 @@
 import de.ids_mannheim.korap.utils.JsonUtils;
 
 public class VirtualCorpusAccessTest extends VirtualCorpusTestBase {
+
     private String testUser = "VirtualCorpusAccessTest";
 
     @Test
-    public void testlistAccessByNonVCAAdmin () throws KustvaktException {
+    public void testlistAccessByNonVCAAdmin() throws KustvaktException {
         JsonNode node = listAccessByGroup("nemo", "dory-group");
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: nemo",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Unauthorized operation for user: nemo");
     }
 
     // @Test
@@ -50,140 +47,99 @@
     // node.at("/errors/0/0").asInt());
     // assertEquals("vcId", node.at("/errors/0/1").asText());
     // }
-
     @Test
-    public void testlistAccessByGroup () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("vc").path("access")
-                .queryParam("groupName", "dory-group").request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .get();
+    public void testlistAccessByGroup() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("access").queryParam("groupName", "dory-group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).get();
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(1, node.at("/0/accessId").asInt());
         assertEquals(2, node.at("/0/queryId").asInt());
-        assertEquals("group-vc", node.at("/0/queryName").asText());
+        assertEquals(node.at("/0/queryName").asText(), "group-vc");
         assertEquals(2, node.at("/0/userGroupId").asInt());
-
-        assertEquals("dory-group", node.at("/0/userGroupName").asText());
+        assertEquals(node.at("/0/userGroupName").asText(), "dory-group");
     }
-    
-    @Test
-    public void testDeleteSharedVC () throws KustvaktException {
-        String json =
-                "{\"type\": \"PROJECT\"" + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                        + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
-        String vcName = "new_project_vc";
-        
-        String username = "dory";
-        String authHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(username, "pass");
 
+    @Test
+    public void testDeleteSharedVC() throws KustvaktException {
+        String json = "{\"type\": \"PROJECT\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
+        String vcName = "new_project_vc";
+        String username = "dory";
+        String authHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass");
         createVC(authHeader, username, vcName, json);
-        
         String groupName = "dory-group";
         testShareVCByCreator(username, vcName, groupName);
         JsonNode node = listAccessByGroup(username, groupName);
         assertEquals(2, node.size());
-        
         // delete project VC
         deleteVC(vcName, username, username);
-        
         node = listAccessByGroup(username, groupName);
         assertEquals(1, node.size());
     }
 
     @Test
-    public void testCreateDeleteAccess ()
-            throws ProcessingException, KustvaktException {
-
+    public void testCreateDeleteAccess() throws ProcessingException, KustvaktException {
         String vcName = "marlin-vc";
         String groupName = "marlin-group";
-
         // check the vc type
         JsonNode node = retrieveVCInfo("marlin", "marlin", vcName);
         assertEquals(vcName, node.at("/name").asText());
-        assertEquals("private", node.at("/type").asText());
-
+        assertEquals(node.at("/type").asText(), "private");
         // share vc to group
         Response response = testShareVCByCreator("marlin", vcName, groupName);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // check the vc type
         node = retrieveVCInfo("marlin", "marlin", vcName);
-        assertEquals("project", node.at("/type").asText());
-
+        assertEquals(node.at("/type").asText(), "project");
         // list vc access by marlin
         node = listAccessByGroup("marlin", groupName);
         assertEquals(2, node.size());
-        
         // get access id
         node = node.get(1);
         assertEquals(5, node.at("/queryId").asInt());
         assertEquals(vcName, node.at("/queryName").asText());
         assertEquals(1, node.at("/userGroupId").asInt());
         assertEquals(groupName, node.at("/userGroupName").asText());
-
         String accessId = node.at("/accessId").asText();
-
         testShareVC_nonUniqueAccess("marlin", vcName, groupName);
-        
         // delete unauthorized
         response = testDeleteAccess(testUser, accessId);
         testResponseUnauthorized(response, testUser);
-        
         // delete access by vc-admin
         // dory is a vc-admin in marlin group
         response = testDeleteAccess("dory", accessId);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // list vc access by dory
         node = listAccessByGroup("dory", groupName);
         assertEquals(1, node.size());
-
         // edit VC back to private
         String json = "{\"type\": \"" + ResourceType.PRIVATE + "\"}";
         editVC("marlin", "marlin", vcName, json);
         node = retrieveVCInfo("marlin", "marlin", vcName);
-        assertEquals(ResourceType.PRIVATE.displayName(),
-                node.at("/type").asText());
+        assertEquals(ResourceType.PRIVATE.displayName(), node.at("/type").asText());
     }
 
-    private void testShareVC_nonUniqueAccess (String vcCreator, String vcName,
-            String groupName) throws ProcessingException, KustvaktException {
+    private void testShareVC_nonUniqueAccess(String vcCreator, String vcName, String groupName) throws ProcessingException, KustvaktException {
         Response response = testShareVCByCreator(vcCreator, vcName, groupName);
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(HttpStatus.SC_BAD_REQUEST, response.getStatus());
-        assertEquals(StatusCodes.DB_INSERT_FAILED,
-                node.at("/errors/0/0").asInt());
-
+        assertEquals(StatusCodes.DB_INSERT_FAILED, node.at("/errors/0/0").asInt());
         // EM: message differs depending on the database used
         // for testing. The message below is from sqlite.
         // assertTrue(node.at("/errors/0/1").asText()
         // .startsWith("[SQLITE_CONSTRAINT_UNIQUE]"));
     }
 
-    private Response testDeleteAccess (String username, String accessId)
-            throws ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("vc").path("access")
-                .path(accessId).request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .delete();
-
+    private Response testDeleteAccess(String username, String accessId) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("access").path(accessId).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).delete();
         return response;
     }
 
-
     @Test
-    public void testDeleteNonExistingAccess ()
-            throws ProcessingException, KustvaktException {
+    public void testDeleteNonExistingAccess() throws ProcessingException, KustvaktException {
         Response response = testDeleteAccess("dory", "100");
         assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusClientTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusClientTest.java
index 9be71df..225a331 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusClientTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusClientTest.java
@@ -1,14 +1,12 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.utils.JsonUtils;
@@ -18,75 +16,53 @@
     private String username = "VirtualCorpusClientTest";
 
     @Test
-    public void testVC_withClient () throws KustvaktException {
+    public void testVC_withClient() throws KustvaktException {
         // create client
         Response response = registerConfidentialClient(username);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         String clientId = node.at("/client_id").asText();
         String clientSecret = node.at("/client_secret").asText();
-
         // obtain authorization
-        String userAuthHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(username, "password");
-        response = requestAuthorizationCode("code", clientId, clientRedirectUri,
-                "create_vc vc_info delete_vc edit_vc", "myState",
-                userAuthHeader);
+        String userAuthHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "password");
+        response = requestAuthorizationCode("code", clientId, clientRedirectUri, "create_vc vc_info delete_vc edit_vc", "myState", userAuthHeader);
         String code = parseAuthorizationCode(response);
-
-        response = requestTokenWithAuthorizationCodeAndForm(clientId,
-                clientSecret, code, clientRedirectUri);
+        response = requestTokenWithAuthorizationCodeAndForm(clientId, clientSecret, code, clientRedirectUri);
         node = JsonUtils.readTree(response.readEntity(String.class));
         String accessToken = node.at("/access_token").asText();
-
         String accessTokenHeader = "Bearer " + accessToken;
-
         // create VC 1
         String vcName = "vc-client1";
-        String vcJson =
-                "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                        + ",\"corpusQuery\": \"creationDate since 1820\"}";
+        String vcJson = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"creationDate since 1820\"}";
         createVC(accessTokenHeader, username, vcName, vcJson);
-        
         // create VC 2
         vcName = "vc-client2";
-        vcJson = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"creationDate until 1820\"}";
+        vcJson = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"creationDate until 1820\"}";
         createVC(accessTokenHeader, username, vcName, vcJson);
-
         // edit VC
         String description = "vc created from client";
-        vcJson = "{\"description\": \""+description+"\"}";
+        vcJson = "{\"description\": \"" + description + "\"}";
         editVC(username, username, vcName, vcJson);
-        
         // retrieve vc info
         node = retrieveVCInfo(username, username, vcName);
         assertEquals(description, node.at("/description").asText());
-
         // list vc
         node = listVCWithAuthHeader(accessTokenHeader);
         assertEquals(3, node.size());
-
         // delete vc
         deleteVC(vcName, username, username);
-
         // list vc
         node = listVCWithAuthHeader(accessTokenHeader);
         assertEquals(2, node.size());
-
         // delete client
         deregisterClient(username, clientId);
-
         testSearchWithRevokedAccessToken(accessToken);
-
         // obtain authorization from another client
-        response = requestTokenWithPassword(superClientId,
-                this.clientSecret, username, "pass");
+        response = requestTokenWithPassword(superClientId, this.clientSecret, username, "pass");
         node = JsonUtils.readTree(response.readEntity(String.class));
         accessToken = node.at("/access_token").asText();
-        
         // checking vc should still be available after client deregistration
-        node = listVCWithAuthHeader("Bearer "+accessToken);
+        node = listVCWithAuthHeader("Bearer " + accessToken);
         assertEquals(2, node.size());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerAdminTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerAdminTest.java
index 2408397..e93582f 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerAdminTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerAdminTest.java
@@ -1,6 +1,6 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.client.Entity;
@@ -10,11 +10,9 @@
 import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.http.entity.ContentType;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.constant.ResourceType;
@@ -23,248 +21,139 @@
 
 /**
  * @author margaretha
- *
  */
 public class VirtualCorpusControllerAdminTest extends VirtualCorpusTestBase {
 
     private String admin = "admin";
+
     private String testUser = "VirtualCorpusControllerAdminTest";
 
-    private JsonNode testAdminListVC (String username)
-            throws ProcessingException,
-            KustvaktException {
+    private JsonNode testAdminListVC(String username) throws ProcessingException, KustvaktException {
         Form f = new Form();
         f.param("createdBy", username);
-        
-        Response response = target().path(API_VERSION).path("admin")
-                .path("vc").path("list")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-
+        Response response = target().path(API_VERSION).path("admin").path("vc").path("list").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         return JsonUtils.readTree(entity);
     }
 
-    private JsonNode testAdminListVC_UsingAdminToken (String username, ResourceType type)
-            throws ProcessingException, KustvaktException {
+    private JsonNode testAdminListVC_UsingAdminToken(String username, ResourceType type) throws ProcessingException, KustvaktException {
         Form f = new Form();
         f.param("createdBy", username);
         f.param("type", type.toString());
         f.param("token", "secret");
-        
-        Response response = target().path(API_VERSION).path("admin").path("vc")
-                .path("list").request()
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-
+        Response response = target().path(API_VERSION).path("admin").path("vc").path("list").request().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         return JsonUtils.readTree(entity);
     }
 
     @Test
-    public void testCreateSystemVC () throws KustvaktException {
-        String json = "{\"type\": \"SYSTEM\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"creationDate since 1820\"}";
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~system").path("new-system-vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+    public void testCreateSystemVC() throws KustvaktException {
+        String json = "{\"type\": \"SYSTEM\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"creationDate since 1820\"}";
+        Response response = target().path(API_VERSION).path("vc").path("~system").path("new-system-vc").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
-        JsonNode node = testAdminListVC_UsingAdminToken("system",ResourceType.SYSTEM);
+        JsonNode node = testAdminListVC_UsingAdminToken("system", ResourceType.SYSTEM);
         assertEquals(2, node.size());
-
         testDeleteSystemVC(admin, "new-system-vc");
     }
 
-    private void testDeleteSystemVC (String vcCreator, String vcName)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~system").path(vcName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .delete();
-
+    private void testDeleteSystemVC(String vcCreator, String vcName) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~system").path(vcName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
-        JsonNode node = testAdminListVC_UsingAdminToken("system",ResourceType.SYSTEM);
+        JsonNode node = testAdminListVC_UsingAdminToken("system", ResourceType.SYSTEM);
         assertEquals(1, node.size());
     }
 
     @Test
-    public void testCreatePrivateVC () throws
-            ProcessingException, KustvaktException {
-        String json = "{\"type\": \"PRIVATE\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
-
+    public void testCreatePrivateVC() throws ProcessingException, KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
         String vcName = "new-vc";
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path(vcName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path(vcName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
         JsonNode node = testAdminListVC(testUser);
         assertEquals(1, node.size());
-
         testEditPrivateVC(testUser, vcName);
         testDeletePrivateVC(testUser, vcName);
     }
 
-    
-    private void testEditPrivateVC (String vcCreator, String vcName)
-            throws ProcessingException,
-            KustvaktException {
-
+    private void testEditPrivateVC(String vcCreator, String vcName) throws ProcessingException, KustvaktException {
         String json = "{\"description\": \"edited vc\"}";
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+vcCreator).path(vcName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("vc").path("~" + vcCreator).path(vcName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.NO_CONTENT.getStatusCode(), response.getStatus());
-
         JsonNode node = testAdminListVC(testUser);
-        assertEquals("edited vc", node.at("/0/description").asText());
+        assertEquals(node.at("/0/description").asText(), "edited vc");
     }
 
-    private void testDeletePrivateVC (String vcCreator, String vcName)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+vcCreator).path(vcName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .delete();
-
+    private void testDeletePrivateVC(String vcCreator, String vcName) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~" + vcCreator).path(vcName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = testAdminListVC(vcCreator);
         assertEquals(0, node.size());
     }
 
-//    @Deprecated
-//    private String testlistAccessByVC (String groupName) throws KustvaktException {
-//        Response response = target().path(API_VERSION).path("vc")
-//                .path("access")
-//                .queryParam("groupName", groupName)
-//                .request()
-//                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-//                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-//                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-//                .get();
-//
-//        String entity = response.readEntity(String.class);
-//        JsonNode node = JsonUtils.readTree(entity);
-//        assertEquals(1, node.size());
-//        node = node.get(0);
-//
-//        assertEquals(admin, node.at("/createdBy").asText());
-//        assertEquals(5, node.at("/vcId").asInt());
-//        assertEquals("marlin-vc", node.at("/vcName").asText());
-//        assertEquals(1, node.at("/userGroupId").asInt());
-//        assertEquals("marlin group", node.at("/userGroupName").asText());
-//
-//        return node.at("/accessId").asText();
-//    }
-
-    private JsonNode testlistAccessByGroup (String groupName)
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .path("access")
-                .queryParam("groupName", groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .get();
+    // @Deprecated
+    // private String testlistAccessByVC (String groupName) throws KustvaktException {
+    // Response response = target().path(API_VERSION).path("vc")
+    // .path("access")
+    // .queryParam("groupName", groupName)
+    // .request()
+    // .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
+    // .createBasicAuthorizationHeaderValue(admin, "pass"))
+    // .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
+    // .get();
+    // 
+    // String entity = response.readEntity(String.class);
+    // JsonNode node = JsonUtils.readTree(entity);
+    // assertEquals(1, node.size());
+    // node = node.get(0);
+    // 
+    // assertEquals(admin, node.at("/createdBy").asText());
+    // assertEquals(5, node.at("/vcId").asInt());
+    // assertEquals("marlin-vc", node.at("/vcName").asText());
+    // assertEquals(1, node.at("/userGroupId").asInt());
+    // assertEquals("marlin group", node.at("/userGroupName").asText());
+    // 
+    // return node.at("/accessId").asText();
+    // }
+    private JsonNode testlistAccessByGroup(String groupName) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("access").queryParam("groupName", groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.size());
-        return node.get(node.size()-1);
+        return node.get(node.size() - 1);
     }
 
     @Test
-    public void testVCSharing () throws
-            ProcessingException, KustvaktException {
+    public void testVCSharing() throws ProcessingException, KustvaktException {
         String vcCreator = "marlin";
         String vcName = "marlin-vc";
         String groupName = "marlin-group";
-
-        JsonNode node2 = testAdminListVC_UsingAdminToken(vcCreator,ResourceType.PROJECT);
+        JsonNode node2 = testAdminListVC_UsingAdminToken(vcCreator, ResourceType.PROJECT);
         assertEquals(0, node2.size());
-        
         testCreateVCAccess(vcCreator, vcName, groupName);
         JsonNode node = testlistAccessByGroup(groupName);
-
         String accessId = node.at("/accessId").asText();
         testDeleteVCAccess(accessId);
-
-        node2 = testAdminListVC_UsingAdminToken(vcCreator,ResourceType.PROJECT);
+        node2 = testAdminListVC_UsingAdminToken(vcCreator, ResourceType.PROJECT);
         assertEquals(1, node2.size());
-        
         String json = "{\"type\": \"" + ResourceType.PRIVATE + "\"}";
         editVC(admin, vcCreator, vcName, json);
         node = retrieveVCInfo(admin, vcCreator, vcName);
-        assertEquals(ResourceType.PRIVATE.displayName(),
-                node.at("/type").asText());
-        
-        node2 = testAdminListVC_UsingAdminToken(vcCreator,ResourceType.PROJECT);
+        assertEquals(ResourceType.PRIVATE.displayName(), node.at("/type").asText());
+        node2 = testAdminListVC_UsingAdminToken(vcCreator, ResourceType.PROJECT);
         assertEquals(0, node2.size());
     }
 
-    private void testCreateVCAccess (String vcCreator, String vcName,
-            String groupName) throws
-            ProcessingException, KustvaktException {
+    private void testCreateVCAccess(String vcCreator, String vcName, String groupName) throws ProcessingException, KustvaktException {
         Response response;
         // share VC
-        response = target().path(API_VERSION).path("vc").path("~"+vcCreator)
-                .path(vcName).path("share").path("@"+groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .post(Entity.form(new Form()));
-
+        response = target().path(API_VERSION).path("vc").path("~" + vcCreator).path(vcName).path("share").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).post(Entity.form(new Form()));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
     }
 
-    private void testDeleteVCAccess (String accessId)
-            throws ProcessingException,
-            KustvaktException {
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("access").path(accessId)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .delete();
-
+    private void testDeleteVCAccess(String accessId) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("access").path(accessId).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).delete();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerTest.java
index d930d01..fe45cec 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -14,11 +14,9 @@
 import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.http.entity.ContentType;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.constant.AuthenticationScheme;
@@ -29,138 +27,90 @@
 
 /**
  * @author margaretha
- *
  */
 public class VirtualCorpusControllerTest extends VirtualCorpusTestBase {
 
     private String testUser = "vcControllerTest";
 
     private String authHeader;
-    
-    public VirtualCorpusControllerTest () throws KustvaktException {
-        authHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(testUser, "pass");
+
+    public VirtualCorpusControllerTest() throws KustvaktException {
+        authHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass");
     }
 
     @Test
-    public void testCreatePrivateVC () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
-
-        createVC(authHeader,testUser, "new_vc", json);
-
+    public void testCreatePrivateVC() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
+        createVC(authHeader, testUser, "new_vc", json);
         // list user VC
         JsonNode node = listVC(testUser);
         assertEquals(2, node.size());
-        assertEquals("new_vc", node.get(1).get("name").asText());
-
+        assertEquals(node.get(1).get("name").asText(), "new_vc");
         // delete new VC
         deleteVC("new_vc", testUser, testUser);
-
         // list VC
         node = listVC(testUser);
         assertEquals(1, node.size());
     }
 
     @Test
-    public void testCreatePublishedVC () throws KustvaktException {
-        String json = "{\"type\": \"PUBLISHED\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
-
+    public void testCreatePublishedVC() throws KustvaktException {
+        String json = "{\"type\": \"PUBLISHED\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
         String vcName = "new-published-vc";
         createVC(authHeader, testUser, vcName, json);
-        
         // test list owner vc
         JsonNode node = retrieveVCInfo(testUser, testUser, vcName);
         assertEquals(vcName, node.get("name").asText());
-
         // EM: check hidden access
         node = listAccessByGroup("admin", "");
         node = node.get(node.size() - 1);
-        assertEquals("system", node.at("/createdBy").asText());
+        assertEquals(node.at("/createdBy").asText(), "system");
         assertEquals(vcName, node.at("/queryName").asText());
         assertTrue(node.at("/userGroupName").asText().startsWith("auto"));
         assertEquals(vcName, node.at("/queryName").asText());
-
         String groupName = node.at("/userGroupName").asText();
-
         // EM: check if hidden group has been created
         node = testCheckHiddenGroup(groupName);
-        assertEquals("HIDDEN", node.at("/status").asText());
-
+        assertEquals(node.at("/status").asText(), "HIDDEN");
         // EM: delete vc
         deleteVC(vcName, testUser, testUser);
-
         // EM: check if the hidden groups are deleted as well
         node = testCheckHiddenGroup(groupName);
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Group " + groupName + " is not found",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
+        assertEquals("Group " + groupName + " is not found", node.at("/errors/0/1").asText());
     }
 
-    private JsonNode testCheckHiddenGroup (String groupName)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("admin").path("group").path("@"+groupName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("admin", "pass"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .post(null);
-
+    private JsonNode testCheckHiddenGroup(String groupName) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("admin").path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("admin", "pass")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").post(null);
         String entity = response.readEntity(String.class);
         return JsonUtils.readTree(entity);
     }
 
     @Test
-    public void testCreateVCWithInvalidToken ()
-            throws IOException, KustvaktException {
-        String json = "{\"type\": \"PRIVATE\","
-                + "\"corpusQuery\": \"corpusSigle=GOE\"}";
-
-        InputStream is = getClass().getClassLoader()
-                .getResourceAsStream("test-invalid-signature.token");
-
+    public void testCreateVCWithInvalidToken() throws IOException, KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"," + "\"corpusQuery\": \"corpusSigle=GOE\"}";
+        InputStream is = getClass().getClassLoader().getResourceAsStream("test-invalid-signature.token");
         String authToken;
-        try (BufferedReader reader =
-                new BufferedReader(new InputStreamReader(is));) {
+        try (BufferedReader reader = new BufferedReader(new InputStreamReader(is))) {
             authToken = reader.readLine();
         }
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path("new_vc")
-                .request()
-                .header(Attributes.AUTHORIZATION,
-                        AuthenticationScheme.BEARER.displayName() + " "
-                                + authToken)
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("new_vc").request().header(Attributes.AUTHORIZATION, AuthenticationScheme.BEARER.displayName() + " " + authToken).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         String entity = response.readEntity(String.class);
-
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Access token is invalid",
-                node.at("/errors/0/1").asText());
-
+        assertEquals(StatusCodes.INVALID_ACCESS_TOKEN, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Access token is invalid");
         checkWWWAuthenticateHeader(response);
     }
 
     @Test
-    public void testCreateVCWithExpiredToken ()
-            throws IOException, KustvaktException {
+    public void testCreateVCWithExpiredToken() throws IOException, KustvaktException {
         String json = "{\"type\": \"PRIVATE\","
                 + "\"corpusQuery\": \"corpusSigle=GOE\"}";
 
-        String authToken = "fia0123ikBWn931470H8s5gRqx7Moc4p";
-
+        //String authToken = "fia0123ikBWn931470H8s5gRqx7Moc4p";
+        String authToken = createExpiredAccessToken();
+        
         Response response = target().path(API_VERSION).path("vc")
                 .path("~marlin").path("new_vc")
                 .request()
@@ -171,334 +121,192 @@
                 .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
                 .put(Entity.json(json));
 
+
         String entity = response.readEntity(String.class);
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.EXPIRED, node.at("/errors/0/0").asInt());
-        assertEquals("Access token is expired",
-                node.at("/errors/0/1").asText());
-
+        assertEquals(node.at("/errors/0/1").asText(), "Access token is expired");
         checkWWWAuthenticateHeader(response);
     }
 
     @Test
-    public void testCreateSystemVC () throws KustvaktException {
-        String json = "{\"type\": \"SYSTEM\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"pubDate since 1820\"}";
-
+    public void testCreateSystemVC() throws KustvaktException {
+        String json = "{\"type\": \"SYSTEM\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"pubDate since 1820\"}";
         String vcName = "new_system_vc";
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~system").path(vcName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("admin", "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("vc").path("~system").path(vcName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("admin", "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-        
         JsonNode node = listSystemVC("pearl");
         assertEquals(2, node.size());
-        assertEquals(ResourceType.SYSTEM.displayName(),
-                node.at("/0/type").asText());
-        assertEquals(ResourceType.SYSTEM.displayName(),
-                node.at("/1/type").asText());
-        
-        deleteVC(vcName, "system","admin");
-        
+        assertEquals(ResourceType.SYSTEM.displayName(), node.at("/0/type").asText());
+        assertEquals(ResourceType.SYSTEM.displayName(), node.at("/1/type").asText());
+        deleteVC(vcName, "system", "admin");
         node = listSystemVC("pearl");
         assertEquals(1, node.size());
-    }        
-    
-    @Test
-    public void testCreateSystemVC_unauthorized () throws KustvaktException {
-        String json = "{\"type\": \"SYSTEM\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"creationDate since 1820\"}";
-        
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path("new_vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
+    }
 
+    @Test
+    public void testCreateSystemVC_unauthorized() throws KustvaktException {
+        String json = "{\"type\": \"SYSTEM\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"creationDate since 1820\"}";
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("new_vc").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         testResponseUnauthorized(response, testUser);
     }
 
     @Test
-    public void testCreateVC_invalidName () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"creationDate since 1820\"}";
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path("new $vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
+    public void testCreateVC_invalidName() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"creationDate since 1820\"}";
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("new $vc").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         String entity = response.readEntity(String.class);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
-    }
-
-    
-    @Test
-    public void testCreateVC_nameTooShort () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"creationDate since 1820\"}";
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path("ne")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-        String entity = response.readEntity(String.class);
-        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
-        JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
-        assertEquals("queryName must contain at least 3 characters",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testCreateVC_unauthorized () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\","
-                + "\"corpusQuery\": \"creationDate since 1820\"}";
+    public void testCreateVC_nameTooShort() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"creationDate since 1820\"}";
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("ne").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
+        String entity = response.readEntity(String.class);
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "queryName must contain at least 3 characters");
+    }
 
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path("new_vc")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+    @Test
+    public void testCreateVC_unauthorized() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"," + "\"corpusQuery\": \"creationDate since 1820\"}";
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("new_vc").request().header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: guest",
-                node.at("/errors/0/1").asText());
-
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Unauthorized operation for user: guest");
         checkWWWAuthenticateHeader(response);
     }
 
     @Test
-    public void testCreateVC_withoutCorpusQuery () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + "}";
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path("new_vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
+    public void testCreateVC_withoutCorpusQuery() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + "}";
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("new_vc").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
-        assertEquals("corpusQuery is null", node.at("/errors/0/1").asText());
-        assertEquals("corpusQuery", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "corpusQuery is null");
+        assertEquals(node.at("/errors/0/2").asText(), "corpusQuery");
     }
 
     @Test
-    public void testCreateVC_withoutEntity () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path("new_vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(""));
+    public void testCreateVC_withoutEntity() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("new_vc").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(""));
         String entity = response.readEntity(String.class);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
-        assertEquals("request entity is null", node.at("/errors/0/1").asText());
-        assertEquals("request entity", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "request entity is null");
+        assertEquals(node.at("/errors/0/2").asText(), "request entity");
     }
 
     @Test
-    public void testCreateVC_withoutType () throws KustvaktException {
-        String json = "{\"corpusQuery\": " + "\"creationDate since 1820\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + "}";
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path("new_vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
+    public void testCreateVC_withoutType() throws KustvaktException {
+        String json = "{\"corpusQuery\": " + "\"creationDate since 1820\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + "}";
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("new_vc").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         String entity = response.readEntity(String.class);
         // System.out.println(entity);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.INVALID_ARGUMENT,
-                node.at("/errors/0/0").asInt());
-        assertEquals("type is null", node.at("/errors/0/1").asText());
-        assertEquals("type", node.at("/errors/0/2").asText());
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "type is null");
+        assertEquals(node.at("/errors/0/2").asText(), "type");
     }
 
     @Test
-    public void testCreateVC_withWrongType () throws KustvaktException {
-        String json = "{\"type\": \"PRIVAT\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"creationDate since 1820\"}";
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~"+testUser).path("new_vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+    public void testCreateVC_withWrongType() throws KustvaktException {
+        String json = "{\"type\": \"PRIVAT\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"creationDate since 1820\"}";
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("new_vc").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         String entity = response.readEntity(String.class);
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertTrue(node.at("/errors/0/1").asText().startsWith(
-                "Cannot deserialize value of type `de.ids_mannheim.korap.constant."
-                        + "ResourceType` from String \"PRIVAT\""));
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertTrue(node.at("/errors/0/1").asText().startsWith("Cannot deserialize value of type `de.ids_mannheim.korap.constant." + "ResourceType` from String \"PRIVAT\""));
     }
-    
-    @Test
-    public void testMaxNumberOfVC () throws KustvaktException {
-        String json = "{\"type\": \"PRIVATE\""
-                + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
 
-        for (int i=1; i<6; i++) {
-            createVC(authHeader,testUser, "new_vc_"+i, json);
+    @Test
+    public void testMaxNumberOfVC() throws KustvaktException {
+        String json = "{\"type\": \"PRIVATE\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
+        for (int i = 1; i < 6; i++) {
+            createVC(authHeader, testUser, "new_vc_" + i, json);
         }
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~" + testUser).path("new_vc_6").request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
-
+        Response response = target().path(API_VERSION).path("vc").path("~" + testUser).path("new_vc_6").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-        
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        
-        assertEquals(StatusCodes.NOT_ALLOWED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Cannot create virtual corpus. The maximum number of "
-                + "virtual corpus has been reached.",
-                node.at("/errors/0/1").asText());
-
+        assertEquals(StatusCodes.NOT_ALLOWED, node.at("/errors/0/0").asInt());
+        assertEquals("Cannot create virtual corpus. The maximum number of " + "virtual corpus has been reached.", node.at("/errors/0/1").asText());
         // list user VC
         node = listVC(testUser);
-        assertEquals(6, node.size()); // including 1 system-vc
-
+        // including 1 system-vc
+        assertEquals(6, node.size());
         // delete new VC
-        for (int i=1; i<6; i++) {
-            deleteVC("new_vc_"+i, testUser, testUser);
+        for (int i = 1; i < 6; i++) {
+            deleteVC("new_vc_" + i, testUser, testUser);
         }
-
         // list VC
         node = listVC(testUser);
-        assertEquals(1, node.size()); // system-vc
+        // system-vc
+        assertEquals(1, node.size());
     }
 
     @Test
-    public void testDeleteVC_unauthorized () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~dory").path("dory-vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .delete();
-
-        testResponseUnauthorized(response, testUser);    
+    public void testDeleteVC_unauthorized() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~dory").path("dory-vc").request().header(Attributes.AUTHORIZATION, authHeader).delete();
+        testResponseUnauthorized(response, testUser);
     }
 
     @Test
-    public void testEditVC () throws KustvaktException {
+    public void testEditVC() throws KustvaktException {
         // 1st edit
         String json = "{\"description\": \"edited vc\"}";
         editVC("dory", "dory", "dory-vc", json);
-        
         // check VC
         JsonNode node = retrieveVCInfo("dory", "dory", "dory-vc");
-        assertEquals("edited vc", node.at("/description").asText());
-
+        assertEquals(node.at("/description").asText(), "edited vc");
         // 2nd edit
         json = "{\"description\": \"test vc\"}";
         editVC("dory", "dory", "dory-vc", json);
-        
         // check VC
         node = retrieveVCInfo("dory", "dory", "dory-vc");
-        assertEquals("test vc", node.at("/description").asText());
+        assertEquals(node.at("/description").asText(), "test vc");
     }
-    
-    @Test
-    public void testEditVCName () throws KustvaktException {
-        String json = "{\"name\": \"new-name\"}";
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~dory").path("dory-vc").request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
 
+    @Test
+    public void testEditVCName() throws KustvaktException {
+        String json = "{\"name\": \"new-name\"}";
+        Response response = target().path(API_VERSION).path("vc").path("~dory").path("dory-vc").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-        
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testEditCorpusQuery () throws
-            ProcessingException, KustvaktException {
+    public void testEditCorpusQuery() throws ProcessingException, KustvaktException {
         JsonNode node = testRetrieveKoralQuery("dory", "dory-vc");
-        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
-        assertEquals("operation:and", node.at("/collection/operation").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/collection/operation").asText(), "operation:and");
         assertEquals(2, node.at("/collection/operands").size());
-        
         String json = "{\"corpusQuery\": \"corpusSigle=WPD17\"}";
         editVC("dory", "dory", "dory-vc", json);
-
         node = testRetrieveKoralQuery("dory", "dory-vc");
-        assertEquals("koral:doc", node.at("/collection/@type").asText());
-        assertEquals("corpusSigle", node.at("/collection/key").asText());
-        assertEquals("WPD17", node.at("/collection/value").asText());
+        assertEquals(node.at("/collection/@type").asText(), "koral:doc");
+        assertEquals(node.at("/collection/key").asText(), "corpusSigle");
+        assertEquals(node.at("/collection/value").asText(), "WPD17");
     }
-    
-    private JsonNode testRetrieveKoralQuery (String username, String vcName)
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .path("koralQuery").path("~" + username).path(vcName)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .get();
-        
+
+    private JsonNode testRetrieveKoralQuery(String username, String vcName) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("koralQuery").path("~" + username).path(vcName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
@@ -506,64 +314,42 @@
     }
 
     @Test
-    public void testEditVC_notOwner () throws KustvaktException {
+    public void testEditVC_notOwner() throws KustvaktException {
         String json = "{\"description\": \"edited vc\"}";
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~dory").path("dory-vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, authHeader)
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .put(Entity.json(json));
+        Response response = target().path(API_VERSION).path("vc").path("~dory").path("dory-vc").request().header(Attributes.AUTHORIZATION, authHeader).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).put(Entity.json(json));
         String entity = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: " + testUser,
-                node.at("/errors/0/1").asText());
-
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals("Unauthorized operation for user: " + testUser, node.at("/errors/0/1").asText());
         checkWWWAuthenticateHeader(response);
     }
 
     @Test
-    public void testPublishProjectVC () throws KustvaktException {
-
+    public void testPublishProjectVC() throws KustvaktException {
         String vcName = "group-vc";
-
         // check the vc type
         JsonNode node = retrieveVCInfo("dory", "dory", vcName);
-        assertEquals(ResourceType.PROJECT.displayName(),
-                node.get("type").asText());
-
+        assertEquals(ResourceType.PROJECT.displayName(), node.get("type").asText());
         // edit vc
         String json = "{\"type\": \"PUBLISHED\"}";
         editVC("dory", "dory", vcName, json);
-
         // check VC
         node = testListOwnerVC("dory");
         JsonNode n = node.get(1);
-        assertEquals(ResourceType.PUBLISHED.displayName(),
-                n.get("type").asText());
-
+        assertEquals(ResourceType.PUBLISHED.displayName(), n.get("type").asText());
         // check hidden VC access
         node = listAccessByGroup("admin", "");
         assertEquals(4, node.size());
         node = node.get(node.size() - 1);
         assertEquals(vcName, node.at("/queryName").asText());
-        assertEquals("system", node.at("/createdBy").asText());
+        assertEquals(node.at("/createdBy").asText(), "system");
         assertTrue(node.at("/userGroupName").asText().startsWith("auto"));
-
         // edit 2nd
         json = "{\"type\": \"PROJECT\"}";
         editVC("dory", "dory", vcName, json);
-
         node = testListOwnerVC("dory");
-        assertEquals(ResourceType.PROJECT.displayName(),
-                node.get(1).get("type").asText());
-
+        assertEquals(ResourceType.PROJECT.displayName(), node.get(1).get("type").asText());
         // check VC access
         node = listAccessByGroup("admin", "");
         assertEquals(3, node.size());
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusFieldTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusFieldTest.java
index 1b66458..1e06bd3 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusFieldTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusFieldTest.java
@@ -1,13 +1,12 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.IOException;
 
 import org.apache.http.entity.ContentType;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 import jakarta.ws.rs.ProcessingException;
@@ -29,46 +28,27 @@
 
     @Autowired
     private NamedVCLoader vcLoader;
+
     @Autowired
     private QueryDao dao;
 
-    private JsonNode testRetrieveField (String username, String vcName,
-            String field) throws
-            ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .path("field").path("~" + username).path(vcName)
-                .queryParam("fieldName", field)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("admin", "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .get();
-
+    private JsonNode testRetrieveField(String username, String vcName, String field) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("field").path("~" + username).path(vcName).queryParam("fieldName", field).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("admin", "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         return node;
     }
 
-    private void testRetrieveProhibitedField (String username, String vcName,
-            String field) throws
-            ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .path("field").path("~" + username).path(vcName)
-                .queryParam("fieldName", field)
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("admin", "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .get();
-
+    private void testRetrieveProhibitedField(String username, String vcName, String field) throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("field").path("~" + username).path(vcName).queryParam("fieldName", field).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("admin", "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).get();
         assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.NOT_ALLOWED, node.at("/errors/0/0").asInt());
     }
-    
-    private void deleteVcFromDB (String vcName) throws KustvaktException {
+
+    private void deleteVcFromDB(String vcName) throws KustvaktException {
         QueryDO vc = dao.retrieveQueryByName(vcName, "system");
         dao.deleteQuery(vc);
         vc = dao.retrieveQueryByName(vcName, "system");
@@ -76,44 +56,31 @@
     }
 
     @Test
-    public void testRetrieveFieldsNamedVC1 ()
-            throws IOException, QueryException, KustvaktException {
-
+    public void testRetrieveFieldsNamedVC1() throws IOException, QueryException, KustvaktException {
         vcLoader.loadVCToCache("named-vc1", "/vc/named-vc1.jsonld");
-
         JsonNode n = testRetrieveField("system", "named-vc1", "textSigle");
-        assertEquals(
-                "http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld",
-                n.at("/@context").asText());
-        assertEquals("textSigle", n.at("/corpus/key").asText());
+        assertEquals(n.at("/@context").asText(), "http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld");
+        assertEquals(n.at("/corpus/key").asText(), "textSigle");
         assertEquals(2, n.at("/corpus/value").size());
-
         n = testRetrieveField("system", "named-vc1", "author");
         assertEquals(2, n.at("/corpus/value").size());
-        assertEquals("Goethe, Johann Wolfgang von",
-                n.at("/corpus/value/0").asText());
-
+        assertEquals(n.at("/corpus/value/0").asText(), "Goethe, Johann Wolfgang von");
         testRetrieveUnknownTokens();
         testRetrieveProhibitedField("system", "named-vc1", "tokens");
         testRetrieveProhibitedField("system", "named-vc1", "base");
-
         VirtualCorpusCache.delete("named-vc1");
-        
         deleteVcFromDB("named-vc1");
     }
 
-    private void testRetrieveUnknownTokens () throws
-            ProcessingException, KustvaktException {
+    private void testRetrieveUnknownTokens() throws ProcessingException, KustvaktException {
         JsonNode n = testRetrieveField("system", "named-vc1", "unknown");
-        assertEquals("unknown", n.at("/corpus/key").asText());
+        assertEquals(n.at("/corpus/key").asText(), "unknown");
         assertEquals(0, n.at("/corpus/value").size());
     }
 
     @Test
-    public void testRetrieveTextSigleNamedVC2 ()
-            throws IOException, QueryException, KustvaktException {
+    public void testRetrieveTextSigleNamedVC2() throws IOException, QueryException, KustvaktException {
         vcLoader.loadVCToCache("named-vc2", "/vc/named-vc2.jsonld");
-
         JsonNode n = testRetrieveField("system", "named-vc2", "textSigle");
         assertEquals(2, n.at("/corpus/value").size());
         VirtualCorpusCache.delete("named-vc2");
@@ -121,39 +88,25 @@
     }
 
     @Test
-    public void testRetrieveTextSigleNamedVC3 ()
-            throws IOException, QueryException, KustvaktException {
+    public void testRetrieveTextSigleNamedVC3() throws IOException, QueryException, KustvaktException {
         vcLoader.loadVCToCache("named-vc3", "/vc/named-vc3.jsonld");
-
         JsonNode n = testRetrieveField("system", "named-vc3", "textSigle");
         n = n.at("/corpus/value");
         assertEquals(1, n.size());
-        assertEquals("GOE/AGI/00000", n.get(0).asText());
-
+        assertEquals(n.get(0).asText(), "GOE/AGI/00000");
         VirtualCorpusCache.delete("named-vc3");
         deleteVcFromDB("named-vc3");
     }
-    
-    @Test
-    public void testRetrieveFieldUnauthorized () throws KustvaktException, IOException, QueryException {
-        vcLoader.loadVCToCache("named-vc3", "/vc/named-vc3.jsonld");
-        
-        Response response = target().path(API_VERSION).path("vc")
-                .path("field").path("~system").path("named-vc3")
-                .queryParam("fieldName", "textSigle")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
-                .get();
 
+    @Test
+    public void testRetrieveFieldUnauthorized() throws KustvaktException, IOException, QueryException {
+        vcLoader.loadVCToCache("named-vc3", "/vc/named-vc3.jsonld");
+        Response response = target().path(API_VERSION).path("vc").path("field").path("~system").path("named-vc3").queryParam("fieldName", "textSigle").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON).get();
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: dory", node.at("/errors/0/1").asText());
-        
-        
+        assertEquals(node.at("/errors/0/1").asText(), "Unauthorized operation for user: dory");
         VirtualCorpusCache.delete("named-vc3");
         deleteVcFromDB("named-vc3");
     }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusInfoTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusInfoTest.java
index 2ab6763..168edbb 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusInfoTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusInfoTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.client.Entity;
@@ -10,11 +10,9 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.constant.ResourceType;
@@ -24,116 +22,68 @@
 public class VirtualCorpusInfoTest extends VirtualCorpusTestBase {
 
     private String admin = "admin";
-    private String testUser = "VirtualCorpusInfoTest";
-    
-    
-    @Test
-    public void testRetrieveSystemVC() throws
-            ProcessingException, KustvaktException {
 
+    private String testUser = "VirtualCorpusInfoTest";
+
+    @Test
+    public void testRetrieveSystemVC() throws ProcessingException, KustvaktException {
         JsonNode node = retrieveVCInfo(testUser, "system", "system-vc");
-        assertEquals("system-vc", node.at("/name").asText());
-        assertEquals(ResourceType.SYSTEM.displayName(),
-                node.at("/type").asText());
-//        assertEquals("koral:doc", node.at("/koralQuery/collection/@type").asText());
+        assertEquals(node.at("/name").asText(), "system-vc");
+        assertEquals(ResourceType.SYSTEM.displayName(), node.at("/type").asText());
+        // assertEquals("koral:doc", node.at("/koralQuery/collection/@type").asText());
         assertTrue(node.at("/query").isMissingNode());
         assertTrue(node.at("/queryLanguage").isMissingNode());
     }
 
     @Test
-    public void testRetrieveSystemVCGuest () throws
-            ProcessingException, KustvaktException {
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~system").path("system-vc")
-                .request()
-                .get();
+    public void testRetrieveSystemVCGuest() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~system").path("system-vc").request().get();
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals("system-vc", node.at("/name").asText());
-        assertEquals(ResourceType.SYSTEM.displayName(),
-                node.at("/type").asText());
+        assertEquals(node.at("/name").asText(), "system-vc");
+        assertEquals(ResourceType.SYSTEM.displayName(), node.at("/type").asText());
     }
 
     @Test
-    public void testRetrieveOwnerPrivateVC()
-            throws ProcessingException,
-            KustvaktException {
-
+    public void testRetrieveOwnerPrivateVC() throws ProcessingException, KustvaktException {
         JsonNode node = retrieveVCInfo("dory", "dory", "dory-vc");
-        assertEquals("dory-vc", node.at("/name").asText());
-        assertEquals(ResourceType.PRIVATE.displayName(),
-                node.at("/type").asText());
+        assertEquals(node.at("/name").asText(), "dory-vc");
+        assertEquals(ResourceType.PRIVATE.displayName(), node.at("/type").asText());
     }
 
     @Test
-    public void testRetrievePrivateVCUnauthorized ()
-            throws ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("vc").path("~dory")
-                .path("dory-vc").request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .get();
+    public void testRetrievePrivateVCUnauthorized() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~dory").path("dory-vc").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).get();
         testResponseUnauthorized(response, testUser);
     }
 
     @Test
-    public void testRetrieveProjectVC() throws
-            ProcessingException, KustvaktException {
-
+    public void testRetrieveProjectVC() throws ProcessingException, KustvaktException {
         JsonNode node = retrieveVCInfo("nemo", "dory", "group-vc");
-        assertEquals("group-vc", node.at("/name").asText());
-        assertEquals(ResourceType.PROJECT.displayName(),
-                node.at("/type").asText());
+        assertEquals(node.at("/name").asText(), "group-vc");
+        assertEquals(ResourceType.PROJECT.displayName(), node.at("/type").asText());
     }
-    
-    @Test
-    public void testRetrieveProjectVCUnauthorized () throws
-            ProcessingException, KustvaktException {
 
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~dory").path("group-vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(testUser, "pass"))
-                .get();
+    @Test
+    public void testRetrieveProjectVCUnauthorized() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~dory").path("group-vc").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass")).get();
         testResponseUnauthorized(response, testUser);
     }
 
-
     @Test
-    public void testRetrieveProjectVCbyNonActiveMember ()
-            throws ProcessingException,
-            KustvaktException {
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~dory").path("group-vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("marlin", "pass"))
-                .get();
+    public void testRetrieveProjectVCbyNonActiveMember() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~dory").path("group-vc").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("marlin", "pass")).get();
         testResponseUnauthorized(response, "marlin");
     }
 
     @Test
-    public void testRetrievePublishedVC () throws
-            ProcessingException, KustvaktException {
-
+    public void testRetrievePublishedVC() throws ProcessingException, KustvaktException {
         JsonNode node = retrieveVCInfo("gill", "marlin", "published-vc");
-        assertEquals("published-vc", node.at("/name").asText());
-        assertEquals(ResourceType.PUBLISHED.displayName(),
-                node.at("/type").asText());
-
+        assertEquals(node.at("/name").asText(), "published-vc");
+        assertEquals(ResourceType.PUBLISHED.displayName(), node.at("/type").asText());
         Form f = new Form();
         f.param("status", "HIDDEN");
         // check gill in the hidden group of the vc
-        Response response = target().path(API_VERSION)
-                .path("admin").path("group").path("list")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("admin", "pass"))
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED)
-                .post(Entity.form(f));
-
+        Response response = target().path(API_VERSION).path("admin").path("group").path("list").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("admin", "pass")).header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED).post(Entity.form(f));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
@@ -141,45 +91,24 @@
         String members = node.at("/0/members").toString();
         assertTrue(members.contains("\"userId\":\"gill\""));
     }
-    
+
     @Test
-    public void testAdminRetrievePrivateVC () throws
-            ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~dory").path("dory-vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .get();
-
+    public void testAdminRetrievePrivateVC() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~dory").path("dory-vc").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(1, node.at("/id").asInt());
-        assertEquals("dory-vc", node.at("/name").asText());
+        assertEquals(node.at("/name").asText(), "dory-vc");
     }
+
     @Test
-    public void testAdminRetrieveProjectVC () throws
-            ProcessingException, KustvaktException {
-
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~dory").path("group-vc")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(admin, "pass"))
-                .get();
+    public void testAdminRetrieveProjectVC() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~dory").path("group-vc").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(admin, "pass")).get();
         String entity = response.readEntity(String.class);
-
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals("group-vc", node.at("/name").asText());
-        assertEquals(ResourceType.PROJECT.displayName(),
-                node.at("/type").asText());
+        assertEquals(node.at("/name").asText(), "group-vc");
+        assertEquals(ResourceType.PROJECT.displayName(), node.at("/type").asText());
     }
-
-    
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusListTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusListTest.java
index 5b1e43c..df1ac17 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusListTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusListTest.java
@@ -1,17 +1,15 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Ignore;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -21,84 +19,56 @@
 public class VirtualCorpusListTest extends VirtualCorpusTestBase {
 
     @Test
-    public void testListVCNemo ()
-            throws ProcessingException, KustvaktException {
-        
+    public void testListVCNemo() throws ProcessingException, KustvaktException {
         JsonNode node = testListOwnerVC("nemo");
         assertEquals(1, node.size());
-        
         node = listSystemVC("nemo");
         assertEquals(1, node.size());
-        
         node = listVC("nemo");
         assertEquals(3, node.size());
     }
 
     @Test
-    public void testListVCPearl ()
-            throws ProcessingException, KustvaktException {
+    public void testListVCPearl() throws ProcessingException, KustvaktException {
         JsonNode node = testListOwnerVC("pearl");
         assertEquals(0, node.size());
-        
         node = listVC("pearl");
-        assertEquals(2, node.size());        
+        assertEquals(2, node.size());
     }
 
     @Test
-    public void testListVCDory ()
-            throws ProcessingException, KustvaktException {
+    public void testListVCDory() throws ProcessingException, KustvaktException {
         JsonNode node = testListOwnerVC("dory");
         assertEquals(2, node.size());
-        
         node = listVC("dory");
         assertEquals(4, node.size());
     }
-    
 
     @Test
-    public void testListAvailableVCGuest ()
-            throws ProcessingException, KustvaktException {
-        Response response =
-                target().path(API_VERSION).path("vc").request().get();
+    public void testListAvailableVCGuest() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").request().get();
         testResponseUnauthorized(response, "guest");
     }
 
-    @Ignore
+    @Disabled
     @Deprecated
     @Test
-    public void testListAvailableVCByOtherUser ()
-            throws ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("vc").path("~dory")
-                .request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("pearl", "pass"))
-                .get();
+    public void testListAvailableVCByOtherUser() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").path("~dory").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("pearl", "pass")).get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-        assertEquals(StatusCodes.AUTHORIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Unauthorized operation for user: pearl",
-                node.at("/errors/0/1").asText());
-
+        assertEquals(StatusCodes.AUTHORIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Unauthorized operation for user: pearl");
         checkWWWAuthenticateHeader(response);
     }
-    
-    @Ignore
+
+    @Disabled
     @Deprecated
     @Test
-    public void testListUserVC () throws
-            ProcessingException, KustvaktException {
-        Response response = target().path(API_VERSION).path("vc")
-                .queryParam("username", "dory")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("admin", "pass"))
-                .get();
-
+    public void testListUserVC() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("vc").queryParam("username", "dory").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("admin", "pass")).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(4, node.size());
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusSharingTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusSharingTest.java
index b41698a..288c9e3 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusSharingTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusSharingTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.client.Entity;
@@ -10,10 +10,8 @@
 import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.http.HttpStatus;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.constant.GroupMemberStatus;
@@ -23,212 +21,129 @@
 import de.ids_mannheim.korap.utils.JsonUtils;
 
 public class VirtualCorpusSharingTest extends VirtualCorpusTestBase {
+
     private String testUser = "VirtualCorpusSharingTest";
 
     @Test
-    public void testShareUnknownVC () throws
-            ProcessingException, KustvaktException {
-        Response response = testShareVCByCreator("marlin",
-                "non-existing-vc", "marlin group");
+    public void testShareUnknownVC() throws ProcessingException, KustvaktException {
+        Response response = testShareVCByCreator("marlin", "non-existing-vc", "marlin group");
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(HttpStatus.SC_NOT_FOUND, response.getStatus());
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testShareUnknownGroup () throws
-            ProcessingException, KustvaktException {
-        Response response = testShareVCByCreator("marlin", "marlin-vc",
-                "non-existing-group");
+    public void testShareUnknownGroup() throws ProcessingException, KustvaktException {
+        Response response = testShareVCByCreator("marlin", "marlin-vc", "non-existing-group");
         JsonNode node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(HttpStatus.SC_NOT_FOUND, response.getStatus());
-        assertEquals(StatusCodes.NO_RESOURCE_FOUND,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testShareVC_notOwner () throws
-            ProcessingException, KustvaktException {
-
+    public void testShareVC_notOwner() throws ProcessingException, KustvaktException {
         // dory is VCA in marlin group
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~marlin").path("marlin-vc").path("share")
-                .path("@marlin group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("dory", "pass"))
-                .post(Entity.form(new Form()));
-
+        Response response = target().path(API_VERSION).path("vc").path("~marlin").path("marlin-vc").path("share").path("@marlin group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("dory", "pass")).post(Entity.form(new Form()));
         testResponseUnauthorized(response, "dory");
     }
-    
+
     @Test
-    public void testShareVC_byMember () throws
-            ProcessingException, KustvaktException {
-
+    public void testShareVC_byMember() throws ProcessingException, KustvaktException {
         // nemo is not VCA in marlin group
-        Response response = target().path(API_VERSION).path("vc")
-                .path("~nemo").path("nemo-vc").path("share").path("@marlin-group")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("nemo", "pass"))
-                .post(Entity.form(new Form()));
-
+        Response response = target().path(API_VERSION).path("vc").path("~nemo").path("nemo-vc").path("share").path("@marlin-group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("nemo", "pass")).post(Entity.form(new Form()));
         testResponseUnauthorized(response, "nemo");
     }
-    
+
     @Test
-    public void testCreateShareProjectVC () throws KustvaktException {
-        String json =
-                "{\"type\": \"PROJECT\"" + ",\"queryType\": \"VIRTUAL_CORPUS\""
-                        + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
+    public void testCreateShareProjectVC() throws KustvaktException {
+        String json = "{\"type\": \"PROJECT\"" + ",\"queryType\": \"VIRTUAL_CORPUS\"" + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
         String vcName = "new_project_vc";
-        String authHeader = HttpAuthorizationHandler
-                .createBasicAuthorizationHeaderValue(testUser, "pass");
-
+        String authHeader = HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(testUser, "pass");
         createVC(authHeader, testUser, vcName, json);
-
         // retrieve vc info
         JsonNode vcInfo = retrieveVCInfo(testUser, testUser, vcName);
         assertEquals(vcName, vcInfo.get("name").asText());
-
         // list user VC
         JsonNode node = listVC(testUser);
         assertEquals(2, node.size());
         assertEquals(vcName, node.get(1).get("name").asText());
-
         // search by non member
         Response response = searchWithVCRef("dory", testUser, vcName);
         assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
         // create user group
         String groupName = "owidGroup";
         String memberName = "darla";
-
         response = createUserGroup(testUser, groupName, "Owid users");
         assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
-
         listUserGroup(testUser, groupName);
         testInviteMember(testUser, groupName, "darla");
         subscribeToGroup(memberName, groupName);
         checkMemberInGroup(memberName, testUser, groupName);
-
         // share vc to group
         testShareVCByCreator(testUser, vcName, groupName);
         node = listAccessByGroup(testUser, groupName);
-
         // search by member
         response = searchWithVCRef(memberName, testUser, vcName);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         node = JsonUtils.readTree(response.readEntity(String.class));
         assertTrue(node.at("/matches").size() > 0);
-
         // delete project VC
         deleteVC(vcName, testUser, testUser);
-
         // list VC
         node = listVC(testUser);
         assertEquals(1, node.size());
-
         // search by member
         response = searchWithVCRef(memberName, testUser, vcName);
         assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus());
         node = JsonUtils.readTree(response.readEntity(String.class));
         assertEquals(StatusCodes.NO_RESOURCE_FOUND, node.at("/errors/0/0").asInt());
-        
     }
 
-    private Response createUserGroup (String username, String groupName,
-            String description) throws ProcessingException, KustvaktException {
+    private Response createUserGroup(String username, String groupName, String description) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("description", description);
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName).request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .put(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).put(Entity.form(form));
         return response;
     }
 
-    private JsonNode listUserGroup (String username, String groupName)
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group").request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .get();
-
+    private JsonNode listUserGroup(String username, String groupName) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         return node;
     }
 
-    private void testInviteMember (String username, String groupName,
-            String memberName) throws ProcessingException, KustvaktException {
+    private void testInviteMember(String username, String groupName, String memberName) throws ProcessingException, KustvaktException {
         Form form = new Form();
         form.param("members", memberName);
-
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName).path("invite").request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("invite").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).post(Entity.form(form));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         // list group
         JsonNode node = listUserGroup(username, groupName);
         node = node.get(0);
         assertEquals(2, node.get("members").size());
-
         assertEquals(memberName, node.at("/members/1/userId").asText());
-        assertEquals(GroupMemberStatus.PENDING.name(),
-                node.at("/members/1/status").asText());
+        assertEquals(GroupMemberStatus.PENDING.name(), node.at("/members/1/status").asText());
         assertEquals(0, node.at("/members/1/roles").size());
     }
 
-    private void subscribeToGroup (String username, String groupName)
-            throws KustvaktException {
-        Response response = target().path(API_VERSION).path("group")
-                .path("@" + groupName).path("subscribe").request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .post(Entity.form(new Form()));
-
+    private void subscribeToGroup(String username, String groupName) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("group").path("@" + groupName).path("subscribe").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).post(Entity.form(new Form()));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
 
-    private void checkMemberInGroup (String memberName, String testUser,
-            String groupName) throws KustvaktException {
-
+    private void checkMemberInGroup(String memberName, String testUser, String groupName) throws KustvaktException {
         JsonNode node = listUserGroup(testUser, groupName).get(0);
         assertEquals(2, node.get("members").size());
-
         assertEquals(memberName, node.at("/members/1/userId").asText());
-        assertEquals(GroupMemberStatus.ACTIVE.name(),
-                node.at("/members/1/status").asText());
-        assertEquals(PredefinedRole.VC_ACCESS_MEMBER.name(),
-                node.at("/members/1/roles/1").asText());
-        assertEquals(PredefinedRole.USER_GROUP_MEMBER.name(),
-                node.at("/members/1/roles/0").asText());
+        assertEquals(GroupMemberStatus.ACTIVE.name(), node.at("/members/1/status").asText());
+        assertEquals(PredefinedRole.VC_ACCESS_MEMBER.name(), node.at("/members/1/roles/1").asText());
+        assertEquals(PredefinedRole.USER_GROUP_MEMBER.name(), node.at("/members/1/roles/0").asText());
     }
 
-    private Response searchWithVCRef (String username, String vcCreator,
-            String vcName) throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("cq",
-                        "referTo \"" + vcCreator + "/" + vcName + "\"")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue(username, "pass"))
-                .get();
-
+    private Response searchWithVCRef(String username, String vcCreator, String vcName) throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("cq", "referTo \"" + vcCreator + "/" + vcName + "\"").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue(username, "pass")).get();
         return response;
     }
-
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusTestBase.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusTestBase.java
index bb24e08..7293e04 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusTestBase.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusTestBase.java
@@ -3,7 +3,7 @@
 import static org.hamcrest.CoreMatchers.hasItem;
 import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.List;
 import java.util.Map.Entry;
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java
index 1ad0466..f8b2b1d 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java
@@ -1,10 +1,9 @@
 package de.ids_mannheim.korap.web.lite;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 
 import jakarta.ws.rs.core.Response;
@@ -24,27 +23,17 @@
 
     @Autowired
     private SearchKrill krill;
-    
+
     @Test
-    public void testInfo () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("info")
-                .request()
-                .get();
-
+    public void testInfo() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("info").request().get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
-
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(config.getCurrentVersion(),
-                node.at("/latest_api_version").asText());
-        assertEquals(config.getSupportedVersions().size(),
-                node.at("/supported_api_versions").size());
-
-        assertEquals(ServiceInfo.getInfo().getVersion(),
-                node.at("/kustvakt_version").asText());
-        assertEquals(krill.getIndex().getVersion(),
-                node.at("/krill_version").asText());
-        assertEquals(ServiceInfo.getInfo().getKoralVersion(),
-                node.at("/koral_version").asText());
+        assertEquals(config.getCurrentVersion(), node.at("/latest_api_version").asText());
+        assertEquals(config.getSupportedVersions().size(), node.at("/supported_api_versions").size());
+        assertEquals(ServiceInfo.getInfo().getVersion(), node.at("/kustvakt_version").asText());
+        assertEquals(krill.getIndex().getVersion(), node.at("/krill_version").asText());
+        assertEquals(ServiceInfo.getInfo().getKoralVersion(), node.at("/koral_version").asText());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteMultipleCorpusQueryTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteMultipleCorpusQueryTest.java
index b044cca..c037f20 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteMultipleCorpusQueryTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteMultipleCorpusQueryTest.java
@@ -1,10 +1,9 @@
 package de.ids_mannheim.korap.web.lite;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 
 import jakarta.ws.rs.ProcessingException;
@@ -19,71 +18,47 @@
 public class LiteMultipleCorpusQueryTest extends LiteJerseyTest {
 
     @Test
-    public void testSearchGet () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "das").queryParam("ql", "poliqarp")
-                .queryParam("cq", "pubPlace=München")
-                .queryParam("cq", "textSigle=\"GOE/AGA/01784\"")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchGet() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "das").queryParam("ql", "poliqarp").queryParam("cq", "pubPlace=München").queryParam("cq", "textSigle=\"GOE/AGA/01784\"").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         node = node.at("/collection");
-        assertEquals("koral:docGroup", node.at("/@type").asText());
-        assertEquals("operation:and", node.at("/operation").asText());
+        assertEquals(node.at("/@type").asText(), "koral:docGroup");
+        assertEquals(node.at("/operation").asText(), "operation:and");
         assertEquals(2, node.at("/operands").size());
-        assertEquals("koral:doc", node.at("/operands/0/@type").asText());
-        assertEquals("match:eq", node.at("/operands/0/match").asText());
-        assertEquals("pubPlace", node.at("/operands/0/key").asText());
-        assertEquals("München", node.at("/operands/0/value").asText());
-        assertEquals("textSigle", node.at("/operands/1/key").asText());
-        assertEquals("GOE/AGA/01784", node.at("/operands/1/value").asText());
+        assertEquals(node.at("/operands/0/@type").asText(), "koral:doc");
+        assertEquals(node.at("/operands/0/match").asText(), "match:eq");
+        assertEquals(node.at("/operands/0/key").asText(), "pubPlace");
+        assertEquals(node.at("/operands/0/value").asText(), "München");
+        assertEquals(node.at("/operands/1/key").asText(), "textSigle");
+        assertEquals(node.at("/operands/1/value").asText(), "GOE/AGA/01784");
     }
 
     @Test
-    public void testStatisticsWithMultipleCq ()
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("statistics")
-                .queryParam("cq", "textType=Abhandlung")
-                .queryParam("cq", "corpusSigle=GOE")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testStatisticsWithMultipleCq() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("cq", "textType=Abhandlung").queryParam("cq", "corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.at("/documents").asInt());
         assertEquals(138180, node.at("/tokens").asInt());
         assertEquals(5687, node.at("/sentences").asInt());
         assertEquals(258, node.at("/paragraphs").asInt());
-
         assertTrue(node.at("/warnings").isMissingNode());
     }
 
     @Test
-    public void testStatisticsWithMultipleCorpusQuery ()
-            throws ProcessingException,
-            KustvaktException {
-        Response response = target().path(API_VERSION).path("statistics")
-                .queryParam("corpusQuery", "textType=Autobiographie")
-                .queryParam("corpusQuery", "corpusSigle=GOE")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testStatisticsWithMultipleCorpusQuery() throws ProcessingException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", "textType=Autobiographie").queryParam("corpusQuery", "corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(9, node.at("/documents").asInt());
         assertEquals(527662, node.at("/tokens").asInt());
         assertEquals(19387, node.at("/sentences").asInt());
         assertEquals(514, node.at("/paragraphs").asInt());
-
-        assertEquals(StatusCodes.DEPRECATED,
-                node.at("/warnings/0/0").asInt());
-        assertEquals("Parameter corpusQuery is deprecated in favor of cq.",
-                node.at("/warnings/0/1").asText());
+        assertEquals(StatusCodes.DEPRECATED, node.at("/warnings/0/0").asInt());
+        assertEquals(node.at("/warnings/0/1").asText(), "Parameter corpusQuery is deprecated in favor of cq.");
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchControllerTest.java
index 94a8462..60b6550 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchControllerTest.java
@@ -1,10 +1,10 @@
 package de.ids_mannheim.korap.web.lite;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 import java.net.URI;
@@ -17,13 +17,11 @@
 import jakarta.ws.rs.core.Response.Status;
 
 import org.eclipse.jetty.http.HttpStatus;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
-
 import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
@@ -38,101 +36,68 @@
 
     @Autowired
     private SearchKrill searchKrill;
+
     @Autowired
     private KustvaktConfiguration config;
 
-//  EM: The API is disabled
-    @Ignore   
+    // EM: The API is disabled
+    @Disabled
     @Test
-    public void testGetJSONQuery () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("query")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testGetJSONQuery() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("context", "sentence").queryParam("count", "13").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertNotNull(node);
-        assertEquals("orth", node.at("/query/wrap/layer").asText());
-        assertEquals("opennlp", node.at("/query/wrap/foundry").asText());
-        assertEquals("sentence", node.at("/meta/context").asText());
-        assertEquals("13", node.at("/meta/count").asText());
+        assertEquals(node.at("/query/wrap/layer").asText(), "orth");
+        assertEquals(node.at("/query/wrap/foundry").asText(), "opennlp");
+        assertEquals(node.at("/meta/context").asText(), "sentence");
+        assertEquals(node.at("/meta/count").asText(), "13");
     }
-    
-//  EM: The API is disabled
-    @Ignore
-    @Test
-    public void testbuildAndPostQuery () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("query")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("cq", "corpusSigle=WPD | corpusSigle=GOE")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
 
+    // EM: The API is disabled
+    @Disabled
+    @Test
+    public void testbuildAndPostQuery() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("cq", "corpusSigle=WPD | corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertNotNull(node);
-
-        response = target().path(API_VERSION).path("search")
-                .request()
-                .post(Entity.json(query));
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        response = target().path(API_VERSION).path("search").request().post(Entity.json(query));
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String matches = response.readEntity(String.class);
         JsonNode match_node = JsonUtils.readTree(matches);
         assertNotEquals(0, match_node.path("matches").size());
     }
 
     @Test
-    public void testApiWelcomeMessage () {
-        Response response = target().path(API_VERSION).path("")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testApiWelcomeMessage() {
+        Response response = target().path(API_VERSION).path("").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String message = response.readEntity(String.class);
-        assertEquals(
-            "Wes8Bd4h1OypPqbWF5njeQ==",
-            response.getHeaders().getFirst("X-Index-Revision")
-            );
+        assertEquals(response.getHeaders().getFirst("X-Index-Revision"), "Wes8Bd4h1OypPqbWF5njeQ==");
         assertEquals(message, config.getApiWelcomeMessage());
     }
 
     @Test
-    public void testQueryGet () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testQueryGet() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertNotNull(node);
-        assertEquals("orth", node.at("/query/wrap/layer").asText());
-        assertEquals("base/s:s", node.at("/meta/context").asText());
-        assertEquals("13", node.at("/meta/count").asText());
+        assertEquals(node.at("/query/wrap/layer").asText(), "orth");
+        assertEquals(node.at("/meta/context").asText(), "base/s:s");
+        assertEquals(node.at("/meta/count").asText(), "13");
         assertNotEquals(0, node.at("/matches").size());
     }
 
     @Test
-    public void testQueryFailure () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das").queryParam("ql", "poliqarp")
-                .queryParam("cq", "corpusSigle=WPD | corpusSigle=GOE")
-                .queryParam("count", "13")
-                .request()
-                .get();
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+    public void testQueryFailure() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das").queryParam("ql", "poliqarp").queryParam("cq", "corpusSigle=WPD | corpusSigle=GOE").queryParam("count", "13").request().get();
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(query);
         assertNotNull(node);
         assertEquals(302, node.at("/errors/0/0").asInt());
@@ -143,448 +108,282 @@
     }
 
     @Test
-    public void testFoundryRewrite () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testFoundryRewrite() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertNotNull(node);
-        assertEquals("orth", node.at("/query/wrap/layer").asText());
-        assertEquals("opennlp", node.at("/query/wrap/foundry").asText());
+        assertEquals(node.at("/query/wrap/layer").asText(), "orth");
+        assertEquals(node.at("/query/wrap/foundry").asText(), "opennlp");
     }
 
-//  EM: The API is disabled
+    // EM: The API is disabled
     @Test
-    @Ignore
-    public void testQueryPost () throws KustvaktException {
+    @Disabled
+    public void testQueryPost() throws KustvaktException {
         QuerySerializer s = new QuerySerializer();
         s.setQuery("[orth=das]", "poliqarp");
-
-        Response response = target().path(API_VERSION).path("search")
-                .request()
-                .post(Entity.json(s.toJSON()));
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        Response response = target().path(API_VERSION).path("search").request().post(Entity.json(s.toJSON()));
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertNotNull(node);
-        assertEquals("orth", node.at("/query/wrap/layer").asText());
+        assertEquals(node.at("/query/wrap/layer").asText(), "orth");
         assertNotEquals(0, node.at("/matches").size());
     }
 
     @Test
-    public void testParameterField () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("fields", "author,docSigle")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testParameterField() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("fields", "author,docSigle").queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertNotNull(node);
-        assertEquals("orth", node.at("/query/wrap/layer").asText());
+        assertEquals(node.at("/query/wrap/layer").asText(), "orth");
         assertNotEquals(0, node.at("/matches").size());
-        assertEquals("[\"author\",\"docSigle\"]",
-                node.at("/meta/fields").toString());
+        assertEquals(node.at("/meta/fields").toString(), "[\"author\",\"docSigle\"]");
     }
 
     @Test
-    public void testMatchInfoGetWithoutSpans () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42/matchInfo")
-                .queryParam("foundry", "*").queryParam("spans", "false")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testMatchInfoGetWithoutSpans() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42/matchInfo").queryParam("foundry", "*").queryParam("spans", "false").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
-        assertEquals("match-GOE/AGA/01784-p36-46(5)37-45(2)38-42",
-                node.at("/matchID").asText());
-        assertEquals("Belagerung von Mainz", node.at("/title").asText());
-    };
+        assertEquals(node.at("/textSigle").asText(), "GOE/AGA/01784");
+        assertEquals(node.at("/matchID").asText(), "match-GOE/AGA/01784-p36-46(5)37-45(2)38-42");
+        assertEquals(node.at("/title").asText(), "Belagerung von Mainz");
+    }
 
     @Test
-    public void testMatchInfoGetWithoutHighlights () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42/matchInfo")
-                .queryParam("foundry", "xy").queryParam("spans", "false")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testMatchInfoGetWithoutHighlights() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42/matchInfo").queryParam("foundry", "xy").queryParam("spans", "false").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals(
-                "<span class=\"context-left\"></span><span class=\"match\">der alte freie Weg nach Mainz war gesperrt, ich mußte über die Schiffbrücke bei Rüsselsheim; in Ginsheim ward <mark>gefüttert; der Ort ist sehr zerschossen; dann über die Schiffbrücke</mark> auf die Nonnenaue, wo viele Bäume niedergehauen lagen, sofort auf dem zweiten Teil der Schiffbrücke über den größern Arm des Rheins.</span><span class=\"context-right\"></span>",
-                node.at("/snippet").asText());
-        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
-        assertEquals("match-GOE/AGA/01784-p36-46(5)37-45(2)38-42",
-                node.at("/matchID").asText());
-        assertEquals("Belagerung von Mainz", node.at("/title").asText());
-    };
+        assertEquals(node.at("/snippet").asText(), "<span class=\"context-left\"></span><span class=\"match\">der alte freie Weg nach Mainz war gesperrt, ich mußte über die Schiffbrücke bei Rüsselsheim; in Ginsheim ward <mark>gefüttert; der Ort ist sehr zerschossen; dann über die Schiffbrücke</mark> auf die Nonnenaue, wo viele Bäume niedergehauen lagen, sofort auf dem zweiten Teil der Schiffbrücke über den größern Arm des Rheins.</span><span class=\"context-right\"></span>");
+        assertEquals(node.at("/textSigle").asText(), "GOE/AGA/01784");
+        assertEquals(node.at("/matchID").asText(), "match-GOE/AGA/01784-p36-46(5)37-45(2)38-42");
+        assertEquals(node.at("/title").asText(), "Belagerung von Mainz");
+    }
 
     @Test
-    public void testMatchInfoWithoutExtension () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42")
-                .queryParam("foundry", "-").queryParam("spans", "false")
-                .queryParam("expand","false")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testMatchInfoWithoutExtension() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42").queryParam("foundry", "-").queryParam("spans", "false").queryParam("expand", "false").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
-        assertEquals("match-GOE/AGA/01784-p36-46(5)37-45(2)38-42",
-                node.at("/matchID").asText());
-        assertEquals("<span class=\"context-left\"><span class=\"more\"></span></span><span class=\"match\"><mark>gefüttert; der Ort ist sehr zerschossen; dann über die Schiffbrücke</mark></span><span class=\"context-right\"><span class=\"more\"></span></span>",
-                node.at("/snippet").asText());
-        assertEquals("Belagerung von Mainz", node.at("/title").asText());
-    };
+        assertEquals(node.at("/textSigle").asText(), "GOE/AGA/01784");
+        assertEquals(node.at("/matchID").asText(), "match-GOE/AGA/01784-p36-46(5)37-45(2)38-42");
+        assertEquals(node.at("/snippet").asText(), "<span class=\"context-left\"><span class=\"more\"></span></span><span class=\"match\"><mark>gefüttert; der Ort ist sehr zerschossen; dann über die Schiffbrücke</mark></span><span class=\"context-right\"><span class=\"more\"></span></span>");
+        assertEquals(node.at("/title").asText(), "Belagerung von Mainz");
+    }
 
-    
     @Test
-    public void testMatchInfoGetWithHighlights () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42/matchInfo")
-                .queryParam("foundry", "xy").queryParam("spans", "false")
-                .queryParam("hls", "true")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testMatchInfoGetWithHighlights() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42/matchInfo").queryParam("foundry", "xy").queryParam("spans", "false").queryParam("hls", "true").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
-        assertEquals(
-                "<span class=\"context-left\"></span><span class=\"match\">"
-                        + "der alte freie Weg nach Mainz war gesperrt, ich mußte über die "
-                        + "Schiffbrücke bei Rüsselsheim; in Ginsheim ward <mark>gefüttert; "
-                        + "<mark class=\"class-5 level-0\">der <mark class=\"class-2 level-1\">"
-                        + "Ort ist sehr zerschossen; dann</mark> über die Schiffbrücke</mark></mark> "
-                        + "auf die Nonnenaue, wo viele Bäume niedergehauen lagen, sofort auf dem "
-                        + "zweiten Teil der Schiffbrücke über den größern Arm des Rheins.</span>"
-                        + "<span class=\"context-right\"></span>",
-                node.at("/snippet").asText());
-        assertEquals("match-GOE/AGA/01784-p36-46(5)37-45(2)38-42",
-                node.at("/matchID").asText());
-        assertEquals("Belagerung von Mainz", node.at("/title").asText());
-    };
+        assertEquals(node.at("/textSigle").asText(), "GOE/AGA/01784");
+        assertEquals("<span class=\"context-left\"></span><span class=\"match\">" + "der alte freie Weg nach Mainz war gesperrt, ich mußte über die " + "Schiffbrücke bei Rüsselsheim; in Ginsheim ward <mark>gefüttert; " + "<mark class=\"class-5 level-0\">der <mark class=\"class-2 level-1\">" + "Ort ist sehr zerschossen; dann</mark> über die Schiffbrücke</mark></mark> " + "auf die Nonnenaue, wo viele Bäume niedergehauen lagen, sofort auf dem " + "zweiten Teil der Schiffbrücke über den größern Arm des Rheins.</span>" + "<span class=\"context-right\"></span>", node.at("/snippet").asText());
+        assertEquals(node.at("/matchID").asText(), "match-GOE/AGA/01784-p36-46(5)37-45(2)38-42");
+        assertEquals(node.at("/title").asText(), "Belagerung von Mainz");
+    }
 
     @Test
-    public void testMatchInfoGet2 () throws KustvaktException {
-        Response response = target().path(API_VERSION)
-
-                .path("corpus/GOE/AGA/01784/p36-46/matchInfo")
-                .queryParam("foundry", "*")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testMatchInfoGet2() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("corpus/GOE/AGA/01784/p36-46/matchInfo").queryParam("foundry", "*").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
-        assertEquals("Belagerung von Mainz", node.at("/title").asText());
-    };
-    
-//  EM: The API is disabled
-    @Ignore
+        assertEquals(node.at("/textSigle").asText(), "GOE/AGA/01784");
+        assertEquals(node.at("/title").asText(), "Belagerung von Mainz");
+    }
+
+    // EM: The API is disabled
+    @Disabled
     @Test
-    public void testCollectionQueryParameter () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("query")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("fields", "author, docSigle")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .queryParam("cq", "textClass=Politik & corpus=WPD")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testCollectionQueryParameter() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("fields", "author, docSigle").queryParam("context", "sentence").queryParam("count", "13").queryParam("cq", "textClass=Politik & corpus=WPD").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertNotNull(node);
-        assertEquals("orth", node.at("/query/wrap/layer").asText());
-        assertEquals("Politik",
-                node.at("/collection/operands/0/value").asText());
-        assertEquals("WPD", node.at("/collection/operands/1/value").asText());
-
-        response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("fields", "author, docSigle")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .queryParam("cq", "textClass=Politik & corpus=WPD")
-                .request()
-                .get();
+        assertEquals(node.at("/query/wrap/layer").asText(), "orth");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "Politik");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "WPD");
+        response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("fields", "author, docSigle").queryParam("context", "sentence").queryParam("count", "13").queryParam("cq", "textClass=Politik & corpus=WPD").request().get();
         // String version =
         // LucenePackage.get().getImplementationVersion();;
         // System.out.println("VERSION "+ version);
         // System.out.println("RESPONSE "+ response);
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         query = response.readEntity(String.class);
         node = JsonUtils.readTree(query);
         assertNotNull(node);
-        assertEquals("orth", node.at("/query/wrap/layer").asText());
-        assertEquals("Politik",
-                node.at("/collection/operands/0/value").asText());
-        assertEquals("WPD", node.at("/collection/operands/1/value").asText());
+        assertEquals(node.at("/query/wrap/layer").asText(), "orth");
+        assertEquals(node.at("/collection/operands/0/value").asText(), "Politik");
+        assertEquals(node.at("/collection/operands/1/value").asText(), "WPD");
     }
 
     @Test
-    public void testTokenRetrieval () throws KustvaktException {
-        Response response =
-                target().path(API_VERSION).path("/corpus/GOE/AGA/01784/p104-105/")
-                        .request()
-                        .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testTokenRetrieval() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("/corpus/GOE/AGA/01784/p104-105/").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String resp = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(resp);
         assertTrue(node.at("/hasSnippet").asBoolean());
         assertFalse(node.at("/hasTokens").asBoolean());
         assertTrue(node.at("/tokens").isMissingNode());
-        assertEquals(
-            "<span class=\"context-left\"><span class=\"more\"></span></span>"+
-            "<span class=\"match\"><mark>die</mark></span>"+
-            "<span class=\"context-right\"><span class=\"more\"></span></span>",
-            node.at("/snippet").asText());
-        
+        assertEquals("<span class=\"context-left\"><span class=\"more\"></span></span>" + "<span class=\"match\"><mark>die</mark></span>" + "<span class=\"context-right\"><span class=\"more\"></span></span>", node.at("/snippet").asText());
         // Tokens
-        response =
-             target().path(API_VERSION).path("/corpus/GOE/AGA/01784/p104-105")
-             .queryParam("show-snippet", "false")
-             .queryParam("show-tokens", "true")
-             .queryParam("expand", "false")
-             .request()
-             .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        response = target().path(API_VERSION).path("/corpus/GOE/AGA/01784/p104-105").queryParam("show-snippet", "false").queryParam("show-tokens", "true").queryParam("expand", "false").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         resp = response.readEntity(String.class);
         node = JsonUtils.readTree(resp);
-
         assertFalse(node.at("/hasSnippet").asBoolean());
         assertTrue(node.at("/hasTokens").asBoolean());
         assertTrue(node.at("/snippet").isMissingNode());
-        assertEquals(
-            "die",
-            node.at("/tokens/match/0").asText());
+        assertEquals(node.at("/tokens/match/0").asText(), "die");
         assertTrue(node.at("/tokens/match/1").isMissingNode());
-    };
+    }
 
-    
     @Test
-    public void testMetaFields () throws KustvaktException {
-        Response response =
-                target().path(API_VERSION).path("/corpus/GOE/AGA/01784")
-                        .request()
-                        .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testMetaFields() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("/corpus/GOE/AGA/01784").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String resp = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(resp);
         // System.err.println(node.toString());
-
         Iterator<JsonNode> fieldIter = node.at("/document/fields").elements();
-
         int checkC = 0;
         while (fieldIter.hasNext()) {
             JsonNode field = (JsonNode) fieldIter.next();
-
             String key = field.at("/key").asText();
-
-            assertEquals("koral:field", field.at("/@type").asText());
-
+            assertEquals(field.at("/@type").asText(), "koral:field");
             switch (key) {
                 case "textSigle":
-                    assertEquals("type:string", field.at("/type").asText());
-                    assertEquals("GOE/AGA/01784", field.at("/value").asText());
+                    assertEquals(field.at("/type").asText(), "type:string");
+                    assertEquals(field.at("/value").asText(), "GOE/AGA/01784");
                     checkC++;
                     break;
                 case "author":
-                    assertEquals("type:text", field.at("/type").asText());
-                    assertEquals("Goethe, Johann Wolfgang von",
-                            field.at("/value").asText());
+                    assertEquals(field.at("/type").asText(), "type:text");
+                    assertEquals(field.at("/value").asText(), "Goethe, Johann Wolfgang von");
                     checkC++;
                     break;
                 case "docSigle":
-                    assertEquals("type:string", field.at("/type").asText());
-                    assertEquals("GOE/AGA", field.at("/value").asText());
+                    assertEquals(field.at("/type").asText(), "type:string");
+                    assertEquals(field.at("/value").asText(), "GOE/AGA");
                     checkC++;
                     break;
                 case "docTitle":
-                    assertEquals("type:text", field.at("/type").asText());
-                    assertEquals(
-                            "Goethe: Autobiographische Schriften II, (1817-1825, 1832)",
-                            field.at("/value").asText());
+                    assertEquals(field.at("/type").asText(), "type:text");
+                    assertEquals(field.at("/value").asText(), "Goethe: Autobiographische Schriften II, (1817-1825, 1832)");
                     checkC++;
                     break;
                 case "pubDate":
-                    assertEquals("type:date", field.at("/type").asText());
+                    assertEquals(field.at("/type").asText(), "type:date");
                     assertEquals(1982, field.at("/value").asInt());
                     checkC++;
                     break;
-            };
-        };
+            }
+            ;
+        }
+        ;
         assertEquals(5, checkC);
-    };
-
-    @Test
-    public void testSearchWithoutVersion () throws KustvaktException {
-        Response response = target().path("api").path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .request()
-                .accept(MediaType.APPLICATION_JSON).get();
-        assertEquals(HttpStatus.PERMANENT_REDIRECT_308, response.getStatus());
-        URI location = response.getLocation();
-        assertEquals("/api/v1.0/search", location.getPath());
     }
 
     @Test
-    public void testSearchWrongVersion () throws KustvaktException {
-        Response response = target().path("api").path("v0.2")
-                .path("search").queryParam("q", "[orth=der]")
-                .queryParam("ql", "poliqarp")
-                .request()
-                .accept(MediaType.APPLICATION_JSON)
-                .get();
+    public void testSearchWithoutVersion() throws KustvaktException {
+        Response response = target().path("api").path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").request().accept(MediaType.APPLICATION_JSON).get();
         assertEquals(HttpStatus.PERMANENT_REDIRECT_308, response.getStatus());
         URI location = response.getLocation();
-        assertEquals("/api/v1.0/search", location.getPath());
+        assertEquals(location.getPath(), "/api/v1.0/search");
     }
 
     @Test
-    public void testSearchWithIP () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Wasser").queryParam("ql", "poliqarp")
-                .request()
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
+    public void testSearchWrongVersion() throws KustvaktException {
+        Response response = target().path("api").path("v0.2").path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").request().accept(MediaType.APPLICATION_JSON).get();
+        assertEquals(HttpStatus.PERMANENT_REDIRECT_308, response.getStatus());
+        URI location = response.getLocation();
+        assertEquals(location.getPath(), "/api/v1.0/search");
+    }
 
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    @Test
+    public void testSearchWithIP() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Wasser").queryParam("ql", "poliqarp").request().header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertTrue(node.at("/collection").isMissingNode());
     }
 
     @Test
-    public void testSearchWithAuthorizationHeader () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Wasser").queryParam("ql", "poliqarp")
-                .request()
-                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
-                        .createBasicAuthorizationHeaderValue("test", "pwd"))
-                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchWithAuthorizationHeader() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Wasser").queryParam("ql", "poliqarp").request().header(Attributes.AUTHORIZATION, HttpAuthorizationHandler.createBasicAuthorizationHeaderValue("test", "pwd")).header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32").get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertTrue(node.at("/collection").isMissingNode());
     }
-    
+
     @Test
-    public void testSearchPublicMetadata () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("access-rewrite-disabled", "true")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchPublicMetadata() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("access-rewrite-disabled", "true").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
-
         assertTrue(node.at("/matches/0/snippet").isMissingNode());
     }
-    
-    @Test
-    public void testSearchPublicMetadataWithCustomFields () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
-                .queryParam("fields", "author,title")
-                .queryParam("access-rewrite-disabled", "true")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-        String entity = response.readEntity(String.class);
-        JsonNode node = JsonUtils.readTree(entity);
-        
-        assertTrue(node.at("/matches/0/snippet").isMissingNode());
-        assertEquals("Goethe, Johann Wolfgang von",
-                node.at("/matches/0/author").asText());
-        assertEquals("Italienische Reise",
-                node.at("/matches/0/title").asText());
-//        assertEquals(3, node.at("/matches/0").size());
-    }
-    
-    @Test
-    public void testSearchPublicMetadataWithNonPublicField () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
-                .queryParam("fields", "author,title,snippet")
-                .queryParam("access-rewrite-disabled", "true")
-                .request()
-                .get();
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-        String entity = response.readEntity(String.class);
-        JsonNode node = JsonUtils.readTree(entity);
 
-        assertEquals(StatusCodes.NON_PUBLIC_FIELD_IGNORED,
-                node.at("/warnings/0/0").asInt());
-        assertEquals("The requested non public fields are ignored",
-                node.at("/warnings/0/1").asText());
-        assertEquals("snippet",
-                node.at("/warnings/0/2").asText());
-    }
-    
     @Test
-    public void testSearchWithInvalidPage () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
-                .queryParam("page", "0")
-                .request()
-                .get();
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+    public void testSearchPublicMetadataWithCustomFields() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Sonne").queryParam("ql", "poliqarp").queryParam("fields", "author,title").queryParam("access-rewrite-disabled", "true").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertTrue(node.at("/matches/0/snippet").isMissingNode());
+        assertEquals(node.at("/matches/0/author").asText(), "Goethe, Johann Wolfgang von");
+        assertEquals(node.at("/matches/0/title").asText(), "Italienische Reise");
+        // assertEquals(3, node.at("/matches/0").size());
+    }
+
+    @Test
+    public void testSearchPublicMetadataWithNonPublicField() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "Sonne").queryParam("ql", "poliqarp").queryParam("fields", "author,title,snippet").queryParam("access-rewrite-disabled", "true").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.NON_PUBLIC_FIELD_IGNORED, node.at("/warnings/0/0").asInt());
+        assertEquals(node.at("/warnings/0/1").asText(), "The requested non public fields are ignored");
+        assertEquals(node.at("/warnings/0/2").asText(), "snippet");
+    }
+
+    @Test
+    public void testSearchWithInvalidPage() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=die]").queryParam("ql", "poliqarp").queryParam("page", "0").request().get();
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
-        assertEquals("page must start from 1",node.at("/errors/0/1").asText());
+        assertEquals(node.at("/errors/0/1").asText(), "page must start from 1");
     }
-    
+
     @Test
-    public void testCloseIndex () throws IOException, KustvaktException {
+    public void testCloseIndex() throws IOException, KustvaktException {
         searchKrill.getStatistics(null);
         assertEquals(true, searchKrill.getIndex().isReaderOpen());
-
         Form form = new Form();
         form.param("token", "secret");
-
-        Response response = target().path(API_VERSION).path("index")
-                .path("close")
-                .request()
-                .post(Entity.form(form));
-
+        Response response = target().path(API_VERSION).path("index").path("close").request().post(Entity.form(form));
         assertEquals(HttpStatus.OK_200, response.getStatus());
         assertEquals(false, searchKrill.getIndex().isReaderOpen());
     }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchPipeTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchPipeTest.java
index c813c44..f747934 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchPipeTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchPipeTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.lite;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockserver.integration.ClientAndServer.startClientAndServer;
 import static org.mockserver.model.HttpRequest.request;
 import static org.mockserver.model.HttpResponse.response;
@@ -17,13 +17,12 @@
 import java.nio.charset.StandardCharsets;
 
 import org.apache.commons.io.IOUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockserver.client.MockServerClient;
 import org.mockserver.integration.ClientAndServer;
 import org.mockserver.model.Header;
-
 import com.fasterxml.jackson.databind.JsonNode;
 
 import jakarta.ws.rs.core.Response;
@@ -37,344 +36,171 @@
 public class LiteSearchPipeTest extends LiteJerseyTest {
 
     private ClientAndServer mockServer;
+
     private MockServerClient mockClient;
 
     private int port = 6070;
+
     private String pipeJson, pipeWithParamJson;
-    private String glemmUri = "http://localhost:"+port+"/glemm";
 
-    public LiteSearchPipeTest () throws IOException{
-        pipeJson = IOUtils.toString(
-                ClassLoader.getSystemResourceAsStream(
-                        "pipe-output/test-pipes.jsonld"),
-                StandardCharsets.UTF_8);
+    private String glemmUri = "http://localhost:" + port + "/glemm";
 
-        pipeWithParamJson = IOUtils.toString(
-                ClassLoader.getSystemResourceAsStream(
-                        "pipe-output/with-param.jsonld"),
-                StandardCharsets.UTF_8);
+    public LiteSearchPipeTest() throws IOException {
+        pipeJson = IOUtils.toString(ClassLoader.getSystemResourceAsStream("pipe-output/test-pipes.jsonld"), StandardCharsets.UTF_8);
+        pipeWithParamJson = IOUtils.toString(ClassLoader.getSystemResourceAsStream("pipe-output/with-param.jsonld"), StandardCharsets.UTF_8);
     }
 
-    @Before
-    public void startMockServer () {
+    @BeforeEach
+    public void startMockServer() {
         mockServer = startClientAndServer(port);
         mockClient = new MockServerClient("localhost", mockServer.getPort());
     }
 
-    @After
-    public void stopMockServer () {
+    @AfterEach
+    public void stopMockServer() {
         mockServer.stop();
     }
 
     @Test
-    public void testMockServer () throws IOException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/test")
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody("{test}").withStatusCode(200));
-
-        URL url = new URL("http://localhost:"+port+"/test");
+    public void testMockServer() throws IOException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/test").withHeader(new Header("Content-Type", "application/json; charset=utf-8"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody("{test}").withStatusCode(200));
+        URL url = new URL("http://localhost:" + port + "/test");
         HttpURLConnection connection = (HttpURLConnection) url.openConnection();
         connection.setRequestMethod("POST");
-        connection.setRequestProperty("Content-Type",
-                "application/json; charset=UTF-8");
+        connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
         connection.setRequestProperty("Accept", "application/json");
         connection.setDoOutput(true);
-
         String json = "{\"name\" : \"dory\"}";
         try (OutputStream os = connection.getOutputStream()) {
             byte[] input = json.getBytes("utf-8");
             os.write(input, 0, input.length);
         }
-
         assertEquals(200, connection.getResponseCode());
-
-        BufferedReader br = new BufferedReader(
-                new InputStreamReader(connection.getInputStream(), "utf-8"));
-        assertEquals("{test}", br.readLine());
-
+        BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
+        assertEquals(br.readLine(), "{test}");
     }
 
     @Test
-    public void testSearchWithPipes ()
-            throws IOException, KustvaktException, URISyntaxException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/glemm")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(pipeJson).withStatusCode(200));
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", glemmUri)
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchWithPipes() throws IOException, KustvaktException, URISyntaxException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/glemm").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(pipeJson).withStatusCode(200));
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", glemmUri).request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.at("/query/wrap/key").size());
-
         node = node.at("/query/wrap/rewrites");
         assertEquals(2, node.size());
-        assertEquals("Glemm", node.at("/0/src").asText());
-        assertEquals("operation:override", node.at("/0/operation").asText());
-        assertEquals("key", node.at("/0/scope").asText());
-
-        assertEquals("Kustvakt", node.at("/1/src").asText());
-        assertEquals("operation:injection", node.at("/1/operation").asText());
-        assertEquals("foundry", node.at("/1/scope").asText());
+        assertEquals(node.at("/0/src").asText(), "Glemm");
+        assertEquals(node.at("/0/operation").asText(), "operation:override");
+        assertEquals(node.at("/0/scope").asText(), "key");
+        assertEquals(node.at("/1/src").asText(), "Kustvakt");
+        assertEquals(node.at("/1/operation").asText(), "operation:injection");
+        assertEquals(node.at("/1/scope").asText(), "foundry");
     }
 
     @Test
-    public void testSearchWithUrlEncodedPipes ()
-            throws IOException, KustvaktException {
-
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/glemm")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(pipeJson).withStatusCode(200));
-
+    public void testSearchWithUrlEncodedPipes() throws IOException, KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/glemm").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(pipeJson).withStatusCode(200));
         glemmUri = URLEncoder.encode(glemmUri, "utf-8");
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", glemmUri)
-                .request()
-                .get();
-
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", glemmUri).request().get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.at("/query/wrap/key").size());
     }
 
     @Test
-    public void testSearchWithMultiplePipes () throws KustvaktException {
-
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/glemm")
-                        .withQueryStringParameter("param").withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(pipeWithParamJson).withStatusCode(200));
-
+    public void testSearchWithMultiplePipes() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/glemm").withQueryStringParameter("param").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(pipeWithParamJson).withStatusCode(200));
         String glemmUri2 = glemmUri + "?param=blah";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", glemmUri + "," + glemmUri2)
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", glemmUri + "," + glemmUri2).request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(3, node.at("/query/wrap/key").size());
     }
 
     @Test
-    public void testSearchWithUnknownURL ()
-            throws IOException, KustvaktException {
-        String url =
-                target().getUri().toString() + API_VERSION + "/test/tralala";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", url)
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchWithUnknownURL() throws IOException, KustvaktException {
+        String url = target().getUri().toString() + API_VERSION + "/test/tralala";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", url).request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
-
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
-        assertEquals("404 Not Found", node.at("/warnings/0/3").asText());
+        assertEquals(node.at("/warnings/0/3").asText(), "404 Not Found");
     }
 
     @Test
-    public void testSearchWithUnknownHost () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", "http://glemm")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchWithUnknownHost() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", "http://glemm").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
-        assertEquals("glemm", node.at("/warnings/0/3").asText());
+        assertEquals(node.at("/warnings/0/3").asText(), "glemm");
     }
 
     @Test
-    public void testSearchUnsupportedMediaType () throws KustvaktException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/non-json-pipe"))
-                .respond(response().withStatusCode(415));
-
-        String pipeUri = "http://localhost:"+port+"/non-json-pipe";
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", pipeUri)
-                .request()
-                .get();
-
+    public void testSearchUnsupportedMediaType() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/non-json-pipe")).respond(response().withStatusCode(415));
+        String pipeUri = "http://localhost:" + port + "/non-json-pipe";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", pipeUri).request().get();
         String entity = response.readEntity(String.class);
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
-        assertEquals("415 Unsupported Media Type",
-                node.at("/warnings/0/3").asText());
+        assertEquals(node.at("/warnings/0/3").asText(), "415 Unsupported Media Type");
     }
 
     @Test
-    public void testSearchWithMultiplePipeWarnings () throws KustvaktException {
-        String url =
-                target().getUri().toString() + API_VERSION + "/test/tralala";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", url + "," + "http://glemm")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchWithMultiplePipeWarnings() throws KustvaktException {
+        String url = target().getUri().toString() + API_VERSION + "/test/tralala";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", url + "," + "http://glemm").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(2, node.at("/warnings").size());
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
         assertEquals(url, node.at("/warnings/0/2").asText());
-        assertEquals("404 Not Found", node.at("/warnings/0/3").asText());
-
+        assertEquals(node.at("/warnings/0/3").asText(), "404 Not Found");
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/1/0").asInt());
-        assertEquals("http://glemm", node.at("/warnings/1/2").asText());
-        assertEquals("glemm", node.at("/warnings/1/3").asText());
-
+        assertEquals(node.at("/warnings/1/2").asText(), "http://glemm");
+        assertEquals(node.at("/warnings/1/3").asText(), "glemm");
     }
 
     @Test
-    public void testSearchWithInvalidJsonResponse () throws KustvaktException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/invalid-response")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response().withBody("{blah:}").withStatusCode(200)
-                        .withHeaders(new Header("Content-Type",
-                                "application/json; charset=utf-8")));
-
-        String pipeUri = "http://localhost:"+port+"/invalid-response";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", pipeUri)
-                .request()
-                .get();
-
+    public void testSearchWithInvalidJsonResponse() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/invalid-response").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withBody("{blah:}").withStatusCode(200).withHeaders(new Header("Content-Type", "application/json; charset=utf-8")));
+        String pipeUri = "http://localhost:" + port + "/invalid-response";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", pipeUri).request().get();
         String entity = response.readEntity(String.class);
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testSearchWithPlainTextResponse () throws KustvaktException {
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/plain-text")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response().withBody("blah").withStatusCode(200));
-
-        String pipeUri = "http://localhost:"+port+"/plain-text";
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", pipeUri)
-                .request()
-                .get();
-
+    public void testSearchWithPlainTextResponse() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/plain-text").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withBody("blah").withStatusCode(200));
+        String pipeUri = "http://localhost:" + port + "/plain-text";
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", pipeUri).request().get();
         String entity = response.readEntity(String.class);
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
-
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED, node.at("/errors/0/0").asInt());
     }
 
     @Test
-    public void testSearchWithMultipleAndUnknownPipes ()
-            throws KustvaktException {
-
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/glemm")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(pipeJson).withStatusCode(200));
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", "http://unknown" + "," + glemmUri)
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+    public void testSearchWithMultipleAndUnknownPipes() throws KustvaktException {
+        mockClient.reset().when(request().withMethod("POST").withPath("/glemm").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(pipeJson).withStatusCode(200));
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", "http://unknown" + "," + glemmUri).request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
         assertEquals(2, node.at("/query/wrap/key").size());
         assertTrue(node.at("/warnings").isMissingNode());
-
-        response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("pipes", glemmUri + ",http://unknown")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("pipes", glemmUri + ",http://unknown").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         entity = response.readEntity(String.class);
         node = JsonUtils.readTree(entity);
         assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchTokenSnippetTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchTokenSnippetTest.java
index d36cebf..75b9920 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchTokenSnippetTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchTokenSnippetTest.java
@@ -1,11 +1,10 @@
 package de.ids_mannheim.korap.web.lite;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
 
 import jakarta.ws.rs.core.Response;
@@ -16,68 +15,42 @@
 import de.ids_mannheim.korap.exceptions.StatusCodes;
 import de.ids_mannheim.korap.utils.JsonUtils;
 
-public class LiteSearchTokenSnippetTest extends LiteJerseyTest{
+public class LiteSearchTokenSnippetTest extends LiteJerseyTest {
 
     @Test
-    public void testSearchWithTokens () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("show-tokens", "true")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testSearchWithTokens() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("show-tokens", "true").queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-
         assertTrue(node.at("/matches/0/hasSnippet").asBoolean());
         assertTrue(node.at("/matches/0/hasTokens").asBoolean());
-        assertTrue(node.at("/matches/0/tokens/left").size()>0);
-        assertTrue(node.at("/matches/0/tokens/right").size()>0);
+        assertTrue(node.at("/matches/0/tokens/left").size() > 0);
+        assertTrue(node.at("/matches/0/tokens/right").size() > 0);
         assertEquals(1, node.at("/matches/0/tokens/match").size());
     }
-    
-    @Test
-    public void testSearchWithoutTokens () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("show-tokens", "false")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
 
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    @Test
+    public void testSearchWithoutTokens() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("show-tokens", "false").queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-
         assertTrue(node.at("/matches/0/hasSnippet").asBoolean());
         assertFalse(node.at("/matches/0/hasTokens").asBoolean());
         assertTrue(node.at("/matches/0/tokens").isMissingNode());
     }
-    
-    @Test
-    public void testSearchPublicMetadataWithTokens () throws KustvaktException {
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
-                .queryParam("access-rewrite-disabled", "true")
-                .queryParam("show-tokens", "true")
-                .queryParam("context", "sentence").queryParam("count", "13")
-                .request()
-                .get();
 
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    @Test
+    public void testSearchPublicMetadataWithTokens() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=das]").queryParam("ql", "poliqarp").queryParam("access-rewrite-disabled", "true").queryParam("show-tokens", "true").queryParam("context", "sentence").queryParam("count", "13").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-
         assertFalse(node.at("/matches/0/hasSnippet").asBoolean());
         assertFalse(node.at("/matches/0/hasTokens").asBoolean());
         assertTrue(node.at("/matches/0/snippet").isMissingNode());
         assertTrue(node.at("/matches/0/tokens").isMissingNode());
-        
         assertEquals(StatusCodes.NOT_ALLOWED, node.at("/warnings/0/0").asInt());
     }
 }
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteStatisticControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteStatisticControllerTest.java
index 919299e..65e57c3 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteStatisticControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteStatisticControllerTest.java
@@ -1,7 +1,7 @@
 package de.ids_mannheim.korap.web.lite;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 
@@ -11,106 +11,68 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 import com.fasterxml.jackson.databind.JsonNode;
-
 import de.ids_mannheim.korap.config.LiteJerseyTest;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.exceptions.StatusCodes;
 import de.ids_mannheim.korap.utils.JsonUtils;
 
-public class LiteStatisticControllerTest extends LiteJerseyTest{
+public class LiteStatisticControllerTest extends LiteJerseyTest {
 
     @Test
-    public void testStatisticsWithCq () throws KustvaktException{
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("cq", "textType=Abhandlung & corpusSigle=GOE")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
-        assertEquals(
-            "Wes8Bd4h1OypPqbWF5njeQ==",
-            response.getHeaders().getFirst("X-Index-Revision")
-            );
-        
+    public void testStatisticsWithCq() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("cq", "textType=Abhandlung & corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+        assertEquals(response.getHeaders().getFirst("X-Index-Revision"), "Wes8Bd4h1OypPqbWF5njeQ==");
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertEquals(2, node.at("/documents").asInt());
         assertEquals(138180, node.at("/tokens").asInt());
         assertEquals(5687, node.at("/sentences").asInt());
         assertEquals(258, node.at("/paragraphs").asInt());
-        
         assertTrue(node.at("/warnings").isMissingNode());
     }
-    
+
     @Test
-    public void testStatisticsWithCqAndCorpusQuery () throws KustvaktException{
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("cq", "textType=Abhandlung & corpusSigle=GOE")
-                .queryParam("corpusQuery", "textType=Autobiographie & corpusSigle=GOE")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testStatisticsWithCqAndCorpusQuery() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("cq", "textType=Abhandlung & corpusSigle=GOE").queryParam("corpusQuery", "textType=Autobiographie & corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertEquals(2, node.at("/documents").asInt());
         assertEquals(138180, node.at("/tokens").asInt());
         assertEquals(5687, node.at("/sentences").asInt());
         assertEquals(258, node.at("/paragraphs").asInt());
-        
         assertTrue(node.at("/warnings").isMissingNode());
     }
-    
+
     @Test
-    public void testStatisticsWithCorpusQuery () throws KustvaktException{
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .queryParam("corpusQuery", "textType=Autobiographie & corpusSigle=GOE")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testStatisticsWithCorpusQuery() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", "textType=Autobiographie & corpusSigle=GOE").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertEquals(9, node.at("/documents").asInt());
         assertEquals(527662, node.at("/tokens").asInt());
         assertEquals(19387, node.at("/sentences").asInt());
         assertEquals(514, node.at("/paragraphs").asInt());
-        
-        assertEquals(StatusCodes.DEPRECATED,
-                node.at("/warnings/0/0").asInt());
-        assertEquals("Parameter corpusQuery is deprecated in favor of cq.",
-                node.at("/warnings/0/1").asText());
+        assertEquals(StatusCodes.DEPRECATED, node.at("/warnings/0/0").asInt());
+        assertEquals(node.at("/warnings/0/1").asText(), "Parameter corpusQuery is deprecated in favor of cq.");
     }
 
     @Test
-    public void testEmptyStatistics () throws KustvaktException{
-        Response response = target().path(API_VERSION)
-            .path("statistics")
-            .queryParam("corpusQuery", "")
-            .request()
-            .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+    public void testEmptyStatistics() throws KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").queryParam("corpusQuery", "").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String query = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(query);
         assertEquals(11, node.at("/documents").asInt());
         assertEquals(665842, node.at("/tokens").asInt());
         assertEquals(25074, node.at("/sentences").asInt());
         assertEquals(772, node.at("/paragraphs").asInt());
-
-        response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .method("GET");
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
+        response = target().path(API_VERSION).path("statistics").request().method("GET");
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         query = response.readEntity(String.class);
         node = JsonUtils.readTree(query);
         assertEquals(11, node.at("/documents").asInt());
@@ -118,85 +80,45 @@
         assertEquals(25074, node.at("/sentences").asInt());
         assertEquals(772, node.at("/paragraphs").asInt());
     }
-    
+
     @Test
-    public void testGetStatisticsWithKoralQuery ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
-                .post(Entity.json("{ \"collection\" : {\"@type\": "
-                        + "\"koral:doc\", \"key\": \"availability\", \"match\": "
-                        + "\"match:eq\", \"type\": \"type:regex\", \"value\": "
-                        + "\"CC-BY.*\"} }"));
-
-        assertEquals(Status.OK.getStatusCode(),
-                     response.getStatus());
+    public void testGetStatisticsWithKoralQuery() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").request().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).post(Entity.json("{ \"collection\" : {\"@type\": " + "\"koral:doc\", \"key\": \"availability\", \"match\": " + "\"match:eq\", \"type\": \"type:regex\", \"value\": " + "\"CC-BY.*\"} }"));
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
-
-        assertEquals(
-            "Wes8Bd4h1OypPqbWF5njeQ==",
-            response.getHeaders().getFirst("X-Index-Revision")
-            );
-        
+        assertEquals(response.getHeaders().getFirst("X-Index-Revision"), "Wes8Bd4h1OypPqbWF5njeQ==");
         JsonNode node = JsonUtils.readTree(ent);
         assertEquals(2, node.at("/documents").asInt());
         assertEquals(72770, node.at("/tokens").asInt());
         assertEquals(2985, node.at("/sentences").asInt());
         assertEquals(128, node.at("/paragraphs").asInt());
     }
-    
-    @Test
-    public void testGetStatisticsWithEmptyCollection ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
-                .post(Entity.json("{}"));
 
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                     response.getStatus());
+    @Test
+    public void testGetStatisticsWithEmptyCollection() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").request().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).post(Entity.json("{}"));
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(node.at("/errors/0/0").asInt(),
-                de.ids_mannheim.korap.util.StatusCodes.MISSING_COLLECTION);
-        assertEquals(node.at("/errors/0/1").asText(),
-                "Collection is not found");
+        assertEquals(node.at("/errors/0/0").asInt(), de.ids_mannheim.korap.util.StatusCodes.MISSING_COLLECTION);
+        assertEquals(node.at("/errors/0/1").asText(), "Collection is not found");
     }
-    
-    @Test
-    public void testGetStatisticsWithIncorrectJson ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
-                .post(Entity.json("{ \"collection\" : }"));
 
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                     response.getStatus());
+    @Test
+    public void testGetStatisticsWithIncorrectJson() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").request().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).post(Entity.json("{ \"collection\" : }"));
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
         String ent = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
-        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals("Failed deserializing json object: { \"collection\" : }",
-                node.at("/errors/0/1").asText());
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(node.at("/errors/0/1").asText(), "Failed deserializing json object: { \"collection\" : }");
     }
-    
+
     @Test
-    public void testGetStatisticsWithoutKoralQuery ()
-            throws IOException, KustvaktException {
-        Response response = target().path(API_VERSION)
-                .path("statistics")
-                .request()
-                .post(Entity.json(""));
-        
+    public void testGetStatisticsWithoutKoralQuery() throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics").request().post(Entity.json(""));
         String ent = response.readEntity(String.class);
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-        
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         JsonNode node = JsonUtils.readTree(ent);
         assertEquals(11, node.at("/documents").asInt());
         assertEquals(665842, node.at("/tokens").asInt());
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/SearchNetworkEndpointTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/SearchNetworkEndpointTest.java
index 489dfe2..fa72cee 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/lite/SearchNetworkEndpointTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/SearchNetworkEndpointTest.java
@@ -1,6 +1,6 @@
 package de.ids_mannheim.korap.web.lite;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockserver.integration.ClientAndServer.startClientAndServer;
 import static org.mockserver.model.HttpRequest.request;
 import static org.mockserver.model.HttpResponse.response;
@@ -10,14 +10,13 @@
 import java.nio.charset.StandardCharsets;
 
 import org.apache.commons.io.IOUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockserver.client.MockServerClient;
 import org.mockserver.integration.ClientAndServer;
 import org.mockserver.model.Header;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import com.fasterxml.jackson.databind.JsonNode;
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
@@ -34,97 +33,58 @@
     private KustvaktConfiguration config;
 
     private ClientAndServer mockServer;
+
     private MockServerClient mockClient;
 
     private int port = 6080;
-    private String searchResult;
-    private String endpointURL = "http://localhost:"+port+"/searchEndpoint";
 
-    public SearchNetworkEndpointTest () throws IOException {
-        searchResult = IOUtils.toString(
-                ClassLoader.getSystemResourceAsStream(
-                        "network-output/search-result.jsonld"),
-                StandardCharsets.UTF_8);
+    private String searchResult;
+
+    private String endpointURL = "http://localhost:" + port + "/searchEndpoint";
+
+    public SearchNetworkEndpointTest() throws IOException {
+        searchResult = IOUtils.toString(ClassLoader.getSystemResourceAsStream("network-output/search-result.jsonld"), StandardCharsets.UTF_8);
     }
 
-
-    @Before
-    public void startMockServer () {
+    @BeforeEach
+    public void startMockServer() {
         mockServer = startClientAndServer(port);
         mockClient = new MockServerClient("localhost", mockServer.getPort());
     }
 
-
-    @After
-    public void stopMockServer () {
+    @AfterEach
+    public void stopMockServer() {
         mockServer.stop();
     }
 
-
     @Test
-    public void testSearchNetwork ()
-            throws IOException, KustvaktException, URISyntaxException {
+    public void testSearchNetwork() throws IOException, KustvaktException, URISyntaxException {
         config.setNetworkEndpointURL(endpointURL);
-        mockClient.reset()
-                .when(request().withMethod("POST").withPath("/searchEndpoint")
-                        .withHeaders(
-                                new Header("Content-Type",
-                                        "application/json; charset=utf-8"),
-                                new Header("Accept", "application/json")))
-                .respond(response()
-                        .withHeader(new Header("Content-Type",
-                                "application/json; charset=utf-8"))
-                        .withBody(searchResult).withStatusCode(200));
-
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("engine", "network")
-                .request()
-                .get();
-
-        assertEquals(Status.OK.getStatusCode(),
-                response.getStatus());
-
+        mockClient.reset().when(request().withMethod("POST").withPath("/searchEndpoint").withHeaders(new Header("Content-Type", "application/json; charset=utf-8"), new Header("Accept", "application/json"))).respond(response().withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody(searchResult).withStatusCode(200));
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("engine", "network").request().get();
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-
         assertEquals(2, node.at("/matches").size());
     }
 
-
     @Test
-    public void testSearchWithUnknownURL ()
-            throws IOException, KustvaktException {
+    public void testSearchWithUnknownURL() throws IOException, KustvaktException {
         config.setNetworkEndpointURL("http://localhost:1040/search");
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("engine", "network")
-                .request()
-                .get();
-        
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("engine", "network").request().get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
-    
-    @Test
-    public void testSearchWithUnknownHost () throws KustvaktException {
-        config.setNetworkEndpointURL("http://search.com");
-        
-        Response response = target().path(API_VERSION).path("search")
-                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
-                .queryParam("engine", "network")
-                .request()
-                .get();
 
+    @Test
+    public void testSearchWithUnknownHost() throws KustvaktException {
+        config.setNetworkEndpointURL("http://search.com");
+        Response response = target().path(API_VERSION).path("search").queryParam("q", "[orth=der]").queryParam("ql", "poliqarp").queryParam("engine", "network").request().get();
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED,
-                node.at("/errors/0/0").asInt());
-        assertEquals(Status.BAD_REQUEST.getStatusCode(),
-                response.getStatus());
+        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED, node.at("/errors/0/0").asInt());
+        assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
     }
 }
diff --git a/full/src/test/resources/junit-platform.properties b/full/src/test/resources/junit-platform.properties
new file mode 100644
index 0000000..f4cf442
--- /dev/null
+++ b/full/src/test/resources/junit-platform.properties
@@ -0,0 +1,4 @@
+junit.jupiter.testclass.order.default = org.junit.jupiter.api.ClassOrderer$OrderAnnotation
+junit.jupiter.execution.parallel.enabled = true
+
+
diff --git a/full/src/test/resources/test-config-lite.xml b/full/src/test/resources/test-config-lite.xml
index 7174998..96ac3bf 100644
--- a/full/src/test/resources/test-config-lite.xml
+++ b/full/src/test/resources/test-config-lite.xml
@@ -50,6 +50,19 @@
 
 	<!-- Database -->
 
+	<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
+		lazy-init="true">
+		<!-- <property name="driverClassName" value="${jdbc.driverClassName}" /> -->
+		<property name="url" value="${jdbc.url}" />
+		<property name="username" value="${jdbc.username}" />
+		<property name="password" value="${jdbc.password}" />
+		<property name="maxTotal" value="4" />
+		<property name="maxIdle" value="1" />
+		<property name="minIdle" value="1" />
+		<property name="maxWaitMillis" value="15000" />
+		<!--<property name="poolPreparedStatements" value="true"/> -->
+	</bean>
+
 	<bean id="sqliteDataSource"
 		class="org.springframework.jdbc.datasource.SingleConnectionDataSource"
 		lazy-init="true">
@@ -74,7 +87,7 @@
 		<!-- <property name="validateOnMigrate" value="false" /> -->
 		<!-- <property name="cleanOnValidationError" value="true" /> -->
 		<property name="locations" value="#{'${jdbc.schemaPath}'.split(',')}"/>
-		<property name="dataSource" ref="sqliteDataSource" />
+		<property name="dataSource" ref="dataSource" />
 		<property name="outOfOrder" value="true" />
 	</bean>
 	
@@ -84,7 +97,7 @@
 
 	<bean id="entityManagerFactory"
 		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
-		<property name="dataSource" ref="sqliteDataSource" />
+		<property name="dataSource" ref="dataSource" />
 
 		<property name="packagesToScan">
 			<array>
diff --git a/full/src/test/resources/test-config.xml b/full/src/test/resources/test-config.xml
index 57501d3..6abc135 100644
--- a/full/src/test/resources/test-config.xml
+++ b/full/src/test/resources/test-config.xml
@@ -104,8 +104,8 @@
 		<property name="cleanOnValidationError" value="true" />
 		<property name="baselineOnMigrate" value="false" />
 		<property name="locations" value="#{'${jdbc.schemaPath}'.split(',')}"/>
-		<property name="dataSource" ref="sqliteDataSource" />
-		<!-- <property name="dataSource" ref="dataSource" /> -->
+		<!-- <property name="dataSource" ref="sqliteDataSource" /> -->
+		<property name="dataSource" ref="dataSource" />
 		<property name="outOfOrder" value="true" />
 	</bean>
 	
@@ -116,8 +116,8 @@
 
 	<bean id="entityManagerFactory"
 		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
-		<!-- <property name="dataSource" ref="dataSource" /> -->
-		<property name="dataSource" ref="sqliteDataSource" />
+		<property name="dataSource" ref="dataSource" />
+		<!-- <property name="dataSource" ref="sqliteDataSource" /> -->
 		<property name="packagesToScan">
 			<array>
 				<value>de.ids_mannheim.korap.core.entity</value>
diff --git a/full/src/test/resources/test-jdbc.properties b/full/src/test/resources/test-jdbc.properties
index 48f51f5..1be6a41 100644
--- a/full/src/test/resources/test-jdbc.properties
+++ b/full/src/test/resources/test-jdbc.properties
@@ -3,7 +3,8 @@
 
 jdbc.database=sqlite
 jdbc.driverClassName=org.sqlite.JDBC
-jdbc.url=jdbc:sqlite::memory:
+#jdbc.url=jdbc:sqlite::memory:
+jdbc.url=jdbc:sqlite:file::memory:?cache=shared
 #jdbc.url=jdbc:sqlite:testDB.sqlite
 jdbc.username=pc
 jdbc.password=pc