You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2015/10/30 16:52:55 UTC

oodt git commit: OODT-889 add more tests

Repository: oodt
Updated Branches:
  refs/heads/master cc372588e -> 5cb04beba


OODT-889 add more tests


Project: http://git-wip-us.apache.org/repos/asf/oodt/repo
Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/5cb04beb
Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/5cb04beb
Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/5cb04beb

Branch: refs/heads/master
Commit: 5cb04beba041b7cae3fccfefcf1c6c3fb9546747
Parents: cc37258
Author: Tom Barber <to...@analytical-labs.com>
Authored: Fri Oct 30 15:52:35 2015 +0000
Committer: Tom Barber <to...@analytical-labs.com>
Committed: Fri Oct 30 15:52:35 2015 +0000

----------------------------------------------------------------------
 .../database/DatabaseConnectionBuilder.java     |  7 +-
 core/pom.xml                                    | 10 +++
 workflow/pom.xml                                | 20 ------
 .../DataSourceWorkflowRepository.java           |  7 +-
 .../TestPackagedWorkflowRepository.java         | 24 +++++--
 .../TestWorkflowDataSourceRepository.java       | 72 +++++++++++++++-----
 .../repository/TestWorkflowRepository.java      | 21 +++---
 7 files changed, 103 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oodt/blob/5cb04beb/commons/src/main/java/org/apache/oodt/commons/database/DatabaseConnectionBuilder.java
----------------------------------------------------------------------
diff --git a/commons/src/main/java/org/apache/oodt/commons/database/DatabaseConnectionBuilder.java b/commons/src/main/java/org/apache/oodt/commons/database/DatabaseConnectionBuilder.java
index fbb555a..221f2b3 100644
--- a/commons/src/main/java/org/apache/oodt/commons/database/DatabaseConnectionBuilder.java
+++ b/commons/src/main/java/org/apache/oodt/commons/database/DatabaseConnectionBuilder.java
@@ -18,8 +18,6 @@
 
 package org.apache.oodt.commons.database;
 
-//JDK imports
-
 import org.apache.commons.dbcp.ConnectionFactory;
 import org.apache.commons.dbcp.DriverManagerConnectionFactory;
 import org.apache.commons.dbcp.PoolableConnectionFactory;
@@ -28,8 +26,6 @@ import org.apache.commons.pool.impl.GenericObjectPool;
 
 import javax.sql.DataSource;
 
