diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a41f04..1b1f8a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm # Changelog for Smart Executor Client +## [v3.0.1-SNAPSHOT] + +- Ported service to authorization-utils [#22871] ## [v3.0.0] diff --git a/pom.xml b/pom.xml index b91c932..c560bcb 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.gcube.vremanagement smart-executor-client - 3.0.0 + 3.0.1-SNAPSHOT Smart Executor Client Smart Executor Client is a library designed to interact with Smart Executor exposed REST API @@ -30,7 +30,7 @@ org.gcube.distribution gcube-bom - 2.0.1 + 2.1.0-SNAPSHOT pom import @@ -83,6 +83,11 @@ logback-classic test + + org.gcube.common + authorization-utils + test + diff --git a/src/test/java/org/gcube/vremanagement/executor/client/ContextTest.java b/src/test/java/org/gcube/vremanagement/executor/client/ContextTest.java index ea20255..38d2402 100644 --- a/src/test/java/org/gcube/vremanagement/executor/client/ContextTest.java +++ b/src/test/java/org/gcube/vremanagement/executor/client/ContextTest.java @@ -7,31 +7,24 @@ 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.gcube.common.authorization.utils.manager.SecretManager; +import org.gcube.common.authorization.utils.manager.SecretManagerProvider; +import org.gcube.common.authorization.utils.secret.Secret; +import org.gcube.common.authorization.utils.secret.SecretUtility; 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 Properties properties; protected static final String PROPERTIES_FILENAME = "token.properties"; - public static final String DEFAULT_TEST_SCOPE_NAME; + public static final String ROOT; + public static final String VO; + public static final String VRE; static { properties = new Properties(); @@ -44,42 +37,50 @@ public class ContextTest { throw new RuntimeException(e); } - //DEFAULT_TEST_SCOPE_NAME = "/pred4s/preprod/preVRE"; - DEFAULT_TEST_SCOPE_NAME = "/gcube/devNext/NextNext"; + ROOT = "/gcube"; +// VO = ROOT + "/devsec"; +// VRE = VO + "/devVRE"; + VO = ROOT + "/devNext"; + VRE = VO + "/NextNext"; + } - 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 set(Secret secret) throws Exception { + SecretManagerProvider.instance.reset(); + SecretManager secretManager = new SecretManager(); + SecretManagerProvider.instance.set(secretManager); + secretManager.addSecret(secret); + secretManager.set(); } - public static void setContextByName(String fullContextName) throws ObjectNotFound, Exception { + public static void setContext(String token) throws Exception { + Secret secret = getSecret(token); + set(secret); + } + + public static void setContextByName(String fullContextName) throws Exception { + Secret secret = getSecretByContextName(fullContextName); + set(secret); + } + + private static Secret getSecret(String token) throws Exception { + Secret secret = SecretUtility.getSecretByTokenString(token); + return secret; + } + + private static Secret getSecretByContextName(String fullContextName) throws Exception { String token = ContextTest.properties.getProperty(fullContextName); - setContext(token); - } - - 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)); + return getSecret(token); } @BeforeClass public static void beforeClass() throws Exception { - setContextByName(DEFAULT_TEST_SCOPE_NAME); + setContextByName(ROOT); } @AfterClass public static void afterClass() throws Exception { - SecurityTokenProvider.instance.reset(); - ScopeProvider.instance.reset(); + SecretManagerProvider.instance.reset(); } }