[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