-//APACHE imports
-
 /**
  * @author mattmann
  * @version $Revision$
@@ -55,9 +51,8 @@ public final class DatabaseConnectionBuilder {
                           url, user, pass);
               PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(
                           connectionFactory, connectionPool, null, null, false, true);
-      ds = new PoolingDataSource(connectionPool);
 
-        return ds;
+      return new PoolingDataSource(connectionPool);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/oodt/blob/5cb04beb/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 025ef60..4ba2355 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -136,6 +136,11 @@ the License.
         <version>1.2</version>
       </dependency>
       <dependency>
+        <groupId>concurrent</groupId>
+        <artifactId>concurrent</artifactId>
+        <version>1.3.4</version>
+      </dependency>
+      <dependency>
         <groupId>edu.ucar</groupId>
         <artifactId>netcdf</artifactId>
         <version>4.2</version>
@@ -156,6 +161,11 @@ the License.
         <version>5.13.0.0</version>
       </dependency>
       <dependency>
+        <groupId>joda-time</groupId>
+        <artifactId>joda-time</artifactId>
+        <version>2.5</version>
+      </dependency>
+      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.12</version>

http://git-wip-us.apache.org/repos/asf/oodt/blob/5cb04beb/workflow/pom.xml
----------------------------------------------------------------------
diff --git a/workflow/pom.xml b/workflow/pom.xml
index 310cace..3e31ab9 100644
--- a/workflow/pom.xml
+++ b/workflow/pom.xml
@@ -54,22 +54,18 @@ the License.
     <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
-      <version>1.3</version>
     </dependency>
     <dependency>
       <groupId>commons-collections</groupId>
       <artifactId>commons-collections</artifactId>
-      <version>2.1</version>
     </dependency>
     <dependency>
       <groupId>commons-dbcp</groupId>
       <artifactId>commons-dbcp</artifactId>
-      <version>1.2.1</version>
     </dependency>
     <dependency>
       <groupId>commons-httpclient</groupId>
       <artifactId>commons-httpclient</artifactId>
-      <version>3.0</version>
     </dependency>
     <dependency>
       <groupId>commons-io</groupId>
@@ -78,84 +74,68 @@ the License.
     <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
     </dependency>
     <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging</artifactId>
-      <version>1.0.3</version>
     </dependency>
     <dependency>
       <groupId>commons-pool</groupId>
       <artifactId>commons-pool</artifactId>
-      <version>1.2</version>
     </dependency>
     <dependency>
       <groupId>concurrent</groupId>
       <artifactId>concurrent</artifactId>
-      <version>1.3.4</version>
     </dependency>
     <dependency>
       <groupId>hsqldb</groupId>
       <artifactId>hsqldb</artifactId>
-      <version>1.8.0.7</version>
     </dependency>
     <dependency>
       <groupId>joda-time</groupId>
       <artifactId>joda-time</artifactId>
-      <version>2.5</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>3.8.2</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.geronimo.javamail</groupId>
       <artifactId>geronimo-javamail_1.4_mail</artifactId>
-      <version>1.8.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.geronimo.specs</groupId>
       <artifactId>geronimo-activation_1.1_spec</artifactId>
-      <version>1.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.lucene</groupId>
       <artifactId>lucene-core</artifactId>
-      <version>2.0.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.oodt</groupId>
       <artifactId>cas-cli</artifactId>
-      <version>${project.parent.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.oodt</groupId>
       <artifactId>cas-metadata</artifactId>
-      <version>${project.parent.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.oodt</groupId>
       <artifactId>cas-resource</artifactId>
-      <version>${project.parent.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.oodt</groupId>
       <artifactId>oodt-commons</artifactId>
-      <version>${project.parent.version}</version>
     </dependency>
     <dependency>
       <groupId>org.safehaus.jug</groupId>
       <artifactId>jug</artifactId>
-      <version>2.0.0</version>
       <classifier>asl</classifier>
     </dependency>
     <dependency>
       <groupId>xmlrpc</groupId>
       <artifactId>xmlrpc</artifactId>
-      <version>2.0.1</version>
     </dependency>
   </dependencies>
   <build>

http://git-wip-us.apache.org/repos/asf/oodt/blob/5cb04beb/workflow/src/main/java/org/apache/oodt/cas/workflow/repository/DataSourceWorkflowRepository.java
----------------------------------------------------------------------
diff --git a/workflow/src/main/java/org/apache/oodt/cas/workflow/repository/DataSourceWorkflowRepository.java b/workflow/src/main/java/org/apache/oodt/cas/workflow/repository/DataSourceWorkflowRepository.java
index a8eea51..207730f 100644
--- a/workflow/src/main/java/org/apache/oodt/cas/workflow/repository/DataSourceWorkflowRepository.java
+++ b/workflow/src/main/java/org/apache/oodt/cas/workflow/repository/DataSourceWorkflowRepository.java
@@ -80,7 +80,12 @@ public class DataSourceWorkflowRepository implements WorkflowRepository {
     Workflow workflow = null;
 
     try {
-      conn = dataSource.getConnection();
+      if(dataSource!=null) {
+        conn = dataSource.getConnection();
+      }
+      else{
+        throw new RepositoryException("Null datasource");
+      }
       statement = conn.createStatement();
 
       String getWorkflowSql = "SELECT * from workflows WHERE workflow_name = '"

http://git-wip-us.apache.org/repos/asf/oodt/blob/5cb04beb/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestPackagedWorkflowRepository.java
----------------------------------------------------------------------
diff --git a/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestPackagedWorkflowRepository.java b/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestPackagedWorkflowRepository.java
index 2fc900f..fbe1768 100644
--- a/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestPackagedWorkflowRepository.java
+++ b/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestPackagedWorkflowRepository.java
@@ -18,15 +18,20 @@
 package org.apache.oodt.cas.workflow.repository;
 
 //JDK imports
+
+import org.apache.oodt.cas.workflow.structs.Workflow;
+import org.apache.oodt.cas.workflow.structs.WorkflowCondition;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
 import java.io.File;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.oodt.cas.workflow.structs.Workflow;
-import org.apache.oodt.cas.workflow.structs.WorkflowCondition;
+import static org.junit.Assert.*;
 
-//Junit imports
-import junit.framework.TestCase;
 
 /**
  * 
@@ -36,7 +41,7 @@ import junit.framework.TestCase;
  * @version $Revision$
  * 
  */
