X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/fe3f19bb8f0a684de9c5a7d1f7c619943d0daca0..f0549691efc1536602b641f5c662cd32ce0c58aa:/services/api/test/functional/arvados/v1/repositories_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/repositories_controller_test.rb b/services/api/test/functional/arvados/v1/repositories_controller_test.rb index 71b528e72a..537fe52527 100644 --- a/services/api/test/functional/arvados/v1/repositories_controller_test.rb +++ b/services/api/test/functional/arvados/v1/repositories_controller_test.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' class Arvados::V1::RepositoriesControllerTest < ActionController::TestCase @@ -43,9 +47,8 @@ class Arvados::V1::RepositoriesControllerTest < ActionController::TestCase end test "get_all_permissions takes into account is_active flag" do - r = nil act_as_user users(:active) do - r = Repository.create! name: 'active/testrepo' + Repository.create! name: 'active/testrepo' end act_as_system_user do u = users(:active) @@ -170,19 +173,19 @@ class Arvados::V1::RepositoriesControllerTest < ActionController::TestCase u = User.find_by_uuid(user_uuid) if perms['can_read'] assert u.can? read: repo['uuid'] - assert_match /R/, perms['gitolite_permissions'] + assert_match(/R/, perms['gitolite_permissions']) else - refute_match /R/, perms['gitolite_permissions'] + refute_match(/R/, perms['gitolite_permissions']) end if perms['can_write'] assert u.can? write: repo['uuid'] - assert_match /RW\+/, perms['gitolite_permissions'] + assert_match(/RW\+/, perms['gitolite_permissions']) else - refute_match /W/, perms['gitolite_permissions'] + refute_match(/W/, perms['gitolite_permissions']) end if perms['can_manage'] assert u.can? manage: repo['uuid'] - assert_match /RW\+/, perms['gitolite_permissions'] + assert_match(/RW\+/, perms['gitolite_permissions']) end end end @@ -197,15 +200,15 @@ class Arvados::V1::RepositoriesControllerTest < ActionController::TestCase end [ - {cfg: :git_repo_ssh_base, cfgval: "git@example.com:", match: %r"^git@example.com:"}, - {cfg: :git_repo_ssh_base, cfgval: true, match: %r"^git@git.zzzzz.arvadosapi.com:"}, - {cfg: :git_repo_ssh_base, cfgval: false, refute: /^git@/ }, - {cfg: :git_repo_https_base, cfgval: "https://example.com/", match: %r"^https://example.com/"}, - {cfg: :git_repo_https_base, cfgval: true, match: %r"^https://git.zzzzz.arvadosapi.com/"}, - {cfg: :git_repo_https_base, cfgval: false, refute: /^http/ }, + {cfg: "GitSSH.ExternalURL", cfgval: URI("ssh://git@example.com"), match: %r"^git@example.com:"}, + {cfg: "GitSSH.ExternalURL", cfgval: URI(""), match: %r"^git@git.zzzzz.arvadosapi.com:"}, + {cfg: "GitSSH", cfgval: false, refute: /^git@/ }, + {cfg: "GitHTTP.ExternalURL", cfgval: URI("https://example.com/"), match: %r"^https://example.com/"}, + {cfg: "GitHTTP.ExternalURL", cfgval: URI(""), match: %r"^https://git.zzzzz.arvadosapi.com/"}, + {cfg: "GitHTTP", cfgval: false, refute: /^http/ }, ].each do |expect| test "set #{expect[:cfg]} to #{expect[:cfgval]}" do - Rails.configuration.send expect[:cfg].to_s+"=", expect[:cfgval] + ConfigLoader.set_cfg Rails.configuration.Services, expect[:cfg].to_s, expect[:cfgval] authorize_with :active get :index assert_response :success @@ -227,7 +230,7 @@ class Arvados::V1::RepositoriesControllerTest < ActionController::TestCase test "select push_url in index" do authorize_with :active - get(:index, {select: ["uuid", "push_url"]}) + get(:index, params: {select: ["uuid", "push_url"]}) assert_response :success assert_includes(json_response["items"].map { |r| r["push_url"] }, "git@git.zzzzz.arvadosapi.com:active/foo.git") @@ -235,7 +238,7 @@ class Arvados::V1::RepositoriesControllerTest < ActionController::TestCase test "select clone_urls in index" do authorize_with :active - get(:index, {select: ["uuid", "clone_urls"]}) + get(:index, params: {select: ["uuid", "clone_urls"]}) assert_response :success assert_includes(json_response["items"].map { |r| r["clone_urls"] }.flatten, "git@git.zzzzz.arvadosapi.com:active/foo.git")