[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