+
+ test "can't reuse job with older Arvados SDK version" do
+ params = {
+ script_version: "31ce37fe365b3dc204300a3e4c396ad333ed0556",
+ runtime_constraints: {
+ "arvados_sdk_version" => "master",
+ "docker_image" => links(:docker_image_collection_tag).name,
+ },
+ }
+ check_new_job_created_from(job: params)
+ end
+
+ test "reuse job from arvados_sdk_version git filters" do
+ filters_hash = BASE_FILTERS.
+ merge("arvados_sdk_version" => ["in git", "commit2"])
+ filters_hash.delete("script_version")
+ params = create_foo_hash_job_params(filters:
+ filters_from_hash(filters_hash))
+ post(:create, params)
+ assert_response :success
+ assert_equal(jobs(:previous_job_run_with_arvados_sdk_version).uuid,
+ assigns(:object).uuid)
+ end
+
+ test "create new job because of arvados_sdk_version 'not in git' filters" do
+ filters_hash = BASE_FILTERS.reject { |k| k == "script_version" }
+ filters = filters_from_hash(filters_hash)
+ # Allow anything from the root commit, but before commit 2.
+ filters += [["arvados_sdk_version", "in git", "436637c8"],
+ ["arvados_sdk_version", "not in git", "00634b2b"]]
+ check_new_job_created_from(filters: filters)
+ end