[ARVADOS] updated: 7ad2ce19e1db57314ff106bfcfa83f47c8daec2e

git at public.curoverse.com git at public.curoverse.com
Wed Sep 10 15:36:27 EDT 2014


Summary of changes:
 apps/workbench/config/application.default.yml    | 14 ++++++++++----
 apps/workbench/test/diagnostics/pipeline_test.rb | 15 +++++++++++----
 apps/workbench/test/diagnostics_test_helper.rb   |  7 +++++++
 sdk/python/arvados/keep.py                       |  7 ++++---
 sdk/python/tests/test_keep_client.py             | 13 +++++++++++++
 5 files changed, 45 insertions(+), 11 deletions(-)

       via  7ad2ce19e1db57314ff106bfcfa83f47c8daec2e (commit)
       via  aa22ee6471ccd426287330705ed57719004c8ac8 (commit)
       via  4ef537243058616754efde56438a193626556bca (commit)
      from  5ff990155f06109c55bbb832a8dd670265d3f3d1 (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 7ad2ce19e1db57314ff106bfcfa83f47c8daec2e
Merge: aa22ee6 4ef5372
Author: radhika <radhika at curoverse.com>
Date:   Wed Sep 10 15:36:11 2014 -0400

    Merge branch 'master' into 2761-diagnostic-suite


commit aa22ee6471ccd426287330705ed57719004c8ac8
Author: radhika <radhika at curoverse.com>
Date:   Wed Sep 10 15:32:39 2014 -0400

    2761: wait for the pipeline run to complete or until wait time exceeds.

diff --git a/apps/workbench/config/application.default.yml b/apps/workbench/config/application.default.yml
index 2b1a49b..2106aa2 100644
--- a/apps/workbench/config/application.default.yml
+++ b/apps/workbench/config/application.default.yml
@@ -156,12 +156,18 @@ common:
   #   input_paths: an array of inputs for the pipeline. Use either a collection's "uuid"
   #     or a file's "uuid/file_name" path in this array. If the pipeline does not require
   #     any inputs, this can be omitted. 
+  #   max_wait_seconds: max time in seconds to wait for the pipeline run to complete.
+  #     Default value of 30 seconds is used when this value is not provided.
   #diagnostics_testing_user_tokens:
   #  active: eu33jurqntstmwo05h1jr3eblmi961e802703y6657s8zb14r
   #diagnostics_testing_pipeline_fields:
-  #  tutorial pipeline:
+  #  pipeline with one input:
   #    template_uuid: zzzzz-p5p6p-rxj8d71854j9idn
-  #    input_paths: [zzzzz-4zz18-u9pmni8msw9zm9n]
-  #  tutorial pipeline 2:
+  #    input_paths: [qr1hi-4zz18-wu1s009qgnvgjc9]
+  #    max_wait_seconds: 100
+  #  pipeline with two inputs:
+  #    template_uuid: zzzzz-p5p6p-kfwus81of6y3ezs
+  #    input_paths: [2051b5d448fbd489ab00bbdedbee1ffa+91, e5e440c9c486df057e1bf6a7feac25be+77/alignment_summary_metrics.txt]
+  #    max_wait_seconds: 200
+  #  pipeline with no inputs:
   #    template_uuid: zzzzz-p5p6p-kfwus81of6y3ezs
-  #    input_paths: [zzzzz-4zz18-u9pmni8msw9zm9n]
diff --git a/apps/workbench/test/diagnostics/pipeline_test.rb b/apps/workbench/test/diagnostics/pipeline_test.rb
index 2f20b00..f5e903f 100644
--- a/apps/workbench/test/diagnostics/pipeline_test.rb
+++ b/apps/workbench/test/diagnostics/pipeline_test.rb
@@ -37,9 +37,12 @@ class PipelineTest < DiagnosticsTest
         # This pipeline needs input. So, Run should be disabled
         page.assert_selector 'a.disabled,button.disabled', text: 'Run'
 
-        inputs_needed = page.all('.btn', text: 'Choose')
-        inputs_needed.each_with_index do |input_needed, index|
-          input_needed.click
+        index = 0
+        while true
+          inputs_needed = page.all('.btn', text: 'Choose')
+          break if !inputs_needed.any?
+
+          inputs_needed[0].click
           within('.modal-dialog') do
             look_for = pipeline_config['input_paths'][index]
             found = page.has_text?(look_for)
@@ -52,15 +55,19 @@ class PipelineTest < DiagnosticsTest
             end
             find('button', text: 'OK').click
             wait_for_ajax
+            index += 1
           end
         end
       end
 
-      # Run this pipeline instance
+      # All needed input are filled in. Run this pipeline now
       find('a,button', text: 'Run').click
 
       # Pipeline is running. We have a "Stop" button instead now.
       page.assert_selector 'a,button', text: 'Stop'
+
+      # Wait for pipeline run to complete
+      wait_until_page_has 'Complete', pipeline_config['max_wait_seconds']
     end
   end
 
diff --git a/apps/workbench/test/diagnostics_test_helper.rb b/apps/workbench/test/diagnostics_test_helper.rb
index 2d378f3..a78bf66 100644
--- a/apps/workbench/test/diagnostics_test_helper.rb
+++ b/apps/workbench/test/diagnostics_test_helper.rb
@@ -12,4 +12,11 @@ class DiagnosticsTest < ActionDispatch::IntegrationTest
     Rails.configuration.diagnostics_testing_pipeline_fields[pipeline_to_run]
   end
 
+  def wait_until_page_has text_to_look_for, max_time=30
+    max_time = 30 if (!max_time || (max_time.to_s != max_time.to_i.to_s))
+    Timeout.timeout(max_time) do
+      loop until page.has_text?(text_to_look_for)
+    end
+  end
+
 end

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list