From 0ccf97f3f0465e924c134b4c3286b4dbd0b85d98 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Fri, 15 Jul 2022 11:54:59 +0200 Subject: [PATCH] Added test skeleton --- .../resourceregistry/ContextTest.java | 85 +++++++++++++++++++ src/test/resources/.gitignore | 4 + src/test/resources/logback-test.xml | 19 +++++ 3 files changed, 108 insertions(+) create mode 100644 src/test/java/org/gcube/smartgears/connector/resourceregistry/ContextTest.java create mode 100644 src/test/resources/.gitignore create mode 100644 src/test/resources/logback-test.xml diff --git a/src/test/java/org/gcube/smartgears/connector/resourceregistry/ContextTest.java b/src/test/java/org/gcube/smartgears/connector/resourceregistry/ContextTest.java new file mode 100644 index 0000000..104d498 --- /dev/null +++ b/src/test/java/org/gcube/smartgears/connector/resourceregistry/ContextTest.java @@ -0,0 +1,85 @@ +/** + * + */ +package org.gcube.smartgears.connector.resourceregistry; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + +import org.gcube.common.security.providers.SecretManagerProvider; +import org.gcube.common.security.secrets.CredentialSecret; +import org.gcube.common.security.secrets.Secret; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * @author Luca Frosini (ISTI - CNR) + */ +public class ContextTest { + + protected static final String CONFIG_INI_FILENAME = "config.ini"; + + public static final String ROOT; + public static final String VO; + public static final String VRE; + + protected static final Properties properties; + + protected static final String CLIENT_ID_PROPERTY_KEY = "client_id"; + protected static final String CLIENT_SECRET_PROPERTY_KEY = "client_secret"; + + protected static final String clientID; + protected static final String clientSecret; + + static { + ROOT = "/gcube"; + VO = ROOT + "/devsec"; + VRE = VO + "/devVRE"; + // VO = ROOT + "/devNext"; + // VRE = VO + "/NextNext"; + + + + properties = new Properties(); + InputStream input = ContextTest.class.getClassLoader().getResourceAsStream(CONFIG_INI_FILENAME); + try { + // load the properties file + properties.load(input); + + clientID = properties.getProperty(CLIENT_ID_PROPERTY_KEY); + clientSecret = properties.getProperty(CLIENT_SECRET_PROPERTY_KEY); + + } catch (IOException e) { + throw new RuntimeException(e); + } + + } + + public static void set(Secret secret) throws Exception { + SecretManagerProvider.instance.reset(); + SecretManagerProvider.instance.set(secret); + } + + public static void setContextByName(String fullContextName) throws Exception { + Secret secret = getSecretByContextName(fullContextName); + set(secret); + } + + + private static Secret getSecretByContextName(String fullContextName) throws Exception { + CredentialSecret credentialSecret = new CredentialSecret(clientID, clientSecret, fullContextName); + return credentialSecret; + } + + @BeforeClass + public static void beforeClass() throws Exception { + setContextByName(VRE); + } + + @AfterClass + public static void afterClass() throws Exception { + SecretManagerProvider.instance.reset(); + } + +} diff --git a/src/test/resources/.gitignore b/src/test/resources/.gitignore new file mode 100644 index 0000000..864304c --- /dev/null +++ b/src/test/resources/.gitignore @@ -0,0 +1,4 @@ +/config.ini +/devNext.gcubekey +/devsec.gcubekey +/gcube.gcubekey diff --git a/src/test/resources/logback-test.xml b/src/test/resources/logback-test.xml new file mode 100644 index 0000000..a4906b9 --- /dev/null +++ b/src/test/resources/logback-test.xml @@ -0,0 +1,19 @@ + + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{0}: %msg%n + + + + + + + + + + + + \ No newline at end of file