Repository: airavata
Updated Branches:
  refs/heads/master e6126da9e -> dd7e6c750


modules/gfac/gfac-ssh/src/test/java/org/apache/airavata/core/gfac/services/impl/CredentialStoreTest.java


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/565ea4b6
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/565ea4b6
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/565ea4b6

Branch: refs/heads/master
Commit: 565ea4b6862a9ca15c789a206dfd4b83b93424e0
Parents: d89835b
Author: lahiru <[email protected]>
Authored: Tue Jul 15 12:20:43 2014 -0400
Committer: lahiru <[email protected]>
Committed: Tue Jul 15 12:20:43 2014 -0400

----------------------------------------------------------------------
 .../gfac/services/impl/CredentialStoreTest.java | 145 +++++++++++++++++++
 1 file changed, 145 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/565ea4b6/modules/gfac/gfac-ssh/src/test/java/org/apache/airavata/core/gfac/services/impl/CredentialStoreTest.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-ssh/src/test/java/org/apache/airavata/core/gfac/services/impl/CredentialStoreTest.java
 
b/modules/gfac/gfac-ssh/src/test/java/org/apache/airavata/core/gfac/services/impl/CredentialStoreTest.java
new file mode 100644
index 0000000..1732412
--- /dev/null
+++ 
b/modules/gfac/gfac-ssh/src/test/java/org/apache/airavata/core/gfac/services/impl/CredentialStoreTest.java
@@ -0,0 +1,145 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.core.gfac.services.impl;
+
+import junit.framework.Assert;
+import org.apache.airavata.client.AiravataAPIFactory;
+import org.apache.airavata.client.api.AiravataAPI;
+import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
+import org.apache.airavata.common.exception.AiravataConfigurationException;
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ClientSettings;
+import org.apache.airavata.common.utils.DBUtil;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential;
+import org.apache.airavata.credential.store.store.CredentialReader;
+import org.apache.airavata.credential.store.store.impl.CredentialReaderImpl;
+import org.apache.airavata.gfac.GFacException;
+import org.apache.airavata.gfac.RequestData;
+import org.apache.airavata.gfac.ssh.security.TokenizedSSHAuthInfo;
+import org.apache.airavata.gsi.ssh.api.SSHApiException;
+import org.apache.airavata.gsi.ssh.api.ServerInfo;
+import org.apache.airavata.gsi.ssh.impl.PBSCluster;
+import org.apache.airavata.gsi.ssh.util.CommonUtils;
+import org.apache.airavata.registry.api.AiravataRegistry2;
+import org.apache.airavata.registry.api.AiravataRegistryFactory;
+import org.apache.airavata.registry.api.AiravataUser;
+import org.apache.airavata.registry.api.Gateway;
+import 
org.apache.airavata.registry.api.exception.RegAccessorInstantiateException;
+import org.apache.airavata.registry.api.exception.RegAccessorInvalidException;
+import 
org.apache.airavata.registry.api.exception.RegAccessorUndefinedException;
+import org.apache.airavata.registry.api.exception.RegException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.Test;
+
+import java.util.UUID;
+
+public class CredentialStoreTest {
+    private final static Logger logger = 
LoggerFactory.getLogger(CredentialStoreTest.class);
+
+    @BeforeTest
+    public void testGSISSHProvider() throws GFacException, 
IllegalAccessException, ClassNotFoundException, InstantiationException, 
ApplicationSettingsException, SSHApiException {
+        System.setProperty("credential.store.keystore.url", 
"/Users/lahirugunathilake/Downloads/airavata_sym.jks");
+        System.setProperty("credential.store.keystore.alias", "airavata");
+        System.setProperty("credential.store.keystore.password", "airavata");
+        System.setProperty("myproxy.username", "ogce");
+        System.setProperty("myproxy.password", "OpenGwy14");
+        System.setProperty("trusted.cert.location", 
"/Users/lahirugunathilake/Downloads/certificates");
+        
System.setProperty("credential.store.jdbc.url","jdbc:mysql://gw111.iu.xsede.org:3306/airavata_pga_prod");
+        System.setProperty("credential.store.jdbc.user","pgaAiravataUser");
+        System.setProperty("credential.store.jdbc.password","pgaAiravataPWD");
+        
System.setProperty("credential.store.jdbc.driver","com.mysql.jdbc.Driver");
+
+
+        try {
+            AiravataRegistry2 registry = 
AiravataRegistryFactory.getRegistry(new Gateway("default"),
+                    new AiravataUser("admin"));
+            UUID uuid = UUID.randomUUID();
+            System.out.println(uuid.toString());
+            String publicKey = 
registry.createCredential("default",uuid.toString(),"cgateway" );
+            System.out.println(publicKey);
+//            String tokenId = uuid.toString();
+            String tokenId = "2c308fa9-99f8-4baa-92e4-d062e311483c";
+            CredentialReader credentialReader = new CredentialReaderImpl(new 
DBUtil("jdbc:mysql://gw111.iu.xsede.org:3306/airavata_pga_prod",
+                    "pgaAiravataUser", "pgaAiravataPWD", 
"com.mysql.jdbc.Driver"));
+
+
+            RequestData requestData = new RequestData();
+            requestData.setMyProxyUserName("cgateway");
+            requestData.setTokenId(tokenId);
+            requestData.setGatewayId("default");
+            TokenizedSSHAuthInfo tokenizedSSHAuthInfo = new 
TokenizedSSHAuthInfo(credentialReader, requestData);
+
+            SSHCredential credentials = tokenizedSSHAuthInfo.getCredentials();
+            ServerInfo serverInfo = new ServerInfo("cgateway", 
"bigred2.uits.iu.edu");
+
+            PBSCluster pbsCluster = new PBSCluster(serverInfo, 
tokenizedSSHAuthInfo, CommonUtils.getPBSJobManager("/opt/torque/bin/"));
+            Assert.assertNotNull(pbsCluster);
+            return;
+        } catch (RegAccessorInvalidException e) {
+            e.printStackTrace();
+        } catch (RegAccessorInstantiateException e) {
+            e.printStackTrace();
+        } catch (RegException e) {
+            e.printStackTrace();
+        } catch (AiravataConfigurationException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Test
+    public static void main(String[] args) {
+        try {
+            new CredentialStoreTest().testGSISSHProvider();
+        } catch (GFacException e) {
+            e.printStackTrace();
+        } catch (IllegalAccessException e) {
+            e.printStackTrace();
+        } catch (ClassNotFoundException e) {
+            e.printStackTrace();
+        } catch (InstantiationException e) {
+            e.printStackTrace();
+        } catch (ApplicationSettingsException e) {
+            e.printStackTrace();
+        } catch (SSHApiException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static AiravataAPI getAiravataAPI() throws 
AiravataAPIInvocationException, ApplicationSettingsException {
+        AiravataAPI airavataAPI;
+        try {
+            String sysUser = ClientSettings.getSetting("admin");
+            String gateway = ClientSettings.getSetting("default");
+            airavataAPI = AiravataAPIFactory.getAPI(gateway, sysUser);
+        } catch (AiravataAPIInvocationException e) {
+            logger.error("Unable to create airavata API", e.getMessage());
+            throw new AiravataAPIInvocationException(e);
+        } catch (ApplicationSettingsException e) {
+            logger.error("Unable to create airavata API", e.getMessage());
+            throw new ApplicationSettingsException(e.getMessage());
+        }
+        return airavataAPI;
+    }
+
+}

Reply via email to