[ARVADOS] updated: 85add8b41d3469772af29b9a015f6c1f23cb8686
git at public.curoverse.com
git at public.curoverse.com
Tue Oct 7 10:56:54 EDT 2014
Summary of changes:
.../test/integration/pipeline_instances_test.rb | 144 ++++++++++++++-------
sdk/cli/bin/crunch-job | 122 +++++++++++------
2 files changed, 183 insertions(+), 83 deletions(-)
via 85add8b41d3469772af29b9a015f6c1f23cb8686 (commit)
via 6a5064852f67f11915dd0c956128a6363f1d83c8 (commit)
via 344c6dcdbae76310879c85a736e4e6cce05d5645 (commit)
via f0b10a9e56225799f9821b07d1497ce53c2608bf (commit)
from b3f3c28f67519f23a4b734b2a75eaf4f32c0049f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 85add8b41d3469772af29b9a015f6c1f23cb8686
Merge: 6a50648 344c6dc
Author: radhika <radhika at curoverse.com>
Date: Tue Oct 7 10:42:57 2014 -0400
Merge branch 'master' into 3990-owner-when-rerunning-pipeline
commit 6a5064852f67f11915dd0c956128a6363f1d83c8
Author: radhika <radhika at curoverse.com>
Date: Tue Oct 7 10:41:30 2014 -0400
3990: add integration tests to rerun pipeline.
diff --git a/apps/workbench/test/integration/pipeline_instances_test.rb b/apps/workbench/test/integration/pipeline_instances_test.rb
index 386d6b0..eb9b987 100644
--- a/apps/workbench/test/integration/pipeline_instances_test.rb
+++ b/apps/workbench/test/integration/pipeline_instances_test.rb
@@ -83,6 +83,7 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest
assert page.has_text? 'Paused'
page.assert_no_selector 'a.disabled,button.disabled', text: 'Resume'
page.assert_selector 'a,button', text: 'Re-run with latest'
+ page.assert_selector 'a,button', text: 'Re-run options'
# Since it is test env, no jobs are created to run. So, graph not visible
assert_not page.has_text? 'Graph'
@@ -113,56 +114,13 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest
wait_for_ajax
end
- create_and_run_pipeline_in_aproject false
+ create_and_run_pipeline_in_aproject true
end
# Create a pipeline instance from within a project and run
test 'Run a pipeline from dashboard' do
visit page_with_token('active_trustedclient')
- create_and_run_pipeline_in_aproject true
- end
-
- # Create and run a pipeline for 'Two Part Pipeline Template' in 'A Project'
- def create_and_run_pipeline_in_aproject choose_project
- # create a pipeline instance
- find('.btn', text: 'Run a pipeline').click
- within('.modal-dialog') do
- find('.selectable', text: 'Two Part Pipeline Template').click
- find('.btn', text: 'Next: choose inputs').click
- end
-
- assert find('p', text: 'Provide a value')
-
- find('div.form-group', text: 'Foo/bar pair').
- find('.btn', text: 'Choose').
- click
-
- within('.modal-dialog') do
- if choose_project
- assert_selector 'button.dropdown-toggle', text: 'Home'
- wait_for_ajax
- click_button "Home"
- click_link "A Project"
- wait_for_ajax
- else
- assert_selector 'button.dropdown-toggle', text: 'A Project'
- wait_for_ajax
- end
- first('span', text: 'foo_tag').click
- find('button', text: 'OK').click
- end
- wait_for_ajax
-
- # "Run" button present and enabled
- page.assert_no_selector 'a.disabled,button.disabled', text: 'Run'
- first('a,button', text: 'Run').click
-
- # Pipeline is running. We have a "Pause" button instead now.
- page.assert_no_selector 'a,button', text: 'Run'
- page.assert_selector 'a,button', text: 'Pause'
-
- # Since it is test env, no jobs are created to run. So, graph not visible
- assert_not page.has_text? 'Graph'
+ create_and_run_pipeline_in_aproject false
end
test 'view pipeline with job and see graph' do
@@ -242,4 +200,100 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest
test "Workbench preserves search_for parameter after project switch" do
check_parameter_search("A Project")
end
+
+ [
+ [false, false, false],
+ [false, false, true],
+ [true, false, false],
+ [true, true, false],
+ [true, false, true],
+ [true, true, true],
+ ].each do |with_options, choose_options, in_aproject|
+ test "Rerun pipeline instance using options #{with_options} #{choose_options} in #{in_aproject}" do
+ visit page_with_token('active_trustedclient')
+
+ if in_aproject
+ find("#projects-menu").click
+ find('.dropdown-menu a,button', text: 'A Project').click
+ end
+
+ create_and_run_pipeline_in_aproject in_aproject
+ instance_path = current_path
+
+ # pause the pipeline
+ find('a,button', text: 'Pause').click
+ assert page.has_text? 'Paused'
+ page.assert_no_selector 'a.disabled,button.disabled', text: 'Resume'
+ page.assert_selector 'a,button', text: 'Re-run with latest'
+ page.assert_selector 'a,button', text: 'Re-run options'
+
+ if with_options
+ find('a,button', text: 'Re-run options').click
+ within('.modal-dialog') do
+ page.assert_selector 'a,button', text: 'Copy and edit inputs'
+ page.assert_selector 'a,button', text: 'Run now'
+ if choose_options
+ find('button', text: 'Copy and edit inputs').click
+ else
+ find('button', text: 'Run now').click
+ end
+ end
+ else
+ find('a,button', text: 'Re-run with latest').click
+ end
+
+ # verify that the newly created instance is in the expected project
+ rerun_instance_path = current_path
+ assert_not_equal instance_path, rerun_instance_path, 'Rerun instance path expected to be different'
+ assert page.has_text? 'Home'
+ if in_aproject
+ assert page.has_text? 'A Project'
+ end
+ end
+ end
+
+ # Create and run a pipeline for 'Two Part Pipeline Template' in 'A Project'
+ def create_and_run_pipeline_in_aproject in_aproject
+ # create a pipeline instance
+ find('.btn', text: 'Run a pipeline').click
+ within('.modal-dialog') do
+ find('.selectable', text: 'Two Part Pipeline Template').click
+ find('.btn', text: 'Next: choose inputs').click
+ end
+
+ assert find('p', text: 'Provide a value')
+
+ find('div.form-group', text: 'Foo/bar pair').
+ find('.btn', text: 'Choose').
+ click
+
+ within('.modal-dialog') do
+ if in_aproject
+ assert_selector 'button.dropdown-toggle', text: 'A Project'
+ wait_for_ajax
+ else
+ assert_selector 'button.dropdown-toggle', text: 'Home'
+ wait_for_ajax
+ click_button "Home"
+ click_link "A Project"
+ wait_for_ajax
+ end
+ first('span', text: 'foo_tag').click
+ find('button', text: 'OK').click
+ end
+ wait_for_ajax
+
+ # "Run" button present and enabled
+ page.assert_no_selector 'a.disabled,button.disabled', text: 'Run'
+ first('a,button', text: 'Run').click
+
+ # Pipeline is running. We have a "Pause" button instead now.
+ page.assert_no_selector 'a,button', text: 'Run'
+ page.assert_no_selector 'a.disabled,button.disabled', text: 'Resume'
+ page.assert_selector 'a,button', text: 'Pause'
+
+ # Since it is test env, no jobs are created to run. So, graph not visible
+ assert_not page.has_text? 'Graph'
+ end
+
end
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list