From 77ed5708b5909795f2b3da847fffc0017bc2235a Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Mon, 22 Jun 2020 17:09:13 +0200 Subject: [PATCH] WIP: pipeline --- .gitlab-ci.yml | 1 - .../caosdb/server/accessControl/UserSources.java | 12 +++++++----- .../server/resource/TestScriptingResource.java | 7 +++++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 50402d78..c57be2e5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -58,7 +58,6 @@ test: - make easy-units - mvn antlr4:antlr4 - mvn compile - - echo "defaultRealm = CaosDB" > conf/ext/usersources.ini - mvn test # Deploy: Trigger building of server image and integration tests diff --git a/src/main/java/caosdb/server/accessControl/UserSources.java b/src/main/java/caosdb/server/accessControl/UserSources.java index b4c0951e..e09f7c24 100644 --- a/src/main/java/caosdb/server/accessControl/UserSources.java +++ b/src/main/java/caosdb/server/accessControl/UserSources.java @@ -30,7 +30,6 @@ import caosdb.server.transaction.RetrieveRoleTransaction; import caosdb.server.transaction.RetrieveUserTransaction; import caosdb.server.utils.ServerMessages; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.HashMap; @@ -85,6 +84,11 @@ public class UserSources extends HashMap<String, UserSource> { private UserSources() { initMap(); this.put(getInternalRealm()); + if (this.map.getSection(Ini.DEFAULT_SECTION_NAME) == null + || !this.map.getSection(Ini.DEFAULT_SECTION_NAME).containsKey(KEY_REALMS)) { + // no realms defined + return; + } final String[] realms = this.map .getSectionProperty(Ini.DEFAULT_SECTION_NAME, KEY_REALMS) @@ -135,10 +139,8 @@ public class UserSources extends HashMap<String, UserSource> { new FileInputStream( CaosDBServer.getServerProperty(ServerProperties.KEY_USER_SOURCES_INI_FILE))) { this.map.load(f); - } catch (final FileNotFoundException e) { - e.printStackTrace(); } catch (final IOException e) { - e.printStackTrace(); + logger.debug("could not load usersources.ini", e); } } @@ -189,7 +191,7 @@ public class UserSources extends HashMap<String, UserSource> { } public static String getDefaultRealm() { - return instance.map.getSectionProperty(Ini.DEFAULT_SECTION_NAME, KEY_DEFAULT_REALM); + return instance.map.getSectionProperty(Ini.DEFAULT_SECTION_NAME, KEY_DEFAULT_REALM, "CaosDB"); } public static Set<String> resolve(final Principal principal) { diff --git a/src/test/java/caosdb/server/resource/TestScriptingResource.java b/src/test/java/caosdb/server/resource/TestScriptingResource.java index 649c7647..3280ae3a 100644 --- a/src/test/java/caosdb/server/resource/TestScriptingResource.java +++ b/src/test/java/caosdb/server/resource/TestScriptingResource.java @@ -29,6 +29,7 @@ import caosdb.server.accessControl.AnonymousAuthenticationToken; import caosdb.server.accessControl.CredentialsValidator; import caosdb.server.accessControl.Principal; import caosdb.server.accessControl.Role; +import caosdb.server.accessControl.UserSources; import caosdb.server.database.BackendTransaction; import caosdb.server.database.access.Access; import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl; @@ -153,14 +154,16 @@ public class TestScriptingResource { @BeforeClass public static void setupShiro() throws IOException { + CaosDBServer.initServerProperties(); + CaosDBServer.initShiro(); + BackendTransaction.setImpl(RetrieveRoleImpl.class, RetrieveRole.class); BackendTransaction.setImpl(RetrievePermissionRulesImpl.class, RetrievePermissionRules.class); BackendTransaction.setImpl(RetrieveUserImpl.class, RetrieveUser.class); BackendTransaction.setImpl( RetrievePasswordValidatorImpl.class, RetrievePasswordValidator.class); - CaosDBServer.initServerProperties(); - CaosDBServer.initShiro(); + UserSources.getDefaultRealm(); } ScriptingResource resource = -- GitLab