package org.gcube.portlets.user.dataminermanager; import static org.gcube.common.authorization.client.Constants.authorizationService; import java.util.ArrayList; import java.util.List; import org.gcube.common.authorization.library.provider.UserInfo; import org.gcube.data.analysis.dataminermanagercl.server.is.InformationSystemUtils; import org.gcube.data.analysis.dataminermanagercl.server.util.ServiceCredentials; import org.gcube.data.analysis.dataminermanagercl.shared.service.ServiceInfoData; import org.gcube.portlets.user.dataminermanager.shared.Constants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import junit.framework.TestCase; /** * * @author Giancarlo Panichi * * */ public class TestInformationSystemRequests extends TestCase { private static Logger logger = LoggerFactory.getLogger(TestInformationSystemRequests.class); private String wpsToken; private String wpsUser; private String scope; private void retrieveServicesInfo() throws Exception { logger.info("Use test user"); wpsUser = Constants.DEFAULT_USER; scope = Constants.DEFAULT_SCOPE; ServiceCredentials serviceCredentials = new ServiceCredentials(); serviceCredentials.setUserName(wpsUser); serviceCredentials.setScope(scope); List userRoles = new ArrayList<>(); userRoles.add(Constants.DEFAULT_ROLE); try { wpsToken = authorizationService().generateUserToken( new UserInfo(serviceCredentials.getUserName(), userRoles), serviceCredentials.getScope()); } catch (Exception e) { logger.error("Error generating the token for test: " + e.getLocalizedMessage(), e); throw new Exception("Error generating the token for test: " + e.getLocalizedMessage(), e); } serviceCredentials.setToken(wpsToken); String serviceAddress = InformationSystemUtils.retrieveServiceAddress(Constants.DATAMINER_SERVICE_CATEGORY, Constants.DATA_MINER_SERVICE_NAME, serviceCredentials.getScope()); logger.debug("Service Address retrieved:" + serviceAddress); if (serviceAddress == null || serviceAddress.isEmpty()) { logger.error("No DataMiner service address available!"); throw new Exception("No DataMiner service address available!"); } else { logger.info("DataMiner service address found: " + serviceAddress); } ArrayList serviceProperties = InformationSystemUtils.retrieveServiceProperties( Constants.DATAMINER_SERVICE_CATEGORY, Constants.DATA_MINER_SERVICE_NAME, serviceCredentials.getScope()); logger.debug("Service Properties retrieved:" + serviceProperties); if (serviceProperties == null || serviceProperties.isEmpty()) { logger.error("No DataMiner service properties available!"); throw new Exception("No DataMiner service properties available!"); } else { logger.info("DataMiner service properties found: "); for (ServiceInfoData serviceInfoData : serviceProperties) { logger.debug("Property: " + serviceInfoData); } } } public void testExecuteProcess() { if (Constants.TEST_ENABLE) { try { retrieveServicesInfo(); assertTrue(true); } catch (Throwable e) { logger.error(e.getLocalizedMessage(), e); assertTrue(false); } } else { assertTrue(true); } } }