##// END OF EJS Templates
When copying issues, let the status be changed to default or left unchanged....
When copying issues, let the status be changed to default or left unchanged. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9404 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r8881:cf9154f924ff
r9270:09375960d69d
Show More
sys_controller_test.rb
129 lines | 4.2 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
Do not actually try to fetch changesets from the subversion repository....
r5036 # Copyright (C) 2006-2011 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 require 'sys_controller'
Jean-Philippe Lang
Do not actually try to fetch changesets from the subversion repository....
r5036 require 'mocha'
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374
# Re-raise errors caught by the controller.
class SysController; def rescue_action(e) raise e end; end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class SysControllerTest < ActionController::TestCase
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
@controller = SysController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
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
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
with_options :tag => 'projects' do |test|
test.assert_tag :children => { :count => Project.active.has_module(:repository).count }
Jean-Philippe Lang
Do not include extra_info attribute in SysController responses because it breaks reposman activeresource client (#8707)....
r7836 test.assert_tag 'project', :child => {:tag => 'identifier', :sibling => {:tag => 'is-public'}}
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 end
Jean-Philippe Lang
Do not include extra_info attribute in SysController responses because it breaks reposman activeresource client (#8707)....
r7836 assert_no_tag 'extra-info'
assert_no_tag 'extra_info'
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
post :create_project_repository, :id => 4,
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 :vendor => 'Subversion',
:repository => { :url => 'file:///create/project/repository/subproject2'}
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
assert_tag 'repository-subversion',
:child => {
:tag => 'id', :content => r.id.to_s,
:sibling => {:tag => 'url', :content => r.url}
}
assert_no_tag 'extra-info'
assert_no_tag 'extra_info'
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
post :create_project_repository, :id => 1,
:vendor => 'Subversion',
:repository => { :url => 'file:///create/project/repository/subproject2'}
assert_response :conflict
end
def test_create_with_failure
post :create_project_repository, :id => 4,
:vendor => 'Subversion',
:repository => { :url => 'invalid url'}
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
Adds an action to SysController to fetch changesets of one or all projects (#2925)....
r2993 get :fetch_changesets, :id => 'ecookbook'
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)
get :fetch_changesets, :id => '1'
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
get :fetch_changesets, :id => 'unknown'
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
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
get :projects, :key => 'my_secret_key'
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
get :projects, :key => 'wrong_key'
assert_response 403
end
end
Jean-Philippe Lang
Replaces the repositories management SOAP API with a simple REST API....
r2374 end