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 b656b63..958542b 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
@@ -146,7 +146,7 @@
             String accessToken) throws KustvaktException {
 
         JsonNode node = retrieveClientInfo(clientId, "admin");
-        assertTrue(node.at("/is_super").asBoolean());
+        assertTrue(node.at("/super").asBoolean());
 
         // list vc
         ClientResponse response = resource().path(API_VERSION).path("vc")
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 0ea7f10..7ea1485 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
@@ -81,33 +81,33 @@
     public void testRetrieveClientInfo () throws KustvaktException {
         // public client
         JsonNode clientInfo = retrieveClientInfo(publicClientId, "system");
-        assertEquals(publicClientId, clientInfo.at("/id").asText());
+        assertEquals(publicClientId, clientInfo.at("/client_id").asText());
         assertEquals("public client plugin with redirect uri",
-                clientInfo.at("/name").asText());
-        assertNotNull(clientInfo.at("/description"));
-        assertNotNull(clientInfo.at("/url"));
-        assertEquals("PUBLIC", clientInfo.at("/type").asText());
+                clientInfo.at("/client_name").asText());
+        assertNotNull(clientInfo.at("/client_description"));
+        assertNotNull(clientInfo.at("/client_url"));
+        assertEquals("PUBLIC", clientInfo.at("/client_type").asText());
         assertEquals("system", clientInfo.at("/registered_by").asText());
 
         // confidential client
         clientInfo = retrieveClientInfo(confidentialClientId, "system");
-        assertEquals(confidentialClientId, clientInfo.at("/id").asText());
+        assertEquals(confidentialClientId, clientInfo.at("/client_id").asText());
         assertEquals("non super confidential client",
-                clientInfo.at("/name").asText());
-        assertNotNull(clientInfo.at("/url"));
+                clientInfo.at("/client_name").asText());
+        assertNotNull(clientInfo.at("/client_url"));
         assertNotNull(clientInfo.at("/redirect_uri"));
-        assertEquals(false, clientInfo.at("/is_super").asBoolean());
-        assertEquals("CONFIDENTIAL", clientInfo.at("/type").asText());
+        assertEquals(false, clientInfo.at("/super").asBoolean());
+        assertEquals("CONFIDENTIAL", clientInfo.at("/client_type").asText());
 
         // super client
         clientInfo = retrieveClientInfo(superClientId, "system");
-        assertEquals(superClientId, clientInfo.at("/id").asText());
+        assertEquals(superClientId, clientInfo.at("/client_id").asText());
         assertEquals("super confidential client",
-                clientInfo.at("/name").asText());
-        assertNotNull(clientInfo.at("/url"));
+                clientInfo.at("/client_name").asText());
+        assertNotNull(clientInfo.at("/client_url"));
         assertNotNull(clientInfo.at("/redirect_uri"));
-        assertEquals("CONFIDENTIAL", clientInfo.at("/type").asText());
-        assertTrue(clientInfo.at("/is_super").asBoolean());
+        assertEquals("CONFIDENTIAL", clientInfo.at("/client_type").asText());
+        assertTrue(clientInfo.at("/super").asBoolean());
     }
     
     @Test
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 ff63cc1..34081a5 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
@@ -28,6 +28,7 @@
 import de.ids_mannheim.korap.oauth2.constant.OAuth2Error;
 import de.ids_mannheim.korap.oauth2.dao.InstalledPluginDao;
 import de.ids_mannheim.korap.utils.JsonUtils;
