##// END OF EJS Templates
Speeds up rendering of the project list for users who belong to hundreds of projects....
Speeds up rendering of the project list for users who belong to hundreds of projects. git-svn-id: http://svn.redmine.org/redmine/trunk@16123 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r15349:8b107b605825
r15741:f8df935dcada
Show More
sys_controller_test.rb
134 lines | 4.1 KiB | text/x-ruby | RubyLexer
/ test / functional / sys_controller_test.rb
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769 #
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769 #
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374
Jean-Philippe Lang
Adds our own class for controller tests....
r15279 class SysControllerTest < Redmine::ControllerTest
Jean-Philippe Lang
Do not actually try to fetch changesets from the subversion repository....
r5036 fixtures :projects, :repositories, :enabled_modules
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 def setup
Setting.sys_api_enabled = '1'
Jean-Philippe Lang
Fixes a failure when running rake test:coverage....
r2475 Setting.enabled_scm = %w(Subversion Git)
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 end
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Tests should not change settings....
r9766 def teardown
Setting.clear_cache
end
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 def test_projects_with_repository_enabled
get :projects
assert_response :success
assert_equal 'application/xml', @response.content_type
Jean-Philippe Lang
Replaced remaining #assert_tag with #assert_select....
r13242
assert_select 'projects' do
assert_select 'project', Project.active.has_module(:repository).count
assert_select 'project' do
assert_select 'identifier'
assert_select 'is-public'
end
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 end
Jean-Philippe Lang
Replaced remaining #assert_tag with #assert_select....
r13242 assert_select 'extra-info', 0
assert_select 'extra_info', 0
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 end
def test_create_project_repository
assert_nil Project.find(4).repository
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 post :create_project_repository, :params => {
:id => 4,
:vendor => 'Subversion',
:repository => { :url => 'file:///create/project/repository/subproject2'}
}
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 assert_response :created
Jean-Philippe Lang
Do not include extra_info attribute in SysController responses because it breaks reposman activeresource client (#8707)....
r7836 assert_equal 'application/xml', @response.content_type
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 r = Project.find(4).repository
assert r.is_a?(Repository::Subversion)
assert_equal 'file:///create/project/repository/subproject2', r.url
Jean-Philippe Lang
Do not include extra_info attribute in SysController responses because it breaks reposman activeresource client (#8707)....
r7836
Jean-Philippe Lang
Replaced remaining #assert_tag with #assert_select....
r13242 assert_select 'repository-subversion' do
assert_select 'id', :text => r.id.to_s
assert_select 'url', :text => r.url
end
assert_select 'extra-info', 0
assert_select 'extra_info', 0
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 end
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Adds tests for SysController....
r7925 def test_create_already_existing
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 post :create_project_repository, :params => {
:id => 1,
Jean-Philippe Lang
Adds tests for SysController....
r7925 :vendor => 'Subversion',
:repository => { :url => 'file:///create/project/repository/subproject2'}
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 }
Jean-Philippe Lang
Adds tests for SysController....
r7925 assert_response :conflict
end
def test_create_with_failure
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 post :create_project_repository, :params => {
:id => 4,
Jean-Philippe Lang
Adds tests for SysController....
r7925 :vendor => 'Subversion',
:repository => { :url => 'invalid url'}
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 }
Jean-Philippe Lang
Adds tests for SysController....
r7925 assert_response :unprocessable_entity
end
Jean-Philippe Lang
Adds an action to SysController to fetch changesets of one or all projects (#2925)....
r2993 def test_fetch_changesets
Jean-Philippe Lang
Resourcified repositories for CRUD operations to prepare for multiple SCM per project (#779)....
r8528 Repository::Subversion.any_instance.expects(:fetch_changesets).twice.returns(true)
Jean-Philippe Lang
Adds an action to SysController to fetch changesets of one or all projects (#2925)....
r2993 get :fetch_changesets
assert_response :success
end
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Can not use Project#find on scopes with Rails 3.1....
r8881 def test_fetch_changesets_one_project_by_identifier
Jean-Philippe Lang
Resourcified repositories for CRUD operations to prepare for multiple SCM per project (#779)....
r8528 Repository::Subversion.any_instance.expects(:fetch_changesets).once.returns(true)
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 get :fetch_changesets, :params => {:id => 'ecookbook'}
Jean-Philippe Lang
Adds an action to SysController to fetch changesets of one or all projects (#2925)....
r2993 assert_response :success
end
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Can not use Project#find on scopes with Rails 3.1....
r8881 def test_fetch_changesets_one_project_by_id
Repository::Subversion.any_instance.expects(:fetch_changesets).once.returns(true)
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 get :fetch_changesets, :params => {:id => '1'}
Jean-Philippe Lang
Can not use Project#find on scopes with Rails 3.1....
r8881 assert_response :success
end
Jean-Philippe Lang
Adds an action to SysController to fetch changesets of one or all projects (#2925)....
r2993 def test_fetch_changesets_unknown_project
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 get :fetch_changesets, :params => {:id => 'unknown'}
Jean-Philippe Lang
Adds an action to SysController to fetch changesets of one or all projects (#2925)....
r2993 assert_response 404
end
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Adds on optional API key to repositories management controller and reposman.rb....
r3087 def test_disabled_ws_should_respond_with_403_error
with_settings :sys_api_enabled => '0' do
get :projects
assert_response 403
Jean-Philippe Lang
Don't use render :text => ""....
r15349 assert_include 'Access denied', response.body
Jean-Philippe Lang
Adds on optional API key to repositories management controller and reposman.rb....
r3087 end
end
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Adds on optional API key to repositories management controller and reposman.rb....
r3087 def test_api_key
with_settings :sys_api_key => 'my_secret_key' do
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 get :projects, :params => {:key => 'my_secret_key'}
Jean-Philippe Lang
Adds on optional API key to repositories management controller and reposman.rb....
r3087 assert_response :success
end
end
Toshi MARUYAMA
remove trailing white-spaces from functional sys controller test....
r5769
Jean-Philippe Lang
Adds on optional API key to repositories management controller and reposman.rb....
r3087 def test_wrong_key_should_respond_with_403_error
with_settings :sys_api_enabled => 'my_secret_key' do
Jean-Philippe Lang
Pass parameters with :params in controller tests....
r15284 get :projects, :params => {:key => 'wrong_key'}
Jean-Philippe Lang
Adds on optional API key to repositories management controller and reposman.rb....
r3087 assert_response 403
Jean-Philippe Lang
Don't use render :text => ""....
r15349 assert_include 'Access denied', response.body
Jean-Philippe Lang
Adds on optional API key to repositories management controller and reposman.rb....
r3087 end
end
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 end