comparison test/functional/repositories_filesystem_controller_test.rb @ 909:cbb26bc654de redmine-1.3

Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author Chris Cannam
date Fri, 24 Feb 2012 19:09:32 +0000
parents cbce1fd3b1b7
children 433d4f72a19b
comparison
equal deleted inserted replaced
908:c6c2cbd0afee 909:cbb26bc654de
20 20
21 # Re-raise errors caught by the controller. 21 # Re-raise errors caught by the controller.
22 class RepositoriesController; def rescue_action(e) raise e end; end 22 class RepositoriesController; def rescue_action(e) raise e end; end
23 23
24 class RepositoriesFilesystemControllerTest < ActionController::TestCase 24 class RepositoriesFilesystemControllerTest < ActionController::TestCase
25 fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules 25 fixtures :projects, :users, :roles, :members, :member_roles,
26 :repositories, :enabled_modules
26 27
27 # No '..' in the repository path 28 REPOSITORY_PATH = Rails.root.join('tmp/test/filesystem_repository').to_s
28 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/filesystem_repository'
29 PRJ_ID = 3 29 PRJ_ID = 3
30 30
31 def setup 31 def setup
32 @ruby19_non_utf8_pass = 32 @ruby19_non_utf8_pass =
33 (RUBY_VERSION >= '1.9' && Encoding.default_external.to_s != 'UTF-8') 33 (RUBY_VERSION >= '1.9' && Encoding.default_external.to_s != 'UTF-8')
34 @controller = RepositoriesController.new 34 @controller = RepositoriesController.new
35 @request = ActionController::TestRequest.new 35 @request = ActionController::TestRequest.new
36 @response = ActionController::TestResponse.new 36 @response = ActionController::TestResponse.new
37 User.current = nil 37 User.current = nil
38 Setting.enabled_scm << 'Filesystem' unless Setting.enabled_scm.include?('Filesystem') 38 Setting.enabled_scm << 'Filesystem' unless Setting.enabled_scm.include?('Filesystem')
39 @project = Project.find(PRJ_ID)
39 @repository = Repository::Filesystem.create( 40 @repository = Repository::Filesystem.create(
40 :project => Project.find(PRJ_ID), 41 :project => @project,
41 :url => REPOSITORY_PATH, 42 :url => REPOSITORY_PATH,
42 :path_encoding => '' 43 :path_encoding => ''
43 ) 44 )
44 assert @repository 45 assert @repository
45 end 46 end
113 get :entry, :id => PRJ_ID, :path => ['japanese', 'big-file.txt'] 114 get :entry, :id => PRJ_ID, :path => ['japanese', 'big-file.txt']
114 assert_response :success 115 assert_response :success
115 assert_equal 'text/plain', @response.content_type 116 assert_equal 'text/plain', @response.content_type
116 end 117 end
117 end 118 end
119
120 def test_destroy_valid_repository
121 @request.session[:user_id] = 1 # admin
122
123 get :destroy, :id => PRJ_ID
124 assert_response 302
125 @project.reload
126 assert_nil @project.repository
127 end
128
129 def test_destroy_invalid_repository
130 @request.session[:user_id] = 1 # admin
131
132 get :destroy, :id => PRJ_ID
133 assert_response 302
134 @project.reload
135 assert_nil @project.repository
136
137 @repository = Repository::Filesystem.create(
138 :project => Project.find(PRJ_ID),
139 :url => "/invalid",
140 :path_encoding => ''
141 )
142 assert @repository
143
144 get :destroy, :id => PRJ_ID
145 assert_response 302
146 @project.reload
147 assert_nil @project.repository
148 end
118 else 149 else
119 puts "Filesystem test repository NOT FOUND. Skipping functional tests !!!" 150 puts "Filesystem test repository NOT FOUND. Skipping functional tests !!!"
120 def test_fake; assert true end 151 def test_fake; assert true end
121 end 152 end
122 end 153 end