diff --git a/pom.xml b/pom.xml
index 269db23..d2722ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,11 @@
org.slf4j
slf4j-api
+
+ org.gcube.common
+ authorization-utils
+ [2.0.0, 3.0.0-SNAPSHOT)
+
junit
diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/api/rest/ServiceInstance.java b/src/main/java/org/gcube/informationsystem/resourceregistry/api/rest/ServiceInstance.java
index 725bbc9..e59d06c 100644
--- a/src/main/java/org/gcube/informationsystem/resourceregistry/api/rest/ServiceInstance.java
+++ b/src/main/java/org/gcube/informationsystem/resourceregistry/api/rest/ServiceInstance.java
@@ -1,6 +1,6 @@
package org.gcube.informationsystem.resourceregistry.api.rest;
-import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.common.authorization.utils.manager.SecretManagerProvider;
/**
* @author Luca Frosini (ISTI - CNR)
@@ -12,7 +12,7 @@ public abstract class ServiceInstance {
public static final String BASE_URL = "https://url.d4science.org";
public static String getServiceURL() {
- String context = ScopeProvider.instance.get();
+ String context = SecretManagerProvider.instance.get().getContext();
return getServiceURL(context);
}
diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/api/rest/httputils/HTTPUtility.java b/src/main/java/org/gcube/informationsystem/resourceregistry/api/rest/httputils/HTTPUtility.java
index 6a42918..094aa04 100644
--- a/src/main/java/org/gcube/informationsystem/resourceregistry/api/rest/httputils/HTTPUtility.java
+++ b/src/main/java/org/gcube/informationsystem/resourceregistry/api/rest/httputils/HTTPUtility.java
@@ -24,6 +24,9 @@ import org.gcube.informationsystem.serialization.ElementMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+ * @author Luca Frosini (ISTI - CNR)
+ */
public class HTTPUtility {
private static final Logger logger = LoggerFactory.getLogger(HTTPUtility.class);
diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/api/utils/Utility.java b/src/main/java/org/gcube/informationsystem/resourceregistry/api/utils/Utility.java
index d3b6a5f..73e77e5 100644
--- a/src/main/java/org/gcube/informationsystem/resourceregistry/api/utils/Utility.java
+++ b/src/main/java/org/gcube/informationsystem/resourceregistry/api/utils/Utility.java
@@ -11,6 +11,9 @@ import org.gcube.informationsystem.base.reference.IdentifiableElement;
import org.gcube.informationsystem.serialization.ElementMapper;
import org.gcube.informationsystem.types.TypeMapper;
+/**
+ * @author Luca Frosini (ISTI - CNR)
+ */
public abstract class Utility {
public static String getClassFromJsonNode(JsonNode jsonNode){
diff --git a/src/test/java/org/gcube/informationsystem/resourceregistry/api/ContextTest.java b/src/test/java/org/gcube/informationsystem/resourceregistry/api/ContextTest.java
new file mode 100644
index 0000000..acc83c3
--- /dev/null
+++ b/src/test/java/org/gcube/informationsystem/resourceregistry/api/ContextTest.java
@@ -0,0 +1,89 @@
+/**
+ *
+ */
+package org.gcube.informationsystem.resourceregistry.api;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+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;
+
+/**
+ * @author Luca Frosini (ISTI - CNR)
+ */
+public class ContextTest {
+
+ protected static Properties properties;
+ protected static final String PROPERTIES_FILENAME = "token.properties";
+
+ public static final String ROOT;
+ public static final String VO;
+ public static final String VRE;
+
+ static {
+ 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);
+ }
+
+ // DEFAULT_TEST_SCOPE_NAME = "/pred4s/preprod/preVRE";
+ // DEFAULT_TEST_SCOPE_NAME = "/gcube/devsec/devVRE";
+
+ ROOT = "/gcube";
+ VO = ROOT + "/devsec";
+ VRE = VO + "/devVRE";
+ // VO = ROOT + "/devNext";
+ // VRE = VO + "/NextNext";
+
+ }
+
+ 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 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);
+ return getSecret(token);
+ }
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ setContextByName(VRE);
+ }
+
+ @AfterClass
+ public static void afterClass() throws Exception {
+ SecretManagerProvider.instance.reset();
+ }
+
+}
diff --git a/src/test/java/org/gcube/informationsystem/resourceregistry/api/rest/ServiceInstanceTest.java b/src/test/java/org/gcube/informationsystem/resourceregistry/api/rest/ServiceInstanceTest.java
new file mode 100644
index 0000000..4a4069b
--- /dev/null
+++ b/src/test/java/org/gcube/informationsystem/resourceregistry/api/rest/ServiceInstanceTest.java
@@ -0,0 +1,19 @@
+package org.gcube.informationsystem.resourceregistry.api.rest;
+
+import org.gcube.informationsystem.resourceregistry.api.ContextTest;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * @author Luca Frosini (ISTI - CNR)
+ */
+public class ServiceInstanceTest extends ContextTest {
+
+ @Test
+ public void test() {
+ String url = ServiceInstance.getServiceURL();
+ String testURL = ServiceInstance.BASE_URL.replace("url.", "url.gcube.");
+ Assert.assertTrue(url.compareTo(testURL)==0);
+ }
+
+}