elsif (file_type.raw_media_type == "text") || (file_type.raw_media_type == "image")
true
elsif (file_type.raw_media_type == "application") &&
- Rails.configuration.Workbench.Workbench.ApplicationMimetypesWithViewIcon[file_type.sub_type]
+ Rails.configuration.Workbench.ApplicationMimetypesWithViewIcon[file_type.sub_type]
true
else
false
arvcfg.declare_config "Users.AnonymousUserToken", String, :anonymous_user_token
+arvcfg.declare_config "Workbench.SecretToken", String, :secret_token
+arvcfg.declare_config "Workbench.SecretKeyBase", String, :secret_key_base
+
arvcfg.declare_config "Workbench.ApplicationMimetypesWithViewIcon", Hash, :application_mimetypes_with_view_icon, ->(cfg, k, v) {
mimetypes = {}
v.each do |m|
arvcfg.declare_config "Workbench.RunningJobLogRecordsToFetch", Integer, :running_job_log_records_to_fetch
arvcfg.declare_config "Workbench.LogViewerMaxBytes", Integer, :log_viewer_max_bytes
arvcfg.declare_config "Workbench.TrustAllContent", Boolean, :trust_all_content
-arvcfg.declare_config "Workbench.UserProfileFormFields", Hash, :user_profile_form_fields
+arvcfg.declare_config "Workbench.UserProfileFormFields", Array, :user_profile_form_fields, ->(cfg, k, v) {
+ if !v
+ v = []
+ end
+ ConfigLoader.set_cfg cfg, "Workbench.UserProfileFormFields", v
+}
arvcfg.declare_config "Workbench.UserProfileFormMessage", String, :user_profile_form_message
arvcfg.declare_config "Workbench.Theme", String, :arvados_theme
arvcfg.declare_config "Workbench.ShowUserNotifications", Boolean, :show_user_notifications
arvcfg.declare_config "Workbench.ShowUserAgreementInline", Boolean, :show_user_agreement_inline
-arvcfg.declare_config "Workbench.RepositoryCache", Boolean, :repository_cache
+arvcfg.declare_config "Workbench.RepositoryCache", String, :repository_cache
arvcfg.declare_config "Workbench.Repositories", Boolean, :repositories
arvcfg.declare_config "Workbench.APIClientConnectTimeout", ActiveSupport::Duration, :api_client_connect_timeout
arvcfg.declare_config "Workbench.APIClientReceiveTimeout", ActiveSupport::Duration, :api_client_receive_timeout
# Rails.configuration.API["Blah"]
ConfigLoader.copy_into_config $arvados_config, config
ConfigLoader.copy_into_config $remaining_config, config
- secrets.secret_key_base = $arvados_config["Workbench"]["SecretToken"]
+ secrets.secret_key_base = $arvados_config["Workbench"]["SecretKeyBase"]
end
['pipeline_templates', 'pipeline_template_in_publicly_accessible_project'],
].each do |dm, fixture|
test "access show method for public #{dm} and expect to see page" do
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
get(:show, params: {uuid: api_fixture(dm)[fixture]['uuid']})
assert_response :redirect
if dm == 'groups'
['traits', 'owned_by_aproject_with_no_name', :redirect],
].each do |dm, fixture, expected|
test "access show method for non-public #{dm} and expect #{expected}" do
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
get(:show, params: {uuid: api_fixture(dm)[fixture]['uuid']})
assert_response expected
if expected == 404
true
end.returns fake_api_response('{}', 200, {})
- Rails.configuration.anonymous_user_token =
+ Rails.configuration.Users.AnonymousUserToken =
api_fixture("api_client_authorizations", "anonymous", "api_token")
@controller = ProjectsController.new
test_uuid = "zzzzz-j7d0g-zzzzzzzzzzzzzzz"
].each do |css_selector|
test "login link at #{css_selector.inspect} includes return_to param" do
# Without an anonymous token, we're immediately redirected to login.
- Rails.configuration.anonymous_user_token =
+ Rails.configuration.Users.AnonymousUserToken =
api_fixture("api_client_authorizations", "anonymous", "api_token")
@controller = ProjectsController.new
test_uuid = "zzzzz-j7d0g-zzzzzzzzzzzzzzz"
# We're really testing ApplicationController's render_exception.
# Our primary concern is that it doesn't raise an error and
# return 500.
- orig_api_server = Rails.configuration.arvados_v1_base
+ orig_api_server = Rails.configuration.Services.Controller.ExternalURL
begin
# The URL should look valid in all respects, and avoid talking over a
# network. 100::/64 is the IPv6 discard prefix, so it's perfect.
- Rails.configuration.arvados_v1_base = "https://[100::f]:1/"
+ Rails.configuration.Services.Controller.ExternalURL = "https://[100::f]:1/"
@controller = NodesController.new
get(:index, params: {}, session: session_for(:active))
assert_includes(405..422, @response.code.to_i,
"bad response code when API server is unreachable")
ensure
- Rails.configuration.arvados_v1_base = orig_api_server
+ Rails.configuration.Services.Controller.ExternalURL = orig_api_server
end
end
].each do |controller, fixture, anon_config=true|
test "#{controller} show method with anonymous config #{anon_config ? '' : 'not '}enabled" do
if anon_config
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
else
- Rails.configuration.anonymous_user_token = false
+ Rails.configuration.Users.AnonymousUserToken = false
end
@controller = controller
NONEXISTENT_COLLECTION = "ffffffffffffffffffffffffffffffff+0"
def config_anonymous enable
- Rails.configuration.anonymous_user_token =
+ Rails.configuration.Users.AnonymousUserToken =
if enable
api_token('anonymous')
else
assert_not_includes @response.body, '<a href="#Upload"'
end
- def setup_for_keep_web cfg='https://%{uuid_or_pdh}.example', dl_cfg=false
- Rails.configuration.keep_web_url = cfg
- Rails.configuration.keep_web_download_url = dl_cfg
+ def setup_for_keep_web cfg='https://*.example', dl_cfg=false
+ Rails.configuration.Services.WebDAV.ExternalURL = cfg
+ Rails.configuration.Services.WebDAVDownload.ExternalURL = dl_cfg
end
%w(uuid portable_data_hash).each do |id_type|
end
test "Redirect to keep_web_url via #{id_type} when trust_all_content enabled" do
- Rails.configuration.trust_all_content = true
- setup_for_keep_web('https://collections.example/c=%{uuid_or_pdh}',
- 'https://download.example/c=%{uuid_or_pdh}')
+ Rails.configuration.Workbench.TrustAllContent = true
+ setup_for_keep_web('https://collections.example',
+ 'https://download.example')
tok = api_token('active')
id = api_fixture('collections')['w_a_z_file'][id_type]
get :show_file, params: {uuid: id, file: "w a z"}, session: session_for(:active)
[false, true].each do |trust_all_content|
test "Redirect preview to keep_web_download_url when preview is disabled and trust_all_content is #{trust_all_content}" do
- Rails.configuration.trust_all_content = trust_all_content
+ Rails.configuration.Workbench.TrustAllContent = trust_all_content
setup_for_keep_web false, 'https://download.example/c=%{uuid_or_pdh}'
tok = api_token('active')
id = api_fixture('collections')['w_a_z_file']['uuid']
test "project tabs as user #{user} when pipeline related index APIs are disabled" do
@controller = ProjectsController.new
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
dd = ArvadosApiClient.new_or_current.discovery.deep_dup
dd[:resources][:pipeline_templates][:methods].delete(:index)
end
test "visit non-public project as anonymous when anonymous browsing is enabled and expect page not found" do
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
get(:show, params: {id: api_fixture('groups')['aproject']['uuid']})
assert_response 404
assert_match(/log ?in/i, @response.body)
end
test "visit home page as anonymous when anonymous browsing is enabled and expect login" do
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
get(:index)
assert_response :redirect
assert_match /\/users\/welcome/, @response.redirect_url
:active,
].each do |user|
test "visit public projects page when anon config is enabled, as user #{user}, and expect page" do
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
if user
get :public, params: {}, session: session_for(user)
end
test "visit public projects page when anon config is not enabled as active user and expect 404" do
- Rails.configuration.anonymous_user_token = nil
- Rails.configuration.enable_public_projects_page = false
+ Rails.configuration.Users.AnonymousUserToken = ""
+ Rails.configuration.Workbench.EnablePublicProjectsPage = false
get :public, params: {}, session: session_for(:active)
assert_response 404
end
test "visit public projects page when anon config is enabled but public projects page is disabled as active user and expect 404" do
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
- Rails.configuration.enable_public_projects_page = false
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Workbench.EnablePublicProjectsPage = false
get :public, params: {}, session: session_for(:active)
assert_response 404
end
test "visit public projects page when anon config is not enabled as anonymous and expect login page" do
- Rails.configuration.anonymous_user_token = nil
- Rails.configuration.enable_public_projects_page = false
+ Rails.configuration.Users.AnonymousUserToken = nil
+ Rails.configuration.Workbench.EnablePublicProjectsPage = false
get :public
assert_response :redirect
assert_match /\/users\/welcome/, @response.redirect_url
end
test "visit public projects page when anon config is enabled and public projects page is disabled and expect login page" do
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
- Rails.configuration.enable_public_projects_page = false
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Workbench.EnablePublicProjectsPage = false
get :index
assert_response :redirect
assert_match /\/users\/welcome/, @response.redirect_url
end
test "visit public projects page when anon config is not enabled and public projects page is enabled and expect login page" do
- Rails.configuration.enable_public_projects_page = true
+ Rails.configuration.Workbench.EnablePublicProjectsPage = true
get :index
assert_response :redirect
assert_match /\/users\/welcome/, @response.redirect_url
end
test "visit a public project and verify the public projects page link exists" do
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
uuid = api_fixture('groups')['anonymously_accessible_project']['uuid']
get :show, params: {id: uuid}
project = assigns(:object)
test "ignore previously valid token (for deleted user), don't crash" do
get :activity, params: {}, session: session_for(:valid_token_deleted_user)
assert_response :redirect
- assert_match /^#{Rails.configuration.arvados_login_base}/, @response.redirect_url
+ assert_match /^#{Rails.configuration.Services.Controller.ExternalURL}\/login/, @response.redirect_url
assert_nil assigns(:my_jobs)
assert_nil assigns(:my_ssh_keys)
end
id: api_fixture('users')['active']['uuid']
}, session: session_for(:expired_trustedclient)
assert_response :redirect
- assert_match /^#{Rails.configuration.arvados_login_base}/, @response.redirect_url
+ assert_match /^#{Rails.configuration.Services.Controller.ExternalURL}\/login/, @response.redirect_url
assert_nil assigns(:my_jobs)
assert_nil assigns(:my_ssh_keys)
end
setup do
need_javascript
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
end
PUBLIC_PROJECT = "/projects/#{api_fixture('groups')['anonymously_accessible_project']['uuid']}"
assert_text 'indicate that you have read and accepted the user agreement'
end
within('.navbar-fixed-top') do
- assert_selector 'a', text: Rails.configuration.site_name.downcase
+ assert_selector 'a', text: Rails.configuration.Workbench.SiteName.downcase
assert(page.has_link?("notifications-menu"), 'no user menu')
page.find("#notifications-menu").click
within('.dropdown-menu') do
else # anonymous
assert_text 'Unrestricted public data'
within('.navbar-fixed-top') do
- assert_text Rails.configuration.site_name.downcase
- assert_no_selector 'a', text: Rails.configuration.site_name.downcase
+ assert_text Rails.configuration.Workbench.SiteName.downcase
+ assert_no_selector 'a', text: Rails.configuration.Workbench.SiteName.downcase
assert_selector 'a', text: 'Log in'
assert_selector 'a', text: 'Browse public projects'
end
end
def verify_homepage user, invited, has_profile
- profile_config = Rails.configuration.user_profile_form_fields
+ profile_config = Rails.configuration.Workbench.UserProfileFormFields
if !user
assert page.has_text?('Please log in'), 'Not found text - Please log in'
assert page.has_text?('The "Log in" button below will show you a Google sign-in page'), 'Not found text - google sign in page'
assert page.has_no_text?('My projects'), 'Found text - My projects'
- assert page.has_link?("Log in to #{Rails.configuration.site_name}"), 'Not found text - log in to'
+ assert page.has_link?("Log in to #{Rails.configuration.Workbench.SiteName}"), 'Not found text - log in to'
elsif user['is_active']
if profile_config && !has_profile
assert page.has_text?('Save profile'), 'No text - Save profile'
within('.navbar-fixed-top') do
if !user
- assert_text Rails.configuration.site_name.downcase
- assert_no_selector 'a', text: Rails.configuration.site_name.downcase
+ assert_text Rails.configuration.Workbench.SiteName.downcase
+ assert_no_selector 'a', text: Rails.configuration.Workbench.SiteName.downcase
assert page.has_link?('Log in'), 'Not found link - Log in'
else
# my account menu
- assert_selector 'a', text: Rails.configuration.site_name.downcase
+ assert_selector 'a', text: Rails.configuration.Workbench.SiteName.downcase
assert(page.has_link?("notifications-menu"), 'no user menu')
page.find("#notifications-menu").click
within('.dropdown-menu') do
['https://wb2.example.org/', true],
].each do |wb2_url_config, wb2_menu_appear|
test "workbench2_url=#{wb2_url_config} should#{wb2_menu_appear ? '' : ' not'} show WB2 menu" do
- Rails.configuration.workbench2_url = wb2_url_config
+ Rails.configuration.Services.Workbench2.ExternalURL = URI(wb2_url_config)
assert_equal wb2_menu_appear, ConfigValidators::validate_wb2_url_config()
visit page_with_token('active')
['active_with_prefs_profile_no_getting_started_shown', false],
].each do |token, getting_started_shown|
test "getting started help menu item #{getting_started_shown}" do
- Rails.configuration.enable_getting_started_popup = true
+ Rails.configuration.Workbench.EnableGettingStartedPopup = true
visit page_with_token(token)
end
test "test arvados_public_data_doc_url config unset" do
- Rails.configuration.arvados_public_data_doc_url = false
+ Rails.configuration.Workbench.ArvadosPublicDataDocURL = false
visit page_with_token('active')
within '.navbar-fixed-top' do
end
test "no SSH public key notification when shell_in_a_box_url is configured" do
- Rails.configuration.shell_in_a_box_url = 'example.com'
+ Rails.configuration.Services.WebShell.ExternalURL = URI('http://example.com')
visit page_with_token('job_reader')
click_link 'notifications-menu'
assert_no_selector 'a', text:'Click here to set up an SSH public key for use with Arvados.'
end
test "preview anonymous content from keep-web by #{id_type}" do
- Rails.configuration.anonymous_user_token =
+ Rails.configuration.Users.AnonymousUserToken =
api_fixture('api_client_authorizations')['anonymous']['api_token']
uuid_or_pdh =
api_fixture('collections')['public_text_file'][id_type]
end
test "download anonymous content from keep-web by #{id_type}" do
- Rails.configuration.anonymous_user_token =
+ Rails.configuration.Users.AnonymousUserToken =
api_fixture('api_client_authorizations')['anonymous']['api_token']
uuid_or_pdh =
api_fixture('collections')['public_text_file'][id_type]
test "API error page has Report problem button" do
# point to a bad api server url to generate fiddlesticks error
- original_arvados_v1_base = Rails.configuration.arvados_v1_base
- Rails.configuration.arvados_v1_base = "https://[::1]:1/"
+ original_arvados_v1_base = Rails.configuration.Services.Controller.ExternalURL
+ Rails.configuration.Services.Controller.ExternalURL = URI("https://[::1]:1/")
visit page_with_token("active")
assert_text 'fiddlesticks'
# reset api server base config to let the popup rendering to work
- Rails.configuration.arvados_v1_base = original_arvados_v1_base
+ Rails.configuration.Services.Controller.ExternalURL = original_arvados_v1_base
click_link 'Report problem'
use_keep_web_config
# This config will be restored during teardown by ../test_helper.rb:
- Rails.configuration.log_viewer_max_bytes = 100
+ Rails.configuration.Workbench.LogViewerMaxBytes = 100
logdata = fakepipe_with_log_data.read
job_uuid = api_fixture('jobs')['running']['uuid']
test "Add another login to this account" do
visit page_with_token('active_trustedclient')
stub = start_sso_stub(api_fixture('api_client_authorizations')['project_viewer_trustedclient']['api_token'])
- Rails.configuration.arvados_login_base = stub + "login"
+ Rails.configuration.Services.Controller.ExternalURL = URI(stub)
find("#notifications-menu").click
assert_text "active-user@arvados.local"
test "Use this login to access another account" do
visit page_with_token('project_viewer_trustedclient')
stub = start_sso_stub(api_fixture('api_client_authorizations')['active_trustedclient']['api_token'])
- Rails.configuration.arvados_login_base = stub + "login"
+ Rails.configuration.Services.Controller.ExternalURL = URI(stub)
find("#notifications-menu").click
assert_text "project-viewer@arvados.local"
test "Link login of inactive user to this account" do
visit page_with_token('active_trustedclient')
stub = start_sso_stub(api_fixture('api_client_authorizations')['inactive_uninvited_trustedclient']['api_token'])
- Rails.configuration.arvados_login_base = stub + "login"
+ Rails.configuration.Services.Controller.ExternalURL = URI(stub)
find("#notifications-menu").click
assert_text "active-user@arvados.local"
test "Cannot link to inactive user" do
visit page_with_token('active_trustedclient')
stub = start_sso_stub(api_fixture('api_client_authorizations')['inactive_uninvited_trustedclient']['api_token'])
- Rails.configuration.arvados_login_base = stub + "login"
+ Rails.configuration.Services.Controller.ExternalURL = URI(stub)
find("#notifications-menu").click
assert_text "active-user@arvados.local"
test "Inactive user can link to active account" do
visit page_with_token('inactive_uninvited_trustedclient')
stub = start_sso_stub(api_fixture('api_client_authorizations')['active_trustedclient']['api_token'])
- Rails.configuration.arvados_login_base = stub + "login"
+ Rails.configuration.Services.Controller.ExternalURL = URI(stub)
find("#notifications-menu").click
assert_text "inactive-uninvited-user@arvados.local"
test "Admin cannot link to non-admin" do
visit page_with_token('admin_trustedclient')
stub = start_sso_stub(api_fixture('api_client_authorizations')['active_trustedclient']['api_token'])
- Rails.configuration.arvados_login_base = stub + "login"
+ Rails.configuration.Services.Controller.ExternalURL = URI(stub)
find("#notifications-menu").click
assert_text "admin@arvados.local"
end
test "projects not publicly sharable when anonymous browsing disabled" do
- Rails.configuration.anonymous_user_token = false
+ Rails.configuration.Users.AnonymousUserToken = ""
open_groups_sharing
# Check for a group we do expect first, to make sure the modal's loaded.
assert_selector(".modal-container .selectable",
end
test "projects publicly sharable when anonymous browsing enabled" do
- Rails.configuration.anonymous_user_token = "testonlytoken"
+ Rails.configuration.Users.AnonymousUserToken = "testonlytoken"
open_groups_sharing
assert_selector(".modal-container .selectable",
text: group_name("anonymous_group"))
end
test "error while loading tab" do
- original_arvados_v1_base = Rails.configuration.arvados_v1_base
+ original_arvados_v1_base = Rails.configuration.Services.Controller.ExternalURL
visit page_with_token 'active', '/projects/' + api_fixture('groups')['aproject']['uuid']
# Point to a bad api server url to generate error
- Rails.configuration.arvados_v1_base = "https://[::1]:1/"
+ Rails.configuration.Services.Controller.ExternalURL = "https://[::1]:1/"
click_link 'Other objects'
within '#Other_objects' do
# Error
assert_selector('a', text: 'Reload tab')
# Now point back to the orig api server and reload tab
- Rails.configuration.arvados_v1_base = original_arvados_v1_base
+ Rails.configuration.Services.Controller.ExternalURL = original_arvados_v1_base
click_link 'Reload tab'
assert_no_selector('a', text: 'Reload tab')
assert_selector('button', text: 'Selection')
class ReportIssueTest < ActionDispatch::IntegrationTest
setup do
need_javascript
- @user_profile_form_fields = Rails.configuration.user_profile_form_fields
+ @user_profile_form_fields = Rails.configuration.Workbench.UserProfileFormFields
end
teardown do
- Rails.configuration.user_profile_form_fields = @user_profile_form_fields
+ Rails.configuration.Workbench.UserProfileFormFields = @user_profile_form_fields
end
# test version info and report issue from help menu
class UserProfileTest < ActionDispatch::IntegrationTest
setup do
need_javascript
- @user_profile_form_fields = Rails.configuration.user_profile_form_fields
+ @user_profile_form_fields = Rails.configuration.Workbench.UserProfileFormFields
end
teardown do
- Rails.configuration.user_profile_form_fields = @user_profile_form_fields
+ Rails.configuration.Workbench.UserProfileFormFields = @user_profile_form_fields
end
def verify_homepage_with_profile user, invited, has_profile
- profile_config = Rails.configuration.user_profile_form_fields
+ profile_config = Rails.configuration.Workbench.UserProfileFormFields
if !user
assert_text('Please log in')
assert_text('Save profile')
# This time fill in required field and then save. Expect to go to requested page after that.
- profile_message = Rails.configuration.user_profile_form_message
+ profile_message = Rails.configuration.Workbench.UserProfileFormMessage
required_field_title = ''
required_field_key = ''
- profile_config = Rails.configuration.user_profile_form_fields
+ profile_config = Rails.configuration.Workbench.UserProfileFormFields
profile_config.each do |entry|
if entry['required']
required_field_key = entry['key']
[true, false].each do |profile_required|
test "visit #{token} home page when profile is #{'not ' if !profile_required}configured" do
if !profile_required
- Rails.configuration.user_profile_form_fields = false
+ Rails.configuration.Workbench.UserProfileFormFields = false
else
# Our test config enabled profile by default. So, no need to update config
end
- Rails.configuration.enable_getting_started_popup = true
+ Rails.configuration.Workbench.EnableGettingStartedPopup = true
if !token
visit ('/')
test "pipeline notification shown even though public pipelines exist" do
skip "created_by doesn't work that way"
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
visit page_with_token 'job_reader'
click_link 'notifications-menu'
assert_selector 'a', text: 'Click here to learn how to run an Arvados Crunch pipeline'
['active'],
].each do |user, *expect|
test "user settings menu for #{user} with notifications #{expect.inspect}" do
- Rails.configuration.anonymous_user_token = false
+ Rails.configuration.Users.AnonymousUserToken = ""
visit page_with_token(user)
click_link 'notifications-menu'
if expect.include? :ssh
visit page_with_token("active", "/jobs/#{job['uuid']}\#Log")
# Expect "all" historic log records because we have less than
- # default Rails.configuration.running_job_log_records_to_fetch count
+ # default Rails.configuration.Workbench.RunningJobLogRecordsToFetch
assert_text 'Historic log message'
# Create new log record and expect it to show up in log tab
test "test running job with too many previous log records" do
max = 5
- Rails.configuration.running_job_log_records_to_fetch = max
+ Rails.configuration.Workbench.RunningJobLogRecordsToFetch = max
job = api_fixture("jobs")['running']
# Create max+1 log records
if token
visit page_with_token token, "/#{type}/#{obj['uuid']}"
else
- Rails.configuration.anonymous_user_token =
+ Rails.configuration.Users.AnonymousUserToken =
api_fixture("api_client_authorizations", "anonymous", "api_token")
visit "/#{type}/#{obj['uuid']}"
end
def use_keep_web_config
@kwport = getport 'keep-web-ssl'
@kwdport = getport 'keep-web-dl-ssl'
- Rails.configuration.keep_web_url = "https://localhost:#{@kwport}/c=%{uuid_or_pdh}"
- Rails.configuration.keep_web_download_url = "https://localhost:#{@kwdport}/c=%{uuid_or_pdh}"
+ Rails.configuration.Services.WebDAV.ExternalURL = URI("https://localhost:#{@kwport}")
+ Rails.configuration.Services.WebDAVDownload.ExternalURL = URI("https://localhost:#{@kwdport}")
end
end
# didn't make a significant difference.
[true].each do |compress|
test "crud cycle for collection with big manifest (compress=#{compress})" do
- Rails.configuration.api_response_compression = compress
+ Rails.configuration.Workbench.APIResponseCompression = compress
Thread.current[:arvados_api_client] = nil
crudtest
end
end
def self.reset_application_config
- $application_config.each do |k,v|
- if k.match /^[^.]*$/
- Rails.configuration.send (k + '='), v
- end
- end
+ # Restore configuration settings changed during tests
+ ConfigLoader.copy_into_config $arvados_config, Rails.configuration
+ ConfigLoader.copy_into_config $remaining_config, Rails.configuration
+ Rails.configuration.Services.Controller.ExternalURL = "https://#{ENV['ARVADOS_API_HOST']}"
+ Rails.configuration.TLS.Insecure = true
end
end
end
run_test_server
- $application_config['arvados_login_base'] = "https://#{ENV['ARVADOS_API_HOST']}/login"
- $application_config['arvados_v1_base'] = "https://#{ENV['ARVADOS_API_HOST']}/arvados/v1"
- $application_config['arvados_insecure_host'] = true
ActiveSupport::TestCase.reset_application_config
@@server_is_running = true
test "User.current doesn't return anonymous user when using invalid token" do
# Set up anonymous user token
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
# First, try with a valid user
use_token :active
u = User.current
reset_api_fixtures :after_each_test, false
setup do
- Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ Rails.configuration.Users.AnonymousUserToken = api_fixture('api_client_authorizations')['anonymous']['api_token']
end
[
Mail:
MailchimpAPIKey: ""
MailchimpListID: ""
- SendUserSetupNotificationEmail: ""
+ SendUserSetupNotificationEmail: true
IssueReporterEmailFrom: ""
IssueReporterEmailTo: ""
SupportEmailAddress: ""
ArvadosDocsite: https://doc.arvados.org
ArvadosPublicDataDocURL: https://playground.arvados.org/projects/public
ShowUserAgreementInline: false
- SecretToken: ""
SecretKeyBase: ""
RepositoryCache: /var/www/arvados-workbench/current/tmp/git
UserProfileFormFields:
- SAMPLE:
- Type: text
- FormFieldTitle: ""
- FormFieldDescription: ""
- Required: true
+ - SAMPLE:
+ - Type: text
+ FormFieldTitle: ""
+ FormFieldDescription: ""
+ Required: true
UserProfileFormMessage: 'Welcome to Arvados. All <span style="color:red">required fields</span> must be completed before you can proceed.'
# Mimetypes of applications for which the view icon
PATH
remote: .
specs:
- arvados-login-sync (1.4.0.20190627174113)
+ arvados-login-sync (1.4.0.20190627191839)
arvados (~> 1.3.0, >= 1.3.0)
GEM