Repository: oodt Updated Branches: refs/heads/master dc689d5bb -> d606af112
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/d606af11 Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/d606af11 Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/d606af11 Branch: refs/heads/master Commit: d606af1123d25f2bc953c7ebd9b2b0e957afea6a Parents: dc689d5 Author: Tom Barber <[email protected]> Authored: Sat Oct 31 00:10:09 2015 +0000 Committer: Tom Barber <[email protected]> Committed: Sat Oct 31 00:10:09 2015 +0000 ---------------------------------------------------------------------- .../DataSourceWorkflowRepository.java | 16 ++- .../oodt/cas/workflow/util/DbStructFactory.java | 8 +- .../TestWorkflowDataSourceRepository.java | 122 ++++++++++++++----- workflow/src/test/resources/workflow.sql | 4 +- 4 files changed, 111 insertions(+), 39 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oodt/blob/d606af11/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 ba97f07..195c7b3 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 @@ -779,7 +779,12 @@ public class DataSourceWorkflowRepository implements WorkflowRepository { WorkflowTaskConfiguration config = null; try { - conn = dataSource.getConnection(); + if(dataSource!=null) { + conn = dataSource.getConnection(); + } + else{ + throw new RepositoryException("Null data source"); + } statement = conn.createStatement(); String getConfigurationSql = "SELECT * from workflow_task_configuration WHERE workflow_task_id = " @@ -1082,7 +1087,7 @@ public class DataSourceWorkflowRepository implements WorkflowRepository { * org.apache.oodt.cas.workflow.repository.WorkflowRepository#getRegisteredEvents * () */ - public List getRegisteredEvents() throws RepositoryException { + public List<String> getRegisteredEvents() throws RepositoryException { Connection conn = null; Statement statement = null; ResultSet rs = null; @@ -1402,7 +1407,7 @@ public class DataSourceWorkflowRepository implements WorkflowRepository { conn.setAutoCommit(false); statement = conn.createStatement(); - String sql = "INSERT INTO workflows (workflow_name) VALUES ('" + String sql = "INSERT INTO workflows (workflow_id, workflow_name) VALUES ('"+workflow.getId()+"','" + workflow.getName() + "')"; LOG.log(Level.FINE, "commitWorkflowToDB: Executing: " + sql); @@ -1572,7 +1577,7 @@ public class DataSourceWorkflowRepository implements WorkflowRepository { String getConditionsSql = "SELECT workflow_conditions.* " + "FROM workflow_conditions " - + "ORDER BY condition_id"; + + "ORDER BY workflow_condition_id"; LOG.log(Level.FINE, "getConditions: Executing: " + getConditionsSql); @@ -1647,7 +1652,8 @@ public class DataSourceWorkflowRepository implements WorkflowRepository { statement = conn.createStatement(); String getTasksSql = "SELECT workflow_tasks.*, workflow_task_map.task_order " - + "FROM workflow_tasks " + "ORDER BY workflow_task_map.task_order"; + + "FROM workflow_tasks, workflow_task_map WHERE workflow_tasks.workflow_task_id = workflow_task_map.workflow_task_id " + + "ORDER BY workflow_task_map.task_order"; LOG.log(Level.FINE, "getTasks: Executing: " + getTasksSql); rs = statement.executeQuery(getTasksSql); http://git-wip-us.apache.org/repos/asf/oodt/blob/d606af11/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java ---------------------------------------------------------------------- diff --git a/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java b/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java index 32feb7a..b3b4d5a 100644 --- a/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java +++ b/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java @@ -90,9 +90,9 @@ public final class DbStructFactory { task.setTaskInstanceClassName(taskClassName); task.setTaskId(String.valueOf(rs.getInt("workflow_task_id"))); task.setTaskName(rs.getString("workflow_task_name")); - if (setOrder) { + /*if (setOrder) { task.setOrder(rs.getInt("task_order")); - } + }*/ return task; } else return null; @@ -111,9 +111,9 @@ public final class DbStructFactory { condition.setConditionName(rs.getString("workflow_condition_name")); condition.setTimeoutSeconds(rs.getLong("workflow_condition_timeout")); condition.setOptional(rs.getBoolean("workflow_condition_optional")); - if (setOrder) { + /*if (setOrder) { condition.setOrder(rs.getInt("condition_order")); - } + }*/ return condition; } else return null; http://git-wip-us.apache.org/repos/asf/oodt/blob/d606af11/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 6a89ad8..ba2bb7e 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 @@ -24,6 +24,7 @@ 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.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.apache.oodt.commons.database.DatabaseConnectionBuilder; @@ -31,13 +32,14 @@ import org.apache.oodt.commons.database.SqlScript; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; import javax.sql.DataSource; @@ -342,76 +344,138 @@ public class TestWorkflowDataSourceRepository { assertThat(workflow.get(0).getConditionName(), equalTo("Test Condition")); } - @Ignore @Test - public void testGetConditionsByTaskId(){ + public void testGetConditionsByTaskId() throws RepositoryException { + + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds); + List<WorkflowCondition> workflow = repo.getConditionsByTaskId("1"); + + assertThat(workflow, allOf(notNullValue(), hasSize(1))); + assertThat(workflow.get(0).getConditionName(), equalTo("TrueCond")); } - @Ignore - @Test - public void testGetConditionsByTaskIdNoDataSource(){ + @Test(expected=RepositoryException.class) + public void testGetConditionsByTaskIdNoDataSource() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(null); + List<WorkflowCondition> workflow = repo.getConditionsByTaskName("1"); + assertThat(workflow, allOf(notNullValue(), hasSize(1))); + assertThat(workflow.get(0).getConditionName(), equalTo("Test Condition")); } - @Ignore @Test - public void testGetConfigurationByTaskId(){ + public void testGetConfigurationByTaskId() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds); + WorkflowTaskConfiguration workflow = repo.getConfigurationByTaskId("1"); + assertThat(workflow, notNullValue()); + assertThat(workflow.getProperties(), notNullValue()); + assertThat(workflow.getProperties().getProperty("TestProp"), notNullValue()); } - @Ignore - @Test - public void testGetConfigurationByTaskIdNoDataSource(){ + @Test(expected=RepositoryException.class) + public void testGetConfigurationByTaskIdNoDataSource() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(null); + WorkflowTaskConfiguration workflow = repo.getConfigurationByTaskId("1"); + assertThat(workflow, notNullValue()); + assertThat(workflow.getProperties(), notNullValue()); + assertThat(workflow.getProperties().getProperty("test"), notNullValue()); } - @Ignore @Test - public void testGetWorkflowTaskById(){ + public void testGetWorkflowTaskById() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds); + WorkflowTask workflow = repo.getWorkflowTaskById("1"); + assertThat(workflow, notNullValue()); + assertThat(workflow.getTaskName(), equalTo("Test Task")); } - @Ignore - @Test - public void testGetWorkflowTaskByIdNoDataSource(){ + @Test(expected=RepositoryException.class) + public void testGetWorkflowTaskByIdNoDataSource() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(null); + WorkflowTask workflow = repo.getWorkflowTaskById("1"); + assertThat(workflow, notNullValue()); + assertThat(workflow.getTaskName(), equalTo("Test")); } - @Ignore @Test - public void testGetRegisteredEvents(){ + public void testGetRegisteredEvents() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds); + List<String> workflow = repo.getRegisteredEvents(); + assertThat(workflow, allOf(notNullValue(), hasSize(1))); + assertThat(workflow.get(0), equalTo("event")); } - @Ignore @Test - public void testAddTask(){ + public void testAddTask() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds); + WorkflowTask t = new WorkflowTask(); + t.setTaskName("Manual"); + t.setTaskId("50"); + t.setPreConditions(Collections.EMPTY_LIST); + t.setPostConditions(Collections.EMPTY_LIST); + String workflow = repo.addTask(t); + + assertThat(workflow, notNullValue()); + assertThat(workflow, equalTo("3")); + + //TODO GET TASK BACK } - @Ignore @Test - public void testAddWorkflow(){ + public void testAddWorkflow() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds); + Workflow w = new Workflow(); + w.setId("50"); + w.setName("Manual"); + WorkflowTask t = new WorkflowTask(); + t.setTaskId("1"); + List<WorkflowTask> l = new ArrayList<WorkflowTask>(); + l.add(t); + w.setTasks(l); + String workflow = repo.addWorkflow(w); + assertThat(workflow, notNullValue()); + assertThat(workflow, equalTo("50")); + + //TODO GET WORKFLOW } - @Ignore @Test - public void testGetTaskById(){ + public void testGetTaskById() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds); + WorkflowTask task = repo.getTaskById("1"); + + assertThat(task, notNullValue()); + assertThat(task.getTaskName(), allOf(notNullValue(), equalTo("Test Task"))); + } - @Ignore - @Test - public void testGetTaskByIdNoDataSource(){ + @Test(expected=RepositoryException.class) + public void testGetTaskByIdNoDataSource() throws RepositoryException { + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(null); + WorkflowTask task = repo.getTaskById("1"); + assertThat(task, notNullValue()); + assertThat(task.getTaskName(), allOf(notNullValue(), equalTo("Test"))); } - @Ignore @Test - public void testGetConditions(){ + public void testGetConditions() throws RepositoryException { + + DataSourceWorkflowRepository repo = new DataSourceWorkflowRepository(ds); + List<WorkflowCondition> task = repo.getConditions(); + + assertThat(task, allOf(notNullValue(), hasSize(4))); + assertThat(task.get(0).getConditionName(), allOf(notNullValue(), equalTo("CheckCond"))); } http://git-wip-us.apache.org/repos/asf/oodt/blob/d606af11/workflow/src/test/resources/workflow.sql ---------------------------------------------------------------------- diff --git a/workflow/src/test/resources/workflow.sql b/workflow/src/test/resources/workflow.sql index ad91b80..bf783b2 100644 --- a/workflow/src/test/resources/workflow.sql +++ b/workflow/src/test/resources/workflow.sql @@ -84,4 +84,6 @@ INSERT INTO workflow_task_map VALUES ('1','1', '1'); INSERT INTO workflow_tasks VALUES ('2', 'Test Task2', 'org.apache.org.cas.workflow.examples.LongTask'); INSERT INTO workflow_task_map VALUES ('1','2', '1'); INSERT INTO event_workflow_map VALUES ('1', 'event'); -INSERT INTO task_condition_map VALUES ('1', '3', '1'); \ No newline at end of file +INSERT INTO task_condition_map VALUES ('1', '3', '1'); +INSERT INTO workflow_conditions VALUES (4, 'Test', 'Test', 1, false); +INSERT INTO workflow_task_configuration VALUES (1, 'TestProp', 'TestVal'); \ No newline at end of file
