##// END OF EJS Templates
Rails3: scm: subversion: fix error of test_directory_diff at functional test...
Toshi MARUYAMA -
r7070:6cddeac5e66a
parent child
Show More
@@ -1,353 +1,355
1 # Redmine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 require File.expand_path('../../test_helper', __FILE__)
18 require File.expand_path('../../test_helper', __FILE__)
19 require 'repositories_controller'
19 require 'repositories_controller'
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 RepositoriesSubversionControllerTest < ActionController::TestCase
24 class RepositoriesSubversionControllerTest < ActionController::TestCase
25 fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules,
25 fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules,
26 :repositories, :issues, :issue_statuses, :changesets, :changes,
26 :repositories, :issues, :issue_statuses, :changesets, :changes,
27 :issue_categories, :enumerations, :custom_fields, :custom_values, :trackers
27 :issue_categories, :enumerations, :custom_fields, :custom_values, :trackers
28
28
29 PRJ_ID = 3
29 PRJ_ID = 3
30 NUM_REV = 11
30 NUM_REV = 11
31
31
32 def setup
32 def setup
33 @controller = RepositoriesController.new
33 @controller = RepositoriesController.new
34 @request = ActionController::TestRequest.new
34 @request = ActionController::TestRequest.new
35 @response = ActionController::TestResponse.new
35 @response = ActionController::TestResponse.new
36 Setting.default_language = 'en'
36 Setting.default_language = 'en'
37 User.current = nil
37 User.current = nil
38
38
39 @project = Project.find(PRJ_ID)
39 @project = Project.find(PRJ_ID)
40 @repository = Repository::Subversion.create(:project => @project,
40 @repository = Repository::Subversion.create(:project => @project,
41 :url => self.class.subversion_repository_url)
41 :url => self.class.subversion_repository_url)
42 assert @repository
42 assert @repository
43 end
43 end
44
44
45 if repository_configured?('subversion')
45 if repository_configured?('subversion')
46 def test_show
46 def test_show
47 assert_equal 0, @repository.changesets.count
47 assert_equal 0, @repository.changesets.count
48 @repository.fetch_changesets
48 @repository.fetch_changesets
49 @project.reload
49 @project.reload
50 assert_equal NUM_REV, @repository.changesets.count
50 assert_equal NUM_REV, @repository.changesets.count
51 get :show, :id => PRJ_ID
51 get :show, :id => PRJ_ID
52 assert_response :success
52 assert_response :success
53 assert_template 'show'
53 assert_template 'show'
54 assert_not_nil assigns(:entries)
54 assert_not_nil assigns(:entries)
55 assert_not_nil assigns(:changesets)
55 assert_not_nil assigns(:changesets)
56 end
56 end
57
57
58 def test_browse_root
58 def test_browse_root
59 @repository.fetch_changesets
59 @repository.fetch_changesets
60 @repository.reload
60 @repository.reload
61 get :show, :id => PRJ_ID
61 get :show, :id => PRJ_ID
62 assert_response :success
62 assert_response :success
63 assert_template 'show'
63 assert_template 'show'
64 assert_not_nil assigns(:entries)
64 assert_not_nil assigns(:entries)
65 entry = assigns(:entries).detect {|e| e.name == 'subversion_test'}
65 entry = assigns(:entries).detect {|e| e.name == 'subversion_test'}
66 assert_equal 'dir', entry.kind
66 assert_equal 'dir', entry.kind
67 end
67 end
68
68
69 def test_browse_directory
69 def test_browse_directory
70 @repository.fetch_changesets
70 @repository.fetch_changesets
71 @repository.reload
71 @repository.reload
72 get :show, :id => PRJ_ID, :path => ['subversion_test']
72 get :show, :id => PRJ_ID, :path => ['subversion_test']
73 assert_response :success
73 assert_response :success
74 assert_template 'show'
74 assert_template 'show'
75 assert_not_nil assigns(:entries)
75 assert_not_nil assigns(:entries)
76 assert_equal [
76 assert_equal [
77 '[folder_with_brackets]', 'folder', '.project',
77 '[folder_with_brackets]', 'folder', '.project',
78 'helloworld.c', 'textfile.txt'
78 'helloworld.c', 'textfile.txt'
79 ],
79 ],
80 assigns(:entries).collect(&:name)
80 assigns(:entries).collect(&:name)
81 entry = assigns(:entries).detect {|e| e.name == 'helloworld.c'}
81 entry = assigns(:entries).detect {|e| e.name == 'helloworld.c'}
82 assert_equal 'file', entry.kind
82 assert_equal 'file', entry.kind
83 assert_equal 'subversion_test/helloworld.c', entry.path
83 assert_equal 'subversion_test/helloworld.c', entry.path
84 assert_tag :a, :content => 'helloworld.c', :attributes => { :class => /text\-x\-c/ }
84 assert_tag :a, :content => 'helloworld.c', :attributes => { :class => /text\-x\-c/ }
85 end
85 end
86
86
87 def test_browse_at_given_revision
87 def test_browse_at_given_revision
88 @repository.fetch_changesets
88 @repository.fetch_changesets
89 @repository.reload
89 @repository.reload
90 get :show, :id => PRJ_ID, :path => ['subversion_test'], :rev => 4
90 get :show, :id => PRJ_ID, :path => ['subversion_test'], :rev => 4
91 assert_response :success
91 assert_response :success
92 assert_template 'show'
92 assert_template 'show'
93 assert_not_nil assigns(:entries)
93 assert_not_nil assigns(:entries)
94 assert_equal ['folder', '.project', 'helloworld.c', 'helloworld.rb', 'textfile.txt'],
94 assert_equal ['folder', '.project', 'helloworld.c', 'helloworld.rb', 'textfile.txt'],
95 assigns(:entries).collect(&:name)
95 assigns(:entries).collect(&:name)
96 end
96 end
97
97
98 def test_file_changes
98 def test_file_changes
99 @repository.fetch_changesets
99 @repository.fetch_changesets
100 @repository.reload
100 @repository.reload
101 get :changes, :id => PRJ_ID, :path => ['subversion_test', 'folder', 'helloworld.rb' ]
101 get :changes, :id => PRJ_ID, :path => ['subversion_test', 'folder', 'helloworld.rb' ]
102 assert_response :success
102 assert_response :success
103 assert_template 'changes'
103 assert_template 'changes'
104
104
105 changesets = assigns(:changesets)
105 changesets = assigns(:changesets)
106 assert_not_nil changesets
106 assert_not_nil changesets
107 assert_equal %w(6 3 2), changesets.collect(&:revision)
107 assert_equal %w(6 3 2), changesets.collect(&:revision)
108
108
109 # svn properties displayed with svn >= 1.5 only
109 # svn properties displayed with svn >= 1.5 only
110 if Redmine::Scm::Adapters::SubversionAdapter.client_version_above?([1, 5, 0])
110 if Redmine::Scm::Adapters::SubversionAdapter.client_version_above?([1, 5, 0])
111 assert_not_nil assigns(:properties)
111 assert_not_nil assigns(:properties)
112 assert_equal 'native', assigns(:properties)['svn:eol-style']
112 assert_equal 'native', assigns(:properties)['svn:eol-style']
113 assert_tag :ul,
113 assert_tag :ul,
114 :child => { :tag => 'li',
114 :child => { :tag => 'li',
115 :child => { :tag => 'b', :content => 'svn:eol-style' },
115 :child => { :tag => 'b', :content => 'svn:eol-style' },
116 :child => { :tag => 'span', :content => 'native' } }
116 :child => { :tag => 'span', :content => 'native' } }
117 end
117 end
118 end
118 end
119
119
120 def test_directory_changes
120 def test_directory_changes
121 @repository.fetch_changesets
121 @repository.fetch_changesets
122 @repository.reload
122 @repository.reload
123 get :changes, :id => PRJ_ID, :path => ['subversion_test', 'folder' ]
123 get :changes, :id => PRJ_ID, :path => ['subversion_test', 'folder' ]
124 assert_response :success
124 assert_response :success
125 assert_template 'changes'
125 assert_template 'changes'
126
126
127 changesets = assigns(:changesets)
127 changesets = assigns(:changesets)
128 assert_not_nil changesets
128 assert_not_nil changesets
129 assert_equal %w(10 9 7 6 5 2), changesets.collect(&:revision)
129 assert_equal %w(10 9 7 6 5 2), changesets.collect(&:revision)
130 end
130 end
131
131
132 def test_entry
132 def test_entry
133 @repository.fetch_changesets
133 @repository.fetch_changesets
134 @repository.reload
134 @repository.reload
135 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
135 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
136 assert_response :success
136 assert_response :success
137 assert_template 'entry'
137 assert_template 'entry'
138 end
138 end
139
139
140 def test_entry_should_send_if_too_big
140 def test_entry_should_send_if_too_big
141 @repository.fetch_changesets
141 @repository.fetch_changesets
142 @repository.reload
142 @repository.reload
143 # no files in the test repo is larger than 1KB...
143 # no files in the test repo is larger than 1KB...
144 with_settings :file_max_size_displayed => 0 do
144 with_settings :file_max_size_displayed => 0 do
145 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
145 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
146 assert_response :success
146 assert_response :success
147 assert_template ''
147 assert_template ''
148 assert_equal 'attachment; filename="helloworld.c"',
148 assert_equal 'attachment; filename="helloworld.c"',
149 @response.headers['Content-Disposition']
149 @response.headers['Content-Disposition']
150 end
150 end
151 end
151 end
152
152
153 def test_entry_at_given_revision
153 def test_entry_at_given_revision
154 @repository.fetch_changesets
154 @repository.fetch_changesets
155 @repository.reload
155 @repository.reload
156 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.rb'], :rev => 2
156 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.rb'], :rev => 2
157 assert_response :success
157 assert_response :success
158 assert_template 'entry'
158 assert_template 'entry'
159 # this line was removed in r3 and file was moved in r6
159 # this line was removed in r3 and file was moved in r6
160 assert_tag :tag => 'td', :attributes => { :class => /line-code/},
160 assert_tag :tag => 'td', :attributes => { :class => /line-code/},
161 :content => /Here's the code/
161 :content => /Here's the code/
162 end
162 end
163
163
164 def test_entry_not_found
164 def test_entry_not_found
165 @repository.fetch_changesets
165 @repository.fetch_changesets
166 @repository.reload
166 @repository.reload
167 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'zzz.c']
167 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'zzz.c']
168 assert_tag :tag => 'p', :attributes => { :id => /errorExplanation/ },
168 assert_tag :tag => 'p', :attributes => { :id => /errorExplanation/ },
169 :content => /The entry or revision was not found in the repository/
169 :content => /The entry or revision was not found in the repository/
170 end
170 end
171
171
172 def test_entry_download
172 def test_entry_download
173 @repository.fetch_changesets
173 @repository.fetch_changesets
174 @repository.reload
174 @repository.reload
175 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c'], :format => 'raw'
175 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c'], :format => 'raw'
176 assert_response :success
176 assert_response :success
177 assert_template ''
177 assert_template ''
178 assert_equal 'attachment; filename="helloworld.c"', @response.headers['Content-Disposition']
178 assert_equal 'attachment; filename="helloworld.c"', @response.headers['Content-Disposition']
179 end
179 end
180
180
181 def test_directory_entry
181 def test_directory_entry
182 assert_equal 0, @repository.changesets.count
182 assert_equal 0, @repository.changesets.count
183 @repository.fetch_changesets
183 @repository.fetch_changesets
184 @project.reload
184 @project.reload
185 assert_equal NUM_REV, @repository.changesets.count
185 assert_equal NUM_REV, @repository.changesets.count
186 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'folder']
186 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'folder']
187 assert_response :success
187 assert_response :success
188 assert_template 'show'
188 assert_template 'show'
189 assert_not_nil assigns(:entry)
189 assert_not_nil assigns(:entry)
190 assert_equal 'folder', assigns(:entry).name
190 assert_equal 'folder', assigns(:entry).name
191 end
191 end
192
192
193 # TODO: this test needs fixtures.
193 # TODO: this test needs fixtures.
194 def test_revision
194 def test_revision
195 @repository.fetch_changesets
195 @repository.fetch_changesets
196 @repository.reload
196 @repository.reload
197 get :revision, :id => 1, :rev => 2
197 get :revision, :id => 1, :rev => 2
198 assert_response :success
198 assert_response :success
199 assert_template 'revision'
199 assert_template 'revision'
200 assert_tag :tag => 'ul',
200 assert_tag :tag => 'ul',
201 :child => { :tag => 'li',
201 :child => { :tag => 'li',
202 # link to the entry at rev 2
202 # link to the entry at rev 2
203 :child => { :tag => 'a',
203 :child => { :tag => 'a',
204 :attributes => {:href => '/projects/ecookbook/repository/revisions/2/entry/test/some/path/in/the/repo'},
204 :attributes => {:href => '/projects/ecookbook/repository/revisions/2/entry/test/some/path/in/the/repo'},
205 :content => 'repo',
205 :content => 'repo',
206 # link to partial diff
206 # link to partial diff
207 :sibling => { :tag => 'a',
207 :sibling => { :tag => 'a',
208 :attributes => { :href => '/projects/ecookbook/repository/revisions/2/diff/test/some/path/in/the/repo' }
208 :attributes => { :href => '/projects/ecookbook/repository/revisions/2/diff/test/some/path/in/the/repo' }
209 }
209 }
210 }
210 }
211 }
211 }
212 end
212 end
213
213
214 def test_invalid_revision
214 def test_invalid_revision
215 assert_equal 0, @repository.changesets.count
215 assert_equal 0, @repository.changesets.count
216 @repository.fetch_changesets
216 @repository.fetch_changesets
217 @project.reload
217 @project.reload
218 assert_equal NUM_REV, @repository.changesets.count
218 assert_equal NUM_REV, @repository.changesets.count
219 get :revision, :id => PRJ_ID, :rev => 'something_weird'
219 get :revision, :id => PRJ_ID, :rev => 'something_weird'
220 assert_response 404
220 assert_response 404
221 assert_error_tag :content => /was not found/
221 assert_error_tag :content => /was not found/
222 end
222 end
223
223
224 def test_invalid_revision_diff
224 def test_invalid_revision_diff
225 get :diff, :id => PRJ_ID, :rev => '1', :rev_to => 'something_weird'
225 get :diff, :id => PRJ_ID, :rev => '1', :rev_to => 'something_weird'
226 assert_response 404
226 assert_response 404
227 assert_error_tag :content => /was not found/
227 assert_error_tag :content => /was not found/
228 end
228 end
229
229
230 def test_empty_revision
230 def test_empty_revision
231 assert_equal 0, @repository.changesets.count
231 assert_equal 0, @repository.changesets.count
232 @repository.fetch_changesets
232 @repository.fetch_changesets
233 @project.reload
233 @project.reload
234 assert_equal NUM_REV, @repository.changesets.count
234 assert_equal NUM_REV, @repository.changesets.count
235 ['', ' ', nil].each do |r|
235 ['', ' ', nil].each do |r|
236 get :revision, :id => PRJ_ID, :rev => r
236 get :revision, :id => PRJ_ID, :rev => r
237 assert_response 404
237 assert_response 404
238 assert_error_tag :content => /was not found/
238 assert_error_tag :content => /was not found/
239 end
239 end
240 end
240 end
241
241
242 # TODO: this test needs fixtures.
242 # TODO: this test needs fixtures.
243 def test_revision_with_repository_pointing_to_a_subdirectory
243 def test_revision_with_repository_pointing_to_a_subdirectory
244 r = Project.find(1).repository
244 r = Project.find(1).repository
245 # Changes repository url to a subdirectory
245 # Changes repository url to a subdirectory
246 r.update_attribute :url, (r.url + '/test/some')
246 r.update_attribute :url, (r.url + '/test/some')
247
247
248 get :revision, :id => 1, :rev => 2
248 get :revision, :id => 1, :rev => 2
249 assert_response :success
249 assert_response :success
250 assert_template 'revision'
250 assert_template 'revision'
251 assert_tag :tag => 'ul',
251 assert_tag :tag => 'ul',
252 :child => { :tag => 'li',
252 :child => { :tag => 'li',
253 # link to the entry at rev 2
253 # link to the entry at rev 2
254 :child => { :tag => 'a',
254 :child => { :tag => 'a',
255 :attributes => {:href => '/projects/ecookbook/repository/revisions/2/entry/path/in/the/repo'},
255 :attributes => {:href => '/projects/ecookbook/repository/revisions/2/entry/path/in/the/repo'},
256 :content => 'repo',
256 :content => 'repo',
257 # link to partial diff
257 # link to partial diff
258 :sibling => { :tag => 'a',
258 :sibling => { :tag => 'a',
259 :attributes => { :href => '/projects/ecookbook/repository/revisions/2/diff/path/in/the/repo' }
259 :attributes => { :href => '/projects/ecookbook/repository/revisions/2/diff/path/in/the/repo' }
260 }
260 }
261 }
261 }
262 }
262 }
263 end
263 end
264
264
265 def test_revision_diff
265 def test_revision_diff
266 assert_equal 0, @repository.changesets.count
266 assert_equal 0, @repository.changesets.count
267 @repository.fetch_changesets
267 @repository.fetch_changesets
268 @project.reload
268 @project.reload
269 assert_equal NUM_REV, @repository.changesets.count
269 assert_equal NUM_REV, @repository.changesets.count
270 ['inline', 'sbs'].each do |dt|
270 ['inline', 'sbs'].each do |dt|
271 get :diff, :id => PRJ_ID, :rev => 3, :type => dt
271 get :diff, :id => PRJ_ID, :rev => 3, :type => dt
272 assert_response :success
272 assert_response :success
273 assert_template 'diff'
273 assert_template 'diff'
274 assert_tag :tag => 'h2',
274 assert_tag :tag => 'h2',
275 :content => / 3/
275 :content => / 3/
276 end
276 end
277 end
277 end
278
278
279 def test_directory_diff
279 def test_directory_diff
280 assert_equal 0, @repository.changesets.count
280 @repository.fetch_changesets
281 @repository.fetch_changesets
281 @repository.reload
282 @project.reload
283 assert_equal NUM_REV, @repository.changesets.count
282 ['inline', 'sbs'].each do |dt|
284 ['inline', 'sbs'].each do |dt|
283 get :diff, :id => PRJ_ID, :rev => 6, :rev_to => 2,
285 get :diff, :id => PRJ_ID, :rev => 6, :rev_to => 2,
284 :path => ['subversion_test', 'folder'], :type => dt
286 :path => ['subversion_test', 'folder'], :type => dt
285 assert_response :success
287 assert_response :success
286 assert_template 'diff'
288 assert_template 'diff'
287
289
288 diff = assigns(:diff)
290 diff = assigns(:diff)
289 assert_not_nil diff
291 assert_not_nil diff
290 # 2 files modified
292 # 2 files modified
291 assert_equal 2, Redmine::UnifiedDiff.new(diff).size
293 assert_equal 2, Redmine::UnifiedDiff.new(diff).size
292 assert_tag :tag => 'h2', :content => /2:6/
294 assert_tag :tag => 'h2', :content => /2:6/
293 end
295 end
294 end
296 end
295
297
296 def test_annotate
298 def test_annotate
297 @repository.fetch_changesets
299 @repository.fetch_changesets
298 @repository.reload
300 @repository.reload
299 get :annotate, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
301 get :annotate, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
300 assert_response :success
302 assert_response :success
301 assert_template 'annotate'
303 assert_template 'annotate'
302 end
304 end
303
305
304 def test_annotate_at_given_revision
306 def test_annotate_at_given_revision
305 @repository.fetch_changesets
307 @repository.fetch_changesets
306 @repository.reload
308 @repository.reload
307 get :annotate, :id => PRJ_ID, :rev => 8, :path => ['subversion_test', 'helloworld.c']
309 get :annotate, :id => PRJ_ID, :rev => 8, :path => ['subversion_test', 'helloworld.c']
308 assert_response :success
310 assert_response :success
309 assert_template 'annotate'
311 assert_template 'annotate'
310 assert_tag :tag => 'h2', :content => /@ 8/
312 assert_tag :tag => 'h2', :content => /@ 8/
311 end
313 end
312
314
313 def test_destroy_valid_repository
315 def test_destroy_valid_repository
314 @request.session[:user_id] = 1 # admin
316 @request.session[:user_id] = 1 # admin
315 @repository.fetch_changesets
317 @repository.fetch_changesets
316 @repository.reload
318 @repository.reload
317 assert @repository.changesets.count > 0
319 assert @repository.changesets.count > 0
318
320
319 get :destroy, :id => PRJ_ID
321 get :destroy, :id => PRJ_ID
320 assert_response 302
322 assert_response 302
321 @project.reload
323 @project.reload
322 assert_nil @project.repository
324 assert_nil @project.repository
323 end
325 end
324
326
325 def test_destroy_invalid_repository
327 def test_destroy_invalid_repository
326 @request.session[:user_id] = 1 # admin
328 @request.session[:user_id] = 1 # admin
327 @repository.fetch_changesets
329 @repository.fetch_changesets
328 @repository.reload
330 @repository.reload
329 assert @repository.changesets.count > 0
331 assert @repository.changesets.count > 0
330
332
331 get :destroy, :id => PRJ_ID
333 get :destroy, :id => PRJ_ID
332 assert_response 302
334 assert_response 302
333 @project.reload
335 @project.reload
334 assert_nil @project.repository
336 assert_nil @project.repository
335
337
336 @repository = Repository::Subversion.create(
338 @repository = Repository::Subversion.create(
337 :project => @project,
339 :project => @project,
338 :url => "file:///invalid")
340 :url => "file:///invalid")
339 assert @repository
341 assert @repository
340 @repository.fetch_changesets
342 @repository.fetch_changesets
341 @repository.reload
343 @repository.reload
342 assert_equal 0, @repository.changesets.count
344 assert_equal 0, @repository.changesets.count
343
345
344 get :destroy, :id => PRJ_ID
346 get :destroy, :id => PRJ_ID
345 assert_response 302
347 assert_response 302
346 @project.reload
348 @project.reload
347 assert_nil @project.repository
349 assert_nil @project.repository
348 end
350 end
349 else
351 else
350 puts "Subversion test repository NOT FOUND. Skipping functional tests !!!"
352 puts "Subversion test repository NOT FOUND. Skipping functional tests !!!"
351 def test_fake; assert true end
353 def test_fake; assert true end
352 end
354 end
353 end
355 end
General Comments 0
You need to be logged in to leave comments. Login now