You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2011/11/01 14:50:50 UTC
svn commit: r1195997 -
/incubator/airavata/trunk/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/RegistryServiceTest.java
Author: lahiru
Date: Tue Nov 1 13:50:50 2011
New Revision: 1195997
URL: http://svn.apache.org/viewvc?rev=1195997&view=rev
Log:
Patch given by Heshan for AIRAVATA-176
Added:
incubator/airavata/trunk/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/RegistryServiceTest.java
Added: incubator/airavata/trunk/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/RegistryServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/RegistryServiceTest.java?rev=1195997&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/RegistryServiceTest.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/RegistryServiceTest.java Tue Nov 1 13:50:50 2011
@@ -0,0 +1,139 @@
+package org.apache.airavata.xbaya.interpreter;
+
+import org.apache.airavata.commons.gfac.type.ApplicationDeploymentDescription;
+import org.apache.airavata.commons.gfac.type.HostDescription;
+import org.apache.airavata.commons.gfac.type.ServiceDescription;
+import org.apache.airavata.registry.api.exception.RegistryException;
+import org.apache.airavata.registry.api.exception.ServiceDescriptionRetrieveException;
+import org.apache.airavata.registry.api.impl.JCRRegistry;
+import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType;
+import org.apache.airavata.schemas.gfac.InputParameterType;
+import org.apache.airavata.schemas.gfac.OutputParameterType;
+import org.apache.airavata.schemas.gfac.StringParameterType;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import javax.jcr.RepositoryException;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.*;
+
+public class RegistryServiceTest {
+
+ @Rule
+ public ExpectedException exception = ExpectedException.none();
+
+ public JCRRegistry jcrRegistry = null;
+
+ @Before
+ public void testExecute() throws RegistryException {
+
+ try {
+ jcrRegistry = new JCRRegistry(null,
+ "org.apache.jackrabbit.core.RepositoryFactoryImpl", "admin",
+ "admin", null);
+ } catch (RepositoryException e) {
+ fail("Failed creating the JCR Registry");
+ }
+
+ HostDescription host = createHostDescription();
+ ApplicationDeploymentDescription appDesc = createAppDeploymentDescription();
+ ServiceDescription serv = createServiceDescription();
+
+ List<InputParameterType> inputList = new ArrayList<InputParameterType>();
+ InputParameterType input = InputParameterType.Factory.newInstance();
+ input.setParameterName("echo_input");
+ input.setParameterType(StringParameterType.Factory.newInstance());
+ inputList.add(input);
+ InputParameterType[] inputParamList = inputList.toArray(new InputParameterType[inputList
+ .size()]);
+
+ List<OutputParameterType> outputList = new ArrayList<OutputParameterType>();
+ OutputParameterType output = OutputParameterType.Factory.newInstance();
+ output.setParameterName("echo_output");
+ input.setParameterType(StringParameterType.Factory.newInstance());
+ outputList.add(output);
+ OutputParameterType[] outputParamList = outputList
+ .toArray(new OutputParameterType[outputList.size()]);
+
+ serv.getType().setInputParametersArray(inputParamList);
+ serv.getType().setOutputParametersArray(outputParamList);
+
+ jcrRegistry.saveHostDescription(host);
+ jcrRegistry.saveDeploymentDescription(serv.getType().getName(), host
+ .getType().getHostName(), appDesc);
+ jcrRegistry.saveServiceDescription(serv);
+ jcrRegistry.deployServiceOnHost(serv.getType().getName(), host
+ .getType().getHostName());
+
+ }
+
+ private HostDescription createHostDescription() {
+ HostDescription host = new HostDescription();
+ host.getType().setHostName("localhost");
+ host.getType().setHostAddress("localhost");
+ return host;
+ }
+
+ private ServiceDescription createServiceDescription() {
+ ServiceDescription serv = new ServiceDescription();
+ serv.getType().setName("SimpleEcho");
+ return serv;
+ }
+
+ private ApplicationDeploymentDescription createAppDeploymentDescription() {
+ ApplicationDeploymentDescription appDesc = new ApplicationDeploymentDescription();
+ ApplicationDeploymentDescriptionType app = appDesc.getType();
+ ApplicationDeploymentDescriptionType.ApplicationName name = ApplicationDeploymentDescriptionType.ApplicationName.Factory.newInstance();
+ name.setStringValue("EchoLocal");
+ app.setApplicationName(name);
+ app.setExecutableLocation("/bin/echo");
+ app.setScratchWorkingDirectory("/tmp");
+ app.setStaticWorkingDirectory("/tmp");
+ app.setInputDataDirectory("/tmp/input");
+ app.setOutputDataDirectory("/tmp/output");
+ app.setStandardOutput("/tmp/echo.stdout");
+ app.setStandardError("/tmp/echo.stdout");
+ return appDesc;
+ }
+
+ @Test
+ public void getFromRegistry() throws RegistryException {
+ /* Checking the registry for the saved descriptors */
+ exception.expect(ServiceDescriptionRetrieveException.class);
+ assertNotNull(jcrRegistry.getHostDescription("localhost"));
+ assertNull(jcrRegistry.getHostDescription("remotehost"));
+
+ assertNull(jcrRegistry.getDeploymentDescription("random1", "random2"));
+ assertNotNull(jcrRegistry.getServiceDescription("SimpleEcho"));
+ assertNull(jcrRegistry.getServiceDescription("dummyService"));
+ }
+
+ @Test
+ public void searchRegistry() throws RegistryException {
+ /* Searching the registry for descriptors */
+ assertNotNull(jcrRegistry.searchHostDescription("localhost"));
+ assertNotNull(jcrRegistry.searchDeploymentDescription("EchoLocal", "localhost"));
+ assertNotNull(jcrRegistry.searchServiceDescription("SimpleEcho"));
+ }
+
+ @Test
+ public void deleteFromRegistry() throws RegistryException {
+ /* Deleting the descriptors from the registry */
+ exception.expect(ServiceDescriptionRetrieveException.class);
+ jcrRegistry.deleteHostDescription("localhost");
+ assertNull(jcrRegistry.getHostDescription("localhost"));
+ assertNull(jcrRegistry.getHostDescription("remotehost"));
+
+ jcrRegistry.deleteDeploymentDescription("SimpleEcho", "localhost", "EchoLocal");
+ assertNull(jcrRegistry.getDeploymentDescription("EchoLocal", "localhost"));
+ assertNull(jcrRegistry.getDeploymentDescription("EchoLocal", "remotehost"));
+
+ jcrRegistry.deleteServiceDescription("SimpleEcho");
+ jcrRegistry.getServiceDescription("SimpleEcho");
+ assertNull(jcrRegistry.getServiceDescription("dummyService"));
+ }
+}