[ARVADOS] updated: 9bad58fd3334bab5c9a09f365912a37c5f63fcdc

Git user git at public.curoverse.com
Thu Sep 8 16:56:48 EDT 2016


Summary of changes:
 services/api/test/fixtures/jobs.yml |  6 +++---
 services/api/test/unit/job_test.rb  | 22 ++++++++++++++++++++++
 2 files changed, 25 insertions(+), 3 deletions(-)

       via  9bad58fd3334bab5c9a09f365912a37c5f63fcdc (commit)
      from  4418adf838ac2b3d9a09d03cb87f911b323ba6d3 (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 9bad58fd3334bab5c9a09f365912a37c5f63fcdc
Author: Tom Clegg <tom at curoverse.com>
Date:   Thu Sep 8 16:56:42 2016 -0400

    9888: Add find_reusable unit test.

diff --git a/services/api/test/fixtures/jobs.yml b/services/api/test/fixtures/jobs.yml
index 584cc23..1a06d57 100644
--- a/services/api/test/fixtures/jobs.yml
+++ b/services/api/test/fixtures/jobs.yml
@@ -465,9 +465,9 @@ job_with_latest_version:
   supplied_script_version: master
   script_parameters:
     input: 1f4b0bc7583c2a7f9102c395f4ffc5e3+45
-  created_at: <%= 4.minute.ago.to_s(:db) %>
-  started_at: <%= 3.minute.ago.to_s(:db) %>
-  finished_at: <%= 2.minute.ago.to_s(:db) %>
+  created_at: <%= 3.minute.ago.to_s(:db) %>
+  started_at: <%= 2.minute.ago.to_s(:db) %>
+  finished_at: <%= 1.minute.ago.to_s(:db) %>
   running: false
   success: true
   output: fa7aeb5140e2848d39b416daeef4ffc5+45
diff --git a/services/api/test/unit/job_test.rb b/services/api/test/unit/job_test.rb
index 1d3abac..3da2c83 100644
--- a/services/api/test/unit/job_test.rb
+++ b/services/api/test/unit/job_test.rb
@@ -462,4 +462,26 @@ class JobTest < ActiveSupport::TestCase
     b = {'z' => [[{'b' => 'b', 'a' => 'a'}]]}
     assert_equal Job.deep_sort_hash(a).to_json, Job.deep_sort_hash(b).to_json
   end
+
+  test 'find_reusable' do
+    foobar = jobs(:foobar)
+    example_attrs = {
+      script_version: foobar.script_version,
+      script: foobar.script,
+      script_parameters: foobar.script_parameters,
+      repository: foobar.repository,
+    }
+
+    # Two matching jobs exist with identical outputs. The older one
+    # should be reused.
+    j = Job.find_reusable(example_attrs, {}, [], [users(:active)])
+    assert j
+    assert_equal foobar.uuid, j.uuid
+
+    # Two matching jobs exist with different outputs. Neither should
+    # be reused.
+    Job.where(uuid: jobs(:job_with_latest_version).uuid).
+      update_all(output: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+1')
+    assert_nil Job.find_reusable(example_attrs, {}, [], [users(:active)])
+  end
 end

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list