##// END OF EJS Templates
Rails3: scm: subversion: fix error of test_annotate_at_given_revision at functional test...
Toshi MARUYAMA -
r7072:818395a995a0
parent child
Show More
@@ -1,357 +1,359
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 assert_equal 0, @repository.changesets.count
281 @repository.fetch_changesets
281 @repository.fetch_changesets
282 @project.reload
282 @project.reload
283 assert_equal NUM_REV, @repository.changesets.count
283 assert_equal NUM_REV, @repository.changesets.count
284 ['inline', 'sbs'].each do |dt|
284 ['inline', 'sbs'].each do |dt|
285 get :diff, :id => PRJ_ID, :rev => 6, :rev_to => 2,
285 get :diff, :id => PRJ_ID, :rev => 6, :rev_to => 2,
286 :path => ['subversion_test', 'folder'], :type => dt
286 :path => ['subversion_test', 'folder'], :type => dt
287 assert_response :success
287 assert_response :success
288 assert_template 'diff'
288 assert_template 'diff'
289
289
290 diff = assigns(:diff)
290 diff = assigns(:diff)
291 assert_not_nil diff
291 assert_not_nil diff
292 # 2 files modified
292 # 2 files modified
293 assert_equal 2, Redmine::UnifiedDiff.new(diff).size
293 assert_equal 2, Redmine::UnifiedDiff.new(diff).size
294 assert_tag :tag => 'h2', :content => /2:6/
294 assert_tag :tag => 'h2', :content => /2:6/
295 end
295 end
296 end
296 end
297
297
298 def test_annotate
298 def test_annotate
299 assert_equal 0, @repository.changesets.count
299 assert_equal 0, @repository.changesets.count
300 @repository.fetch_changesets
300 @repository.fetch_changesets
301 @project.reload
301 @project.reload
302 assert_equal NUM_REV, @repository.changesets.count
302 assert_equal NUM_REV, @repository.changesets.count
303 get :annotate, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
303 get :annotate, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
304 assert_response :success
304 assert_response :success
305 assert_template 'annotate'
305 assert_template 'annotate'
306 end
306 end
307
307
308 def test_annotate_at_given_revision
308 def test_annotate_at_given_revision
309 assert_equal 0, @repository.changesets.count
309 @repository.fetch_changesets
310 @repository.fetch_changesets
310 @repository.reload
311 @project.reload
312 assert_equal NUM_REV, @repository.changesets.count
311 get :annotate, :id => PRJ_ID, :rev => 8, :path => ['subversion_test', 'helloworld.c']
313 get :annotate, :id => PRJ_ID, :rev => 8, :path => ['subversion_test', 'helloworld.c']
312 assert_response :success
314 assert_response :success
313 assert_template 'annotate'
315 assert_template 'annotate'
314 assert_tag :tag => 'h2', :content => /@ 8/
316 assert_tag :tag => 'h2', :content => /@ 8/
315 end
317 end
316
318
317 def test_destroy_valid_repository
319 def test_destroy_valid_repository
318 @request.session[:user_id] = 1 # admin
320 @request.session[:user_id] = 1 # admin
319 @repository.fetch_changesets
321 @repository.fetch_changesets
320 @repository.reload
322 @repository.reload
321 assert @repository.changesets.count > 0
323 assert @repository.changesets.count > 0
322
324
323 get :destroy, :id => PRJ_ID
325 get :destroy, :id => PRJ_ID
324 assert_response 302
326 assert_response 302
325 @project.reload
327 @project.reload
326 assert_nil @project.repository
328 assert_nil @project.repository
327 end
329 end
328
330
329 def test_destroy_invalid_repository
331 def test_destroy_invalid_repository
330 @request.session[:user_id] = 1 # admin
332 @request.session[:user_id] = 1 # admin
331 @repository.fetch_changesets
333 @repository.fetch_changesets
332 @repository.reload
334 @repository.reload
333 assert @repository.changesets.count > 0
335 assert @repository.changesets.count > 0
334
336
335 get :destroy, :id => PRJ_ID
337 get :destroy, :id => PRJ_ID
336 assert_response 302
338 assert_response 302
337 @project.reload
339 @project.reload
338 assert_nil @project.repository
340 assert_nil @project.repository
339
341
340 @repository = Repository::Subversion.create(
342 @repository = Repository::Subversion.create(
341 :project => @project,
343 :project => @project,
342 :url => "file:///invalid")
344 :url => "file:///invalid")
343 assert @repository
345 assert @repository
344 @repository.fetch_changesets
346 @repository.fetch_changesets
345 @repository.reload
347 @repository.reload
346 assert_equal 0, @repository.changesets.count
348 assert_equal 0, @repository.changesets.count
347
349
348 get :destroy, :id => PRJ_ID
350 get :destroy, :id => PRJ_ID
349 assert_response 302
351 assert_response 302
350 @project.reload
352 @project.reload
351 assert_nil @project.repository
353 assert_nil @project.repository
352 end
354 end
353 else
355 else
354 puts "Subversion test repository NOT FOUND. Skipping functional tests !!!"
356 puts "Subversion test repository NOT FOUND. Skipping functional tests !!!"
355 def test_fake; assert true end
357 def test_fake; assert true end
356 end
358 end
357 end
359 end
General Comments 0
You need to be logged in to leave comments. Login now