Mercurial > hg > soundsoftware-site
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 |