8567: Adjust job container resolve test now that images are filtered based on
authorPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 13 Mar 2017 21:31:20 +0000 (17:31 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 13 Mar 2017 21:31:20 +0000 (17:31 -0400)
support version.

services/api/test/unit/job_test.rb

index 8fe5e5db28c804881fd2ac24c44ede3da7ae4d53..5677776cd45b875c9f85602af95d080e951f4118 100644 (file)
@@ -444,18 +444,31 @@ class JobTest < ActiveSupport::TestCase
   ].each do |existing_image, request_image, expect_image|
     test "if a #{existing_image} job exists, #{request_image} yields #{expect_image} after migration" do
       Rails.configuration.docker_image_formats = ['v1']
-      oldjob = Job.create!(
-        job_attrs(
-          script: 'foobar1',
-          runtime_constraints: {
-            'docker_image' => collections(existing_image).portable_data_hash}))
-      oldjob.reload
-      assert_equal(oldjob.docker_image_locator,
-                   collections(existing_image).portable_data_hash)
+
+      if existing_image == :docker_image
+        oldjob = Job.create!(
+          job_attrs(
+            script: 'foobar1',
+            runtime_constraints: {
+              'docker_image' => collections(existing_image).portable_data_hash}))
+        oldjob.reload
+        assert_equal(oldjob.docker_image_locator,
+                     collections(existing_image).portable_data_hash)
+      elsif existing_image == :docker_image_1_12
+        assert_raises(ActiveRecord::RecordInvalid,
+                      "Should not resolve v2 image when only v1 is supported") do
+        oldjob = Job.create!(
+          job_attrs(
+            script: 'foobar1',
+            runtime_constraints: {
+              'docker_image' => collections(existing_image).portable_data_hash}))
+        end
+      end
 
       Rails.configuration.docker_image_formats = ['v2']
       add_docker19_migration_link
 
+      # Check that both v1 and v2 images get resolved to v2.
       newjob = Job.create!(
         job_attrs(
           script: 'foobar1',