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 <[email protected]> Authored: Fri Oct 30 15:52:35 2015 +0000 Committer: Tom Barber <[email protected]> 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{