+import de.ids_mannheim.korap.utils.TimeUtils;
 import de.ids_mannheim.korap.web.input.OAuth2ClientJson;
 
 public class OAuth2PluginTest extends OAuth2TestBase {
@@ -42,12 +43,15 @@
             ClientHandlerException, KustvaktException {
         JsonNode source = JsonUtils.readTree("{ \"plugin\" : \"source\"}");
 
+        int refreshTokenExpiry = TimeUtils.convertTimeToSeconds("90D");
+        
         String clientName = "Plugin";
         OAuth2ClientJson json = new OAuth2ClientJson();
         json.setName(clientName);
         json.setType(OAuth2ClientType.CONFIDENTIAL);
         json.setDescription("This is a plugin test client.");
         json.setSource(source);
+        json.setRefreshTokenExpiry(refreshTokenExpiry);
 
         ClientResponse response = registerClient(username, json);
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
@@ -58,37 +62,38 @@
         assertNotNull(clientSecret);
         
         testInstallPluginNotPermitted(clientId);
-        testRetrievePluginInfo(clientId);
+        testRetrievePluginInfo(clientId,refreshTokenExpiry);
 
         node = listPlugins(false);
         assertEquals(3, node.size());
         node = listPlugins(true); // permitted only
         assertEquals(2, node.size());
 
-        testListUserRegisteredPlugins(username, clientId, clientName);
+        testListUserRegisteredPlugins(username, clientId, clientName,
+                refreshTokenExpiry);
         deregisterConfidentialClient(username, clientId);
     }
 
-    private void testRetrievePluginInfo (String clientId)
+    private void testRetrievePluginInfo (String clientId, int refreshTokenExpiry)
             throws UniformInterfaceException, ClientHandlerException,
             KustvaktException {
         JsonNode clientInfo = retrieveClientInfo(clientId, username);
-        assertEquals(clientId, clientInfo.at("/id").asText());
-        assertEquals("Plugin", clientInfo.at("/name").asText());
+        assertEquals(clientId, clientInfo.at("/client_id").asText());
+        assertEquals("Plugin", clientInfo.at("/client_name").asText());
 
         assertEquals(OAuth2ClientType.CONFIDENTIAL.name(),
-                clientInfo.at("/type").asText());
-        assertNotNull(clientInfo.at("/description").asText());
+                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(defaultRefreshTokenExpiry,
+        assertEquals(refreshTokenExpiry,
                 clientInfo.at("/refresh_token_expiry").asInt());
     }
 
     private void testListUserRegisteredPlugins (String username,
-            String clientId, String clientName)
+            String clientId, String clientName, int refreshTokenExpiry)
             throws UniformInterfaceException, ClientHandlerException,
             KustvaktException {
 
@@ -101,7 +106,7 @@
         assertFalse(node.at("/0/permitted").asBoolean());
         assertFalse(node.at("/0/registration_date").isMissingNode());
         assertFalse(node.at("/0/source").isMissingNode());
-        assertEquals(defaultRefreshTokenExpiry,
+        assertEquals(refreshTokenExpiry,
                 node.at("/0/refresh_token_expiry").asInt());
     }
 
@@ -204,7 +209,7 @@
         assertFalse(node.at("/0/source").isMissingNode());
         assertFalse(node.at("/0/refresh_token_expiry").isMissingNode());
 
-        assertTrue(node.at("/1/refresh_token_expiry").isMissingNode());
+//        assertTrue(node.at("/1/refresh_token_expiry").isMissingNode());
     }
 
     private JsonNode listPlugins (boolean permitted_only)
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 45f02b4..6526190 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
@@ -269,16 +269,16 @@
             throws UniformInterfaceException, ClientHandlerException,
             KustvaktException {
         JsonNode clientInfo = retrieveClientInfo(clientId, username);
-        assertEquals(clientId, clientInfo.at("/id").asText());
-        assertEquals("OAuth2ClientTest", clientInfo.at("/name").asText());
+        assertEquals(clientId, clientInfo.at("/client_id").asText());
+        assertEquals("OAuth2ClientTest", clientInfo.at("/client_name").asText());
         assertEquals(OAuth2ClientType.CONFIDENTIAL.name(),
-                clientInfo.at("/type").asText());
+                clientInfo.at("/client_type").asText());
         assertEquals(username, clientInfo.at("/registered_by").asText());
-        assertEquals(clientURL, clientInfo.at("/url").asText());
+        assertEquals(clientURL, clientInfo.at("/client_url").asText());
         assertEquals(clientRedirectUri,
-                clientInfo.at("/redirect_uri").asText());
+                clientInfo.at("/client_redirect_uri").asText());
         // 31536000 seconds
-        assertEquals(TimeUtils.convertTimeToSeconds("365D"),
+        assertEquals(defaultRefreshTokenExpiry,
                 clientInfo.at("/refresh_token_expiry").asInt());
         assertNotNull(clientInfo.at("/description"));
         assertNotNull(clientInfo.at("/registration_date"));
