commented tests
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/private/luca.frosini/infrastructure-tests@174682 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
e4f571a3bc
commit
74dca02fb3
13
pom.xml
13
pom.xml
|
@ -103,6 +103,19 @@
|
||||||
|
|
||||||
<!-- END Document Store Lib -->
|
<!-- END Document Store Lib -->
|
||||||
|
|
||||||
|
<!-- Home Library dependencies MUST be removed when the storagehub add missing features -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.common</groupId>
|
||||||
|
<artifactId>home-library-jcr</artifactId>
|
||||||
|
<version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.common</groupId>
|
||||||
|
<artifactId>home-library</artifactId>
|
||||||
|
<version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
|
||||||
|
</dependency>
|
||||||
|
<!-- END of Home Library dependencies -->
|
||||||
|
|
||||||
<!-- Accounting Libraries -->
|
<!-- Accounting Libraries -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.accounting</groupId>
|
<groupId>org.gcube.accounting</groupId>
|
||||||
|
|
|
@ -20,6 +20,7 @@ public class JobUsageRecordScopedTest extends ScopedTest {
|
||||||
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(JobUsageRecordScopedTest.class);
|
private static Logger logger = LoggerFactory.getLogger(JobUsageRecordScopedTest.class);
|
||||||
|
|
||||||
|
/*
|
||||||
@Test
|
@Test
|
||||||
public void testRequiredFieldsScoped() throws InvalidValueException{
|
public void testRequiredFieldsScoped() throws InvalidValueException{
|
||||||
JobUsageRecord usageRecord = TestUsageRecord.createTestJobUsageRecord();
|
JobUsageRecord usageRecord = TestUsageRecord.createTestJobUsageRecord();
|
||||||
|
@ -36,5 +37,5 @@ public class JobUsageRecordScopedTest extends ScopedTest {
|
||||||
usageRecord.validate();
|
usageRecord.validate();
|
||||||
logger.debug("{}", usageRecord);
|
logger.debug("{}", usageRecord);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ public class ServiceUsageRecordScopedTest extends ScopedTest {
|
||||||
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(ServiceUsageRecordScopedTest.class);
|
private static Logger logger = LoggerFactory.getLogger(ServiceUsageRecordScopedTest.class);
|
||||||
|
|
||||||
|
/*
|
||||||
@Test
|
@Test
|
||||||
public void testRequiredFieldsScoped() throws InvalidValueException{
|
public void testRequiredFieldsScoped() throws InvalidValueException{
|
||||||
ServiceUsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
|
ServiceUsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
|
||||||
|
@ -36,5 +37,6 @@ public class ServiceUsageRecordScopedTest extends ScopedTest {
|
||||||
usageRecord.validate();
|
usageRecord.validate();
|
||||||
logger.debug("{}", usageRecord);
|
logger.debug("{}", usageRecord);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ public class StorageUsageRecordScopedTest extends ScopedTest {
|
||||||
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(StorageUsageRecordScopedTest.class);
|
private static Logger logger = LoggerFactory.getLogger(StorageUsageRecordScopedTest.class);
|
||||||
|
|
||||||
|
/*
|
||||||
@Test
|
@Test
|
||||||
public void testRequiredFieldsScoped() throws InvalidValueException{
|
public void testRequiredFieldsScoped() throws InvalidValueException{
|
||||||
StorageUsageRecord usageRecord = TestUsageRecord.createTestStorageUsageRecord();
|
StorageUsageRecord usageRecord = TestUsageRecord.createTestStorageUsageRecord();
|
||||||
|
@ -36,5 +37,6 @@ public class StorageUsageRecordScopedTest extends ScopedTest {
|
||||||
usageRecord.validate();
|
usageRecord.validate();
|
||||||
logger.debug("{}", usageRecord);
|
logger.debug("{}", usageRecord);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class ContextAuthorizationTest extends ContextTest {
|
||||||
String userToken = authorizationService().generateUserToken(userInfo, context);
|
String userToken = authorizationService().generateUserToken(userInfo, context);
|
||||||
SecurityTokenProvider.instance.set(userToken);
|
SecurityTokenProvider.instance.set(userToken);
|
||||||
|
|
||||||
String applicationName = "ScienceCatalogue";
|
String applicationName = "nagios.check";
|
||||||
String generatedToken = authorizationService().generateExternalServiceToken(applicationName);
|
String generatedToken = authorizationService().generateExternalServiceToken(applicationName);
|
||||||
|
|
||||||
logger.trace("Application Token for application {} in Context {} is {}", applicationName,
|
logger.trace("Application Token for application {} in Context {} is {}", applicationName,
|
||||||
|
|
|
@ -0,0 +1,122 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.hl;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import org.gcube.common.authorization.client.Constants;
|
||||||
|
import org.gcube.common.authorization.client.exceptions.ObjectNotFound;
|
||||||
|
import org.gcube.common.authorization.library.AuthorizationEntry;
|
||||||
|
import org.gcube.common.authorization.library.provider.AuthorizationProvider;
|
||||||
|
import org.gcube.common.authorization.library.provider.ClientInfo;
|
||||||
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||||
|
import org.gcube.common.authorization.library.utils.Caller;
|
||||||
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
|
import org.junit.AfterClass;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Luca Frosini (ISTI - CNR)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ContextTest {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(ContextTest.class);
|
||||||
|
|
||||||
|
protected static final String PROPERTIES_FILENAME = "token.properties";
|
||||||
|
|
||||||
|
private static final String GCUBE_VARNAME = "GCUBE";
|
||||||
|
public static final String GCUBE;
|
||||||
|
|
||||||
|
private static final String GCUBE_DEVNEXT_VARNAME = "GCUBE_DEVNEXT";
|
||||||
|
public static final String GCUBE_DEVNEXT;
|
||||||
|
|
||||||
|
private static final String GCUBE_DEVNEXT_NEXTNEXT_VARNAME = "GCUBE_DEVNEXT_NEXTNEXT";
|
||||||
|
public static final String GCUBE_DEVNEXT_NEXTNEXT;
|
||||||
|
|
||||||
|
public static final String GCUBE_DEVSEC_VARNAME = "GCUBE_DEVSEC";
|
||||||
|
public static final String GCUBE_DEVSEC;
|
||||||
|
|
||||||
|
public static final String GCUBE_DEVSEC_DEVVRE_VARNAME = "GCUBE_DEVSEC_DEVVRE";
|
||||||
|
public static final String GCUBE_DEVSEC_DEVVRE;
|
||||||
|
|
||||||
|
|
||||||
|
private static final String GCUBE_DEVNEXT_ANOTHER_USER_VARNAME = "GCUBE_DEVNEXT_ANOTHER_USER";
|
||||||
|
public static final String GCUBE_DEVNEXT_ANOTHER_USER;
|
||||||
|
|
||||||
|
public static final String DEFAULT_TEST_SCOPE;
|
||||||
|
|
||||||
|
public static final String GCUBE_PRE_PROD_PREVRE_VARNAME = "GCUBE_PRE_PROD_PREVRE";
|
||||||
|
public static final String GCUBE_PRE_PROD_PREVRE;
|
||||||
|
|
||||||
|
public static final String GCUBE_PRE_PROD_PARTHENOS_REGISTRY_VARNAME = "GCUBE_PRE_PROD_PARTHENOS_REGISTRY";
|
||||||
|
public static final String GCUBE_PRE_PROD_PARTHENOS_REGISTRY;
|
||||||
|
|
||||||
|
public static final String ROOT_VARNAME = "ROOT";
|
||||||
|
public static final String ROOT;
|
||||||
|
|
||||||
|
static {
|
||||||
|
Properties properties = new Properties();
|
||||||
|
InputStream input = ContextTest.class.getClassLoader().getResourceAsStream(PROPERTIES_FILENAME);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// load the properties file
|
||||||
|
properties.load(input);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
GCUBE = properties.getProperty(GCUBE_VARNAME);
|
||||||
|
|
||||||
|
GCUBE_DEVNEXT = properties.getProperty(GCUBE_DEVNEXT_VARNAME);
|
||||||
|
GCUBE_DEVNEXT_NEXTNEXT = properties.getProperty(GCUBE_DEVNEXT_NEXTNEXT_VARNAME);
|
||||||
|
|
||||||
|
GCUBE_DEVSEC = properties.getProperty(GCUBE_DEVSEC_VARNAME);
|
||||||
|
GCUBE_DEVSEC_DEVVRE = properties.getProperty(GCUBE_DEVSEC_DEVVRE_VARNAME);
|
||||||
|
|
||||||
|
GCUBE_DEVNEXT_ANOTHER_USER = properties.getProperty(GCUBE_DEVNEXT_ANOTHER_USER_VARNAME);
|
||||||
|
|
||||||
|
GCUBE_PRE_PROD_PARTHENOS_REGISTRY = properties.getProperty(GCUBE_PRE_PROD_PARTHENOS_REGISTRY_VARNAME);
|
||||||
|
GCUBE_PRE_PROD_PREVRE = properties.getProperty(GCUBE_PRE_PROD_PREVRE_VARNAME);
|
||||||
|
ROOT = properties.getProperty(ROOT_VARNAME);
|
||||||
|
|
||||||
|
DEFAULT_TEST_SCOPE = GCUBE_PRE_PROD_PREVRE;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getCurrentScope(String token) throws ObjectNotFound, Exception{
|
||||||
|
AuthorizationEntry authorizationEntry = Constants.authorizationService().get(token);
|
||||||
|
String context = authorizationEntry.getContext();
|
||||||
|
logger.info("Context of token {} is {}", token, context);
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void setContext(String token) throws ObjectNotFound, Exception{
|
||||||
|
SecurityTokenProvider.instance.set(token);
|
||||||
|
AuthorizationEntry authorizationEntry = Constants.authorizationService().get(token);
|
||||||
|
ClientInfo clientInfo = authorizationEntry.getClientInfo();
|
||||||
|
logger.debug("User : {} - Type : {}", clientInfo.getId(), clientInfo.getType().name());
|
||||||
|
String qualifier = authorizationEntry.getQualifier();
|
||||||
|
Caller caller = new Caller(clientInfo, qualifier);
|
||||||
|
AuthorizationProvider.instance.set(caller);
|
||||||
|
ScopeProvider.instance.set(getCurrentScope(token));
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public static void beforeClass() throws Exception{
|
||||||
|
setContext(DEFAULT_TEST_SCOPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterClass
|
||||||
|
public static void afterClass() throws Exception{
|
||||||
|
SecurityTokenProvider.instance.reset();
|
||||||
|
ScopeProvider.instance.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,81 @@
|
||||||
|
package org.gcube.hl;
|
||||||
|
|
||||||
|
import org.gcube.common.authorization.client.Constants;
|
||||||
|
import org.gcube.common.authorization.client.exceptions.ObjectNotFound;
|
||||||
|
import org.gcube.common.authorization.library.AuthorizationEntry;
|
||||||
|
import org.gcube.common.authorization.library.ClientType;
|
||||||
|
import org.gcube.common.authorization.library.provider.AuthorizationProvider;
|
||||||
|
import org.gcube.common.authorization.library.provider.ClientInfo;
|
||||||
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||||
|
import org.gcube.common.authorization.library.utils.Caller;
|
||||||
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Luca Frosini (ISTI - CNR)
|
||||||
|
*/
|
||||||
|
public class ContextUtility {
|
||||||
|
|
||||||
|
private static Logger logger = LoggerFactory.getLogger(ContextUtility.class);
|
||||||
|
|
||||||
|
public static void setContext(String token) throws ObjectNotFound, Exception{
|
||||||
|
SecurityTokenProvider.instance.set(token);
|
||||||
|
AuthorizationEntry authorizationEntry = Constants.authorizationService().get(token);
|
||||||
|
ClientInfo clientInfo = authorizationEntry.getClientInfo();
|
||||||
|
logger.debug("User : {} - Type : {}", clientInfo.getId(), clientInfo.getType().name());
|
||||||
|
String qualifier = authorizationEntry.getQualifier();
|
||||||
|
Caller caller = new Caller(clientInfo, qualifier);
|
||||||
|
AuthorizationProvider.instance.set(caller);
|
||||||
|
ScopeProvider.instance.set(getCurrentContext());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getCurrentContext() {
|
||||||
|
try {
|
||||||
|
String token = SecurityTokenProvider.instance.get();
|
||||||
|
return Constants.authorizationService().get(token).getContext();
|
||||||
|
}catch (Exception e) {
|
||||||
|
String context = ScopeProvider.instance.get();
|
||||||
|
if(context!=null) {
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ClientInfo getClientInfo() {
|
||||||
|
try {
|
||||||
|
Caller caller = AuthorizationProvider.instance.get();
|
||||||
|
if(caller!=null){
|
||||||
|
return caller.getClient();
|
||||||
|
}else{
|
||||||
|
String token = SecurityTokenProvider.instance.get();
|
||||||
|
AuthorizationEntry authorizationEntry = Constants.authorizationService().get(token);
|
||||||
|
return authorizationEntry.getClientInfo();
|
||||||
|
}
|
||||||
|
}catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final String GET_USERNAME_ERROR = "Unable to retrieve user";
|
||||||
|
|
||||||
|
public static String getUsername() {
|
||||||
|
try {
|
||||||
|
return getClientInfo().getId();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(GET_USERNAME_ERROR);
|
||||||
|
throw new RuntimeException(GET_USERNAME_ERROR, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isApplication() {
|
||||||
|
try {
|
||||||
|
ClientInfo clientInfo = getClientInfo();
|
||||||
|
return clientInfo.getType() == ClientType.EXTERNALSERVICE ;
|
||||||
|
}catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
package org.gcube.hl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.gcube.common.homelibrary.home.Home;
|
||||||
|
import org.gcube.common.homelibrary.home.HomeLibrary;
|
||||||
|
import org.gcube.common.homelibrary.home.HomeManager;
|
||||||
|
import org.gcube.common.homelibrary.home.HomeManagerFactory;
|
||||||
|
import org.gcube.common.homelibrary.home.User;
|
||||||
|
import org.gcube.common.homelibrary.home.workspace.Workspace;
|
||||||
|
import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder;
|
||||||
|
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
|
||||||
|
import org.gcube.common.homelibrary.home.workspace.WorkspaceSharedFolder;
|
||||||
|
import org.gcube.common.homelibrary.home.workspace.catalogue.WorkspaceCatalogue;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
public class HLCatalogueSpecialFolderTest {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(HLCatalogueSpecialFolderTest.class);
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getHLCatalogueFolderForVRE() throws Exception {
|
||||||
|
ContextTest.setContext("2d23f22a-a391-41e3-afee-3825953e1ad4-843339462");
|
||||||
|
String username = ContextUtility.getUsername();
|
||||||
|
HomeManagerFactory factory = HomeLibrary.getHomeManagerFactory();
|
||||||
|
HomeManager manager = factory.getHomeManager();
|
||||||
|
User user = manager.getUser(username);
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
Home home = manager.getHome(user);
|
||||||
|
Workspace ws = home.getWorkspace();
|
||||||
|
|
||||||
|
|
||||||
|
WorkspaceSharedFolder vreFolder = ws.getVREFolderByScope(ContextUtility.getCurrentContext());
|
||||||
|
WorkspaceCatalogue workspaceCatalogue = vreFolder.getVRECatalogue();
|
||||||
|
|
||||||
|
logger.debug("{} {} {}", workspaceCatalogue.getId(), workspaceCatalogue.getPath(), workspaceCatalogue.isHidden()? " (hidden)":"");
|
||||||
|
|
||||||
|
List<WorkspaceItem> workspaceItems = workspaceCatalogue.getChildren(true);
|
||||||
|
for(WorkspaceItem workspaceItem : workspaceItems) {
|
||||||
|
logger.debug("{} {} {}", workspaceItem.getId(), workspaceItem.getPath(), workspaceItem.isHidden()? " (hidden)":"");
|
||||||
|
if(workspaceItem.getId().compareTo("d81bd0dc-40c4-4a4f-b4c2-6e0642c5215d")==0) {
|
||||||
|
WorkspaceFolder workspaceFolder = (WorkspaceFolder) workspaceItem;
|
||||||
|
List<WorkspaceItem> stockWorkspaceItems = workspaceFolder.getChildren(true);
|
||||||
|
for(WorkspaceItem stockWorkspaceItem : stockWorkspaceItems) {
|
||||||
|
logger.debug("{} {} {}", stockWorkspaceItem.getId(), stockWorkspaceItem.getPath(), stockWorkspaceItem.isHidden()? " (hidden)":"");
|
||||||
|
// stockWorkspaceItem.setHidden(false);
|
||||||
|
//stockWorkspaceItem.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
//workspaceItem.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue