mirror of
https://github.com/redmine/redmine.git
synced 2025-11-09 14:56:01 +01:00
Replaces the repositories management SOAP API with a simple REST API.
reposman usage is unchanged but the script now requires activeresource. actionwebservice is now longer used and thus removed from plugins. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2435 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -1,50 +0,0 @@
|
||||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
require 'sys_controller'
|
||||
|
||||
# Re-raise errors caught by the controller.
|
||||
class SysController; def rescue_action(e) raise e end; end
|
||||
|
||||
class SysControllerTest < Test::Unit::TestCase
|
||||
fixtures :projects, :enabled_modules, :repositories
|
||||
|
||||
def setup
|
||||
@controller = SysController.new
|
||||
@request = ActionController::TestRequest.new
|
||||
@response = ActionController::TestResponse.new
|
||||
# Enable WS
|
||||
Setting.sys_api_enabled = 1
|
||||
end
|
||||
|
||||
def test_projects_with_repository_enabled
|
||||
result = invoke :projects_with_repository_enabled
|
||||
assert_equal EnabledModule.count(:all, :conditions => {:name => 'repository'}), result.size
|
||||
|
||||
project = result.first
|
||||
assert project.is_a?(AWSProjectWithRepository)
|
||||
|
||||
assert project.respond_to?(:id)
|
||||
assert_equal 1, project.id
|
||||
|
||||
assert project.respond_to?(:identifier)
|
||||
assert_equal 'ecookbook', project.identifier
|
||||
|
||||
assert project.respond_to?(:name)
|
||||
assert_equal 'eCookbook', project.name
|
||||
|
||||
assert project.respond_to?(:is_public)
|
||||
assert project.is_public
|
||||
|
||||
assert project.respond_to?(:repository)
|
||||
assert project.repository.is_a?(Repository)
|
||||
end
|
||||
|
||||
def test_repository_created
|
||||
project = Project.find(3)
|
||||
assert_nil project.repository
|
||||
assert invoke(:repository_created, project.identifier, 'Subversion', 'http://localhost/svn')
|
||||
project.reload
|
||||
assert_not_nil project.repository
|
||||
assert project.repository.is_a?(Repository::Subversion)
|
||||
assert_equal 'http://localhost/svn', project.repository.url
|
||||
end
|
||||
end
|
||||
55
test/functional/sys_controller_test.rb
Normal file
55
test/functional/sys_controller_test.rb
Normal file
@@ -0,0 +1,55 @@
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2009 Jean-Philippe Lang
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
|
||||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
require 'sys_controller'
|
||||
|
||||
# Re-raise errors caught by the controller.
|
||||
class SysController; def rescue_action(e) raise e end; end
|
||||
|
||||
class SysControllerTest < Test::Unit::TestCase
|
||||
fixtures :projects, :repositories
|
||||
|
||||
def setup
|
||||
@controller = SysController.new
|
||||
@request = ActionController::TestRequest.new
|
||||
@response = ActionController::TestResponse.new
|
||||
Setting.sys_api_enabled = '1'
|
||||
end
|
||||
|
||||
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 }
|
||||
end
|
||||
end
|
||||
|
||||
def test_create_project_repository
|
||||
assert_nil Project.find(4).repository
|
||||
|
||||
post :create_project_repository, :id => 4,
|
||||
:vendor => 'Subversion',
|
||||
:repository => { :url => 'file:///create/project/repository/subproject2'}
|
||||
assert_response :created
|
||||
|
||||
r = Project.find(4).repository
|
||||
assert r.is_a?(Repository::Subversion)
|
||||
assert_equal 'file:///create/project/repository/subproject2', r.url
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user