Enhanced Logging for handling of getAllKeycloakUsers
diff --git a/src/main/java/org/eclipse/openk/portal/common/UserCacheTimerTask.java b/src/main/java/org/eclipse/openk/portal/common/UserCacheTimerTask.java
index f881417..51a2a26 100644
--- a/src/main/java/org/eclipse/openk/portal/common/UserCacheTimerTask.java
+++ b/src/main/java/org/eclipse/openk/portal/common/UserCacheTimerTask.java
@@ -21,9 +21,17 @@
     LOGGER.debug("UserCacheTimerTask started");
     try {
       JwtToken token = JwtHelper.login(BackendConfig.getInstance().getKeycloakAdmin(), BackendConfig.getInstance().getKeycloakPW());
+      if( token == null ) {
+        LOGGER.error("Login for getKeyCloakUsersFromToken() failed for User:"+ BackendConfig.getInstance().getKeycloakAdmin());
+        return;
+      }
 
       List<KeyCloakUser> allUsersWithRoles = getKeyCloakUsersFromToken(token);
 
+      if( allUsersWithRoles.isEmpty()) {
+        LOGGER.warn("getKeyCloakUsersFromToken provided empty list!");
+      }
+
       UserCache.getInstance().setKeyCloakUsers(allUsersWithRoles);
 
     } catch (PortalInternalServerError portalInternalServerError) {
diff --git a/src/test/java/org/eclipse/openk/portal/common/UserCacheTimerTaskTest.java b/src/test/java/org/eclipse/openk/portal/common/UserCacheTimerTaskTest.java
index 73a6ed4..6e82a6e 100644
--- a/src/test/java/org/eclipse/openk/portal/common/UserCacheTimerTaskTest.java
+++ b/src/test/java/org/eclipse/openk/portal/common/UserCacheTimerTaskTest.java
@@ -1,11 +1,14 @@
 package org.eclipse.openk.portal.common;
 
+import static junit.framework.TestCase.assertEquals;
+import static junit.framework.TestCase.assertNull;
 import static junit.framework.TestCase.assertTrue;
 import static org.easymock.EasyMock.expect;
 import static org.eclipse.openk.portal.common.JsonGeneratorBase.getGson;
 
 import com.google.gson.reflect.TypeToken;
 import java.lang.reflect.Type;
+import java.util.ArrayList;
 import java.util.List;
 import org.eclipse.openk.portal.auth2.model.JwtToken;
 import org.eclipse.openk.portal.auth2.model.KeyCloakRole;
@@ -62,4 +65,63 @@
         assertTrue(keyCloakUsersResult.get(0).getRealmRoles().get(0).equals("elogbook-superuser"));
         assertTrue(keyCloakUsersResult.get(0).getRealmRoles().get(6).equals("elogbook-access"));
     }
+
+    @Test
+    public void testGetKeyCloakUsers_EmptyToken() throws Exception {
+        List<KeyCloakUser> compList = new ArrayList<>();
+        UserCache.getInstance().setKeyCloakUsers(compList);
+
+        String jsonKeyCloakRoles = super.loadStringFromResource("testKeyCloakRoles.json");
+        Type listTypeKeyCloakRole = new TypeToken<List<KeyCloakRole>>(){}.getType();
+        List<KeyCloakRole> keyCloakRolesList = JsonGeneratorBase.getGson().fromJson(jsonKeyCloakRoles, listTypeKeyCloakRole);
+
+        expect(JwtHelper.login(BackendConfig.getInstance().getKeycloakAdmin(), BackendConfig.getInstance().getKeycloakPW())).andReturn(null);
+
+        PowerMock.replayAll();
+        task.run();
+        PowerMock.verifyAll();
+
+        assertTrue(UserCache.getInstance().getKeyCloakUsers().isEmpty());
+    }
+
+    @Test
+    public void testGetKeyCloakUsers_null() throws Exception {
+        List<KeyCloakUser> compList = new ArrayList<>();
+        UserCache.getInstance().setKeyCloakUsers(compList);
+
+        String jsonKeyCloakRoles = super.loadStringFromResource("testKeyCloakRoles.json");
+        Type listTypeKeyCloakRole = new TypeToken<List<KeyCloakRole>>(){}.getType();
+        List<KeyCloakRole> keyCloakRolesList = JsonGeneratorBase.getGson().fromJson(jsonKeyCloakRoles, listTypeKeyCloakRole);
+
+        expect(JwtHelper.login(BackendConfig.getInstance().getKeycloakAdmin(), BackendConfig.getInstance().getKeycloakPW())).andReturn(null);
+
+        PowerMock.replayAll();
+        task.run();
+        PowerMock.verifyAll();
+
+        assertTrue(UserCache.getInstance().getKeyCloakUsers().isEmpty());
+    }
+
+
+    @Test
+    public void testGetKeyCloakUsersFromToken_ListEmpty() throws Exception {
+        String jsonKeyCloakUser = super.loadStringFromResource("testKeyCloakUsers.json");
+        Type listTypeKeyCloakUser = new TypeToken<List<KeyCloakUser>>(){}.getType();
+        List<KeyCloakUser> keyCloakUsersListOrg = JsonGeneratorBase.getGson().fromJson(jsonKeyCloakUser, listTypeKeyCloakUser);
+
+        UserCache.getInstance().setKeyCloakUsers(keyCloakUsersListOrg);
+        String json = super.loadStringFromResource("JWTAdmin.json");
+        JwtToken jwt = getGson().fromJson(json, JwtToken.class);
+
+        List<KeyCloakUser> keyCloakUsersList = new ArrayList<>();
+
+        expect(JwtHelper.login(BackendConfig.getInstance().getKeycloakAdmin(), BackendConfig.getInstance().getKeycloakPW())).andReturn(jwt);
+        expect(JwtHelper.getUsers(jwt, BackendConfig.getInstance().getMaxLoadUsers())).andReturn(keyCloakUsersList);
+
+        PowerMock.replayAll();
+        task.run();
+        PowerMock.verifyAll();
+
+        assertEquals(keyCloakUsersList.size(), UserCache.getInstance().getKeyCloakUsers().size());
+    }
 }