X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/40df5992d4d8071a6e10a20ecdeb0470a80764cc..6d5e04a731edc9ce8944ecea637070afbdadeb05:/apps/workbench/test/functional/collections_controller_test.rb diff --git a/apps/workbench/test/functional/collections_controller_test.rb b/apps/workbench/test/functional/collections_controller_test.rb index fb80f8874e..8c6aeab532 100644 --- a/apps/workbench/test/functional/collections_controller_test.rb +++ b/apps/workbench/test/functional/collections_controller_test.rb @@ -1,6 +1,8 @@ require 'test_helper' class CollectionsControllerTest < ActionController::TestCase + NONEXISTENT_COLLECTION = "ffffffffffffffffffffffffffffffff+0" + def collection_params(collection_name, file_name=nil) uuid = api_fixture('collections')[collection_name.to_s]['uuid'] params = {uuid: uuid, id: uuid} @@ -54,8 +56,8 @@ class CollectionsControllerTest < ActionController::TestCase end test "viewing a collection fetches related projects" do - show_collection(:foo_file, :active) - assert_includes(assigns(:projects).map(&:uuid), + show_collection({id: api_fixture('collections')["foo_file"]['portable_data_hash']}, :active) + assert_includes(assigns(:same_pdh).map(&:owner_uuid), api_fixture('groups')['aproject']['uuid'], "controller did not find linked project") end @@ -98,6 +100,14 @@ class CollectionsControllerTest < ActionController::TestCase assert_no_session end + test "reader token Collection links end with trailing slash" do + # Testing the fix for #2937. + show_collection(:foo_file, :active_trustedclient) + post(:share, collection_params(:foo_file)) + assert(@controller.download_link.ends_with? '/', + "Collection share link does not end with slash for wget") + end + test "getting a file from Keep" do params = collection_params(:foo_file, 'foo') sess = session_for(:active) @@ -160,9 +170,14 @@ class CollectionsControllerTest < ActionController::TestCase uuid: ua_collection['uuid'], file: ua_collection['manifest_text'].match(/ \d+:\d+:(\S+)/)[1] }, session_for(:inactive) - assert_nil(assigns(:required_user_agreements), + assert_nil(assigns(:unsigned_user_agreements), "Did not skip check_user_agreements filter " + "when showing the user agreement.") assert_response :success end + + test "requesting nonexistent Collection returns 404" do + show_collection({uuid: NONEXISTENT_COLLECTION, id: NONEXISTENT_COLLECTION}, + :active, 404) + end end