X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/53e5b13980ce3bfc1b898482696310e4ed8a9c54..2a30f6a162a59ff5a75b9fcdef4913baeeae6a1e:/services/api/test/unit/container_request_test.rb diff --git a/services/api/test/unit/container_request_test.rb b/services/api/test/unit/container_request_test.rb index d8aed7698d..8621daaaf0 100644 --- a/services/api/test/unit/container_request_test.rb +++ b/services/api/test/unit/container_request_test.rb @@ -4,7 +4,7 @@ class ContainerRequestTest < ActiveSupport::TestCase def create_minimal_req! attrs={} defaults = { command: ["echo", "foo"], - container_image: "img", + container_image: links(:docker_image_collection_tag).name, cwd: "/tmp", environment: {}, mounts: {"/out" => {"kind" => "tmp", "capacity" => 1000000}}, @@ -79,7 +79,7 @@ class ContainerRequestTest < ActiveSupport::TestCase c = Container.find_by_uuid cr.container_uuid assert_not_nil c assert_equal ["echo", "foo"], c.command - assert_equal "img", c.container_image + assert_equal collections(:docker_image).portable_data_hash, c.container_image assert_equal "/tmp", c.cwd assert_equal({}, c.environment) assert_equal({"/out" => {"kind"=>"tmp", "capacity"=>1000000}}, c.mounts) @@ -311,4 +311,37 @@ class ContainerRequestTest < ActiveSupport::TestCase cr.send :mounts_for_container end end + + ['arvados/apitestfixture:latest', + 'arvados/apitestfixture', + 'd8309758b8fe2c81034ffc8a10c36460b77db7bc5e7b448c4e5b684f9d95a678', + ].each do |tag| + test "container_image_for_container(#{tag.inspect})" do + set_user_from_auth :active + cr = ContainerRequest.new(container_image: tag) + resolved = cr.send :container_image_for_container + assert_equal resolved, collections(:docker_image).portable_data_hash + end + end + + test "container_image_for_container(pdh)" do + set_user_from_auth :active + pdh = collections(:docker_image).portable_data_hash + cr = ContainerRequest.new(container_image: pdh) + resolved = cr.send :container_image_for_container + assert_equal resolved, pdh + end + + ['acbd18db4cc2f85cedef654fccc4a4d8+3', + 'ENOEXIST', + 'arvados/apitestfixture:ENOEXIST', + ].each do |img| + test "container_image_for_container(#{img.inspect}) => 404" do + set_user_from_auth :active + cr = ContainerRequest.new(container_image: img) + assert_raises(ActiveRecord::RecordNotFound) do + cr.send :container_image_for_container + end + end + end end