-public class TestPackagedWorkflowRepository extends TestCase {
+public class TestPackagedWorkflowRepository {
 
   private PackagedWorkflowRepository repo;
 
@@ -46,6 +51,7 @@ public class TestPackagedWorkflowRepository extends TestCase {
   /**
    * @since OODT-205
    */
+  @Test
   public void testWorkflowConditions(){
     Workflow w = null;
     try{
@@ -62,6 +68,7 @@ public class TestPackagedWorkflowRepository extends TestCase {
     assertEquals(w.getConditions().size(), 3);
   }
 
+  @Test
   public void testDetectOuterLevelWorkflows() {
     assertNotNull(this.repo);
     List<Workflow> workflows = null;
@@ -81,6 +88,7 @@ public class TestPackagedWorkflowRepository extends TestCase {
     assertTrue(foundGranuleMaps);
   }
 
+  @Test
   public void testDetectInnerWorkflows() {
     assertNotNull(this.repo);
     List<String> events = null;
@@ -118,6 +126,7 @@ public class TestPackagedWorkflowRepository extends TestCase {
   /**
    * @since OODT-207
    */
+  @Test
   public void testGetConditionTimeout(){
     WorkflowCondition cond = null;
     try{
@@ -135,6 +144,7 @@ public class TestPackagedWorkflowRepository extends TestCase {
   /**
    * @since OODT-208
    */
+  @Test
   public void testGetOptional(){
     WorkflowCondition cond = null;
     try{
@@ -154,7 +164,7 @@ public class TestPackagedWorkflowRepository extends TestCase {
    * 
    * @see junit.framework.TestCase#setUp()
    */
-  @Override
+  @Before
   protected void setUp() throws Exception {
     repo = new PackagedWorkflowRepository(Collections.singletonList(new File(
         "src/main/resources/examples/wengine/GranuleMaps.xml")));
@@ -165,7 +175,7 @@ public class TestPackagedWorkflowRepository extends TestCase {
    * 
    * @see junit.framework.TestCase#tearDown()
    */
-  @Override
+  @After
   protected void tearDown() throws Exception {
     repo = null;
   }

http://git-wip-us.apache.org/repos/asf/oodt/blob/5cb04beb/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowDataSourceRepository.java
----------------------------------------------------------------------
diff --git a/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowDataSourceRepository.java b/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowDataSourceRepository.java
index 368baee..f813188 100644
--- a/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowDataSourceRepository.java
+++ b/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowDataSourceRepository.java
@@ -18,25 +18,30 @@
 
 package org.apache.oodt.cas.workflow.repository;
 
-//JDK imports
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.sql.SQLException;
-import javax.sql.DataSource;
 
-//OODT imports
-import org.apache.oodt.commons.database.DatabaseConnectionBuilder;
-import org.apache.oodt.commons.database.SqlScript;
 import org.apache.oodt.cas.metadata.Metadata;
 import org.apache.oodt.cas.workflow.structs.Workflow;
 import org.apache.oodt.cas.workflow.structs.WorkflowCondition;
 import org.apache.oodt.cas.workflow.structs.WorkflowConditionInstance;
 import org.apache.oodt.cas.workflow.structs.exceptions.RepositoryException;
 import org.apache.oodt.cas.workflow.util.GenericWorkflowObjectFactory;
+import org.apache.oodt.commons.database.DatabaseConnectionBuilder;
+import org.apache.oodt.commons.database.SqlScript;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.junit.Assert.*;
 
-//Junit imports
-import junit.framework.TestCase;
 
 /**
  * @author mattmann
@@ -47,7 +52,8 @@ import junit.framework.TestCase;
  * {@link DataSourceCatalogFactory}.
  * </p>.
  */
-public class TestWorkflowDataSourceRepository extends TestCase {
+
+public class TestWorkflowDataSourceRepository {
 
     private String tmpDirPath = null;
 
@@ -86,7 +92,8 @@ public class TestWorkflowDataSourceRepository extends TestCase {
      * 
      * @see junit.framework.TestCase#setUp()
      */
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         ds = DatabaseConnectionBuilder.buildDataSource("sa", "", "org.hsqldb.jdbcDriver", "jdbc:hsqldb:file:" + tmpDirPath + "/testCat;shutdown=true");
         SqlScript coreSchemaScript = new SqlScript("src/test/resources/workflow.sql", ds);
         coreSchemaScript.loadScript();
@@ -99,13 +106,15 @@ public class TestWorkflowDataSourceRepository extends TestCase {
      * 
      * @see junit.framework.TestCase#tearDown()
      */
-    protected void tearDown() throws Exception {
+    @After
+    public void tearDown() throws Exception {
         ds.getConnection().close();
     }
     
     /**
      * @since OODT-205
      */
+    @Test
     public void testWorkflowConditions(){
       DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds);
             
@@ -122,8 +131,9 @@ public class TestWorkflowDataSourceRepository extends TestCase {
       assertTrue(w.getConditions().size() > 0);
       assertEquals(w.getConditions().size(), 1);
     }
-    
-    
+
+
+    @Test
     public void testDataSourceRepo() throws SQLException, RepositoryException {
         DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds);
         
@@ -149,6 +159,36 @@ public class TestWorkflowDataSourceRepository extends TestCase {
         condInst = GenericWorkflowObjectFactory.getConditionObjectFromClassName(wc.getConditionInstanceClassName());
         assertTrue(condInst.evaluate(m, wc.getTaskConfig()));
     }
+
+  @Test
+  public void testGetworkflowByName() throws RepositoryException {
+    DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds);
+
+    Workflow w = repo.getWorkflowByName("Test Workflow");
+
+    assertNotNull(w);
+
+    assertThat("Test Workflow", equalTo(w.getName()));
+
+
+  }
+
+  @Test
+  public void testGetWorkflowByNameIncorrect() throws RepositoryException{
+    DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds);
+
+    Workflow w = repo.getWorkflowByName("Broken Workflow");
+
+    assertNull(w);
+  }
+
+  @Test(expected=RepositoryException.class)
+  public void testGetWorkflowByNameNoDataSource() throws RepositoryException {
+    DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(null);
+
+    repo.getWorkflowByName("Broken Workflow");
+
+  }
     
 }
 

http://git-wip-us.apache.org/repos/asf/oodt/blob/5cb04beb/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowRepository.java
----------------------------------------------------------------------
diff --git a/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowRepository.java b/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowRepository.java
index 6edd9e8..507d20e 100644
--- a/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowRepository.java
+++ b/workflow/src/test/java/org/apache/oodt/cas/workflow/repository/TestWorkflowRepository.java
@@ -18,23 +18,27 @@
 
 package org.apache.oodt.cas.workflow.repository;
 
-//Junit imports
-import junit.framework.TestCase;
 
 //JDK imports
-import java.io.File;
-import java.util.List;
-import java.util.Vector;
 
-//OODT imports
 import org.apache.oodt.cas.metadata.Metadata;
 import org.apache.oodt.cas.workflow.structs.Workflow;
-import org.apache.oodt.cas.workflow.structs.WorkflowTask;
 import org.apache.oodt.cas.workflow.structs.WorkflowCondition;
+import org.apache.oodt.cas.workflow.structs.WorkflowTask;
 import org.apache.oodt.cas.workflow.structs.WorkflowTaskConfiguration;
 import org.apache.oodt.cas.workflow.structs.exceptions.RepositoryException;
 import org.apache.oodt.cas.workflow.util.GenericWorkflowObjectFactory;
 
+import org.junit.Test;
+
+import java.io.File;
+import java.util.List;
+import java.util.Vector;
+
+import static org.junit.Assert.*;
+import static org.junit.Assert.fail;
+
+
 /**
  * @author mattmann
  * @version $Revision$
@@ -44,7 +48,7 @@ import org.apache.oodt.cas.workflow.util.GenericWorkflowObjectFactory;
  * </p>
  * 
  */
-public class TestWorkflowRepository extends TestCase {
+public class TestWorkflowRepository  {
 
     private XMLWorkflowRepository workflowRepository = null;
 
@@ -64,6 +68,7 @@ public class TestWorkflowRepository extends TestCase {
     /**
      * @since OODT-205
      */
+    @Test
     public void testWorkflowConditions(){
       Workflow w = null;
       try{