Fix redundant initial-super-client generation.
Change-Id: If2044ea7c8a1f4ee98997fb89daaa7cffc835284
diff --git a/src/test/java/de/ids_mannheim/korap/web/InitialSuperClientTest.java b/src/test/java/de/ids_mannheim/korap/web/InitialSuperClientTest.java
index afa723d..2649a77 100644
--- a/src/test/java/de/ids_mannheim/korap/web/InitialSuperClientTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/InitialSuperClientTest.java
@@ -25,17 +25,19 @@
@Autowired
private FullConfiguration config;
-
@Autowired
private OAuth2ClientDao clientDao;
+ @Autowired
+ private OAuth2InitClientService clientService;
private String path = KustvaktConfiguration.DATA_FOLDER + "/"
+ OAuth2InitClientService.TEST_OUTPUT_FILENAME;
-
+
@Test
public void testCreatingInitialSuperClient ()
throws IOException, KustvaktException {
- assertTrue(config.createInitialSuperClient());
+ assertTrue(config.createInitialSuperClient());
+ // The file was created during server start
File f = new File(path);
assertTrue(f.exists());
JsonNode node = JsonUtils.readFile(path, JsonNode.class);
@@ -44,6 +46,27 @@
OAuth2Client superClient = clientDao.retrieveClientById(superClientId);
assertTrue(superClient.isSuper());
testLogin(superClientId, superClientSecret);
+ assertEquals(2,clientDao.retrieveSuperClients());
+
+ clientDao.deregisterClient(superClient);
+ assertEquals(1,clientDao.retrieveSuperClients());
+
+ testRegisterFromExistingFile();
+ }
+
+ private void testRegisterFromExistingFile ()
+ throws IOException, KustvaktException {
+
+ clientService.createInitialTestSuperClient();
+ assertEquals(2,clientDao.retrieveSuperClients());
+
+ JsonNode node = JsonUtils.readFile(path, JsonNode.class);
+ String superClientId = node.at("/client_id").asText();
+ OAuth2Client superClient = clientDao.retrieveClientById(superClientId);
+ assertTrue(superClient.isSuper());
+
+ clientDao.deregisterClient(superClient);
+ assertEquals(1,clientDao.retrieveSuperClients());
removeSuperClientFile();
}
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/oauth2/OAuth2TestBase.java b/src/test/java/de/ids_mannheim/korap/web/controller/oauth2/OAuth2TestBase.java
index e8d5b94..6e10946 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/oauth2/OAuth2TestBase.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/oauth2/OAuth2TestBase.java
@@ -100,14 +100,14 @@
"super confidential client", OAuth2ClientType.CONFIDENTIAL,
"http://korap.ids-mannheim.de/confidential",
"https://korap.ids-mannheim.de/confidential/redirect",
- "system", "Super confidential client.", 0, null, false);
+ "system", "Super confidential client.", 0, null);
}
try {
clientDao.retrieveClientById(publicClientId);
}
catch (KustvaktException e) {
- clientDao.registerClient(publicClientId, null,
+ clientDao.registerClient(false, publicClientId, null,
"public client plugin with redirect uri",
OAuth2ClientType.PUBLIC, "https://third.party.client.com",
"https://third.party.client.com/redirect", "system",
@@ -119,7 +119,7 @@
clientDao.retrieveClientById(publicClientId2);
}
catch (KustvaktException e) {
- clientDao.registerClient(publicClientId2, null,
+ clientDao.registerClient(false, publicClientId2, null,
"test public client", OAuth2ClientType.PUBLIC,
"http://korap.ids-mannheim.de/public", null, "system",
"Public client without redirect uri", 0, null);
@@ -129,7 +129,7 @@
clientDao.retrieveClientById(confidentialClientId);
}
catch (KustvaktException e) {
- clientDao.registerClient(confidentialClientId,
+ clientDao.registerClient(false, confidentialClientId,
"$2a$08$vi1FbuN3p6GcI1tSxMAoeuIYL8Yw3j6A8wJthaN8ZboVnrQaTwLPq",
"non super confidential client",
OAuth2ClientType.CONFIDENTIAL,
@@ -148,7 +148,10 @@
"confidential client 2", OAuth2ClientType.CONFIDENTIAL,
"http://example.client.de", null, "system",
"Nonsuper confidential client plugin without redirect URI",
- 0, source, true);
+ 0, source);
+ OAuth2Client client = clientDao.retrieveClientById(confidentialClientId2);
+ client.setPermitted(true);
+ clientDao.updateClient(client);
}
}
diff --git a/src/test/resources/test-jdbc.properties b/src/test/resources/test-jdbc.properties
index 5e84ae0..4489537 100644
--- a/src/test/resources/test-jdbc.properties
+++ b/src/test/resources/test-jdbc.properties
@@ -5,7 +5,7 @@
jdbc.driverClassName=org.sqlite.JDBC
#jdbc.url=jdbc:sqlite::memory:
jdbc.url=jdbc:sqlite:file::memory:?cache=shared
-#jdbc.url=jdbc:sqlite:testDB.sqlite
+#jdbc.url=jdbc:sqlite:data/testDB.sqlite
jdbc.username=pc
jdbc.password=pc
jdbc.schemaPath=classpath:db/sqlite,db/predefined
\ No newline at end of file