mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-20 04:35:32 +00:00
fixed initialization of security service for test set-up, helping TaggingServiceTest
This commit is contained in:
+7
-5
@@ -4,26 +4,28 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
|
||||
import com.sap.sse.replication.FullyInitializedReplicableTracker;
|
||||
import com.sap.sse.security.SecurityService;
|
||||
import com.sap.sse.security.impl.Activator;
|
||||
import com.sap.sse.security.impl.SecurityServiceImpl;
|
||||
import com.sap.sse.security.shared.UserGroupManagementException;
|
||||
import com.sap.sse.security.shared.UserManagementException;
|
||||
import com.sap.sse.security.userstore.mongodb.AccessControlStoreImpl;
|
||||
import com.sap.sse.security.userstore.mongodb.UserStoreImpl;
|
||||
import com.sap.sse.util.ServiceTrackerFactory;
|
||||
|
||||
public class SecurityBundleTestWrapper {
|
||||
private static final Logger logger = Logger.getLogger(SecurityBundleTestWrapper.class.getName());
|
||||
|
||||
public SecurityService initializeSecurityServiceForTesting() throws UserGroupManagementException, UserManagementException, InterruptedException {
|
||||
public SecurityService initializeSecurityServiceForTesting() throws Exception {
|
||||
final SecurityService securityService;
|
||||
if (Activator.getContext() == null) {
|
||||
logger.info("Setup for TaggingServiceTest in a non-OSGi environment");
|
||||
final UserStoreImpl store = new UserStoreImpl("defaultTenant");
|
||||
store.ensureDefaultRolesExist();
|
||||
store.ensureServerGroupExists();
|
||||
final AccessControlStoreImpl accessControlStoreImpl = new AccessControlStoreImpl(store);
|
||||
Activator.setTestStores(store, accessControlStoreImpl);
|
||||
securityService = new SecurityServiceImpl(store, accessControlStoreImpl);
|
||||
((SecurityServiceImpl) securityService).clearState();
|
||||
securityService.initialize();
|
||||
SecurityUtils.setSecurityManager(securityService.getSecurityManager());
|
||||
Activator.setSecurityService(securityService);
|
||||
} else {
|
||||
@@ -31,7 +33,7 @@ public class SecurityBundleTestWrapper {
|
||||
new UserStoreImpl("defaultTenant"); // only to trigger bundle loading and activation so that security service can find the bundle and its original user store
|
||||
logger.info("Setup for TaggingServiceTest in an OSGi environment");
|
||||
// Note: This timeout of 2 minutes is just for debugging purposes and should not be used in production!
|
||||
securityService = ServiceTrackerFactory.createAndOpen(Activator.getContext(), SecurityService.class).waitForService(120 * 1000);
|
||||
securityService = FullyInitializedReplicableTracker.createAndOpen(Activator.getContext(), SecurityService.class).getInitializedService(120 * 1000);
|
||||
}
|
||||
return securityService;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user