##// END OF EJS Templates
add missing fixtures at unit time entry test in running on empty database...
add missing fixtures at unit time entry test in running on empty database git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7446 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r7063:8598f6a816c9
r7326:ab0ef8331086
Show More
repositories_cvs_controller_test.rb
282 lines | 10.3 KiB | text/x-ruby | RubyLexer
/ test / functional / repositories_cvs_controller_test.rb
Toshi MARUYAMA
scm: cvs: remove trailing white-spaces from functional test....
r5586 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 #
# 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.
Toshi MARUYAMA
scm: cvs: remove trailing white-spaces from functional test....
r5586 #
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 # 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.
Toshi MARUYAMA
scm: cvs: remove trailing white-spaces from functional test....
r5586 #
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 # 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.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 require 'repositories_controller'
# Re-raise errors caught by the controller.
class RepositoriesController; def rescue_action(e) raise e end; end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class RepositoriesCvsControllerTest < ActionController::TestCase
Toshi MARUYAMA
scm: cvs: replace RAILS_ROOT to Rails.root in functional test....
r5941 fixtures :projects, :users, :roles, :members, :member_roles,
:repositories, :enabled_modules
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142
Toshi MARUYAMA
scm: cvs: replace RAILS_ROOT to Rails.root in functional test....
r5941 REPOSITORY_PATH = Rails.root.join('tmp/test/cvs_repository').to_s
Jean-Philippe Lang
Fixes platform determination under JRuby (#1804)....
r1752 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 # CVS module
MODULE_NAME = 'test'
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 PRJ_ID = 3
Toshi MARUYAMA
scm: cvs: define NUM_REV as the number of test repository revisions at functional test...
r7042 NUM_REV = 7
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 def setup
@controller = RepositoriesController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
Setting.default_language = 'en'
User.current = nil
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @project = Project.find(PRJ_ID)
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961 @repository = Repository::Cvs.create(:project => Project.find(PRJ_ID),
:root_url => REPOSITORY_PATH,
:url => MODULE_NAME,
Toshi MARUYAMA
scm: add feature of per project repository log encoding setting (#1735)....
r4862 :log_encoding => 'UTF-8')
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 assert @repository
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 end
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 if File.directory?(REPOSITORY_PATH)
def test_browse_root
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_browse_root at functional test...
r7043 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_browse_root at functional test...
r7043 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 get :show, :id => PRJ_ID
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 assert_not_nil assigns(:entries)
assert_equal 3, assigns(:entries).size
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 entry = assigns(:entries).detect {|e| e.name == 'images'}
assert_equal 'dir', entry.kind
entry = assigns(:entries).detect {|e| e.name == 'README'}
assert_equal 'file', entry.kind
Toshi MARUYAMA
scm: cvs: check assign changesets in root directory showing of functional test....
r5069
assert_not_nil assigns(:changesets)
Toshi MARUYAMA
scm: cvs: add missing "assert" changesets size at functional test....
r6101 assert assigns(:changesets).size > 0
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 end
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 def test_browse_directory
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_browse_directory at functional test...
r7056 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_browse_directory at functional test...
r7056 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 get :show, :id => PRJ_ID, :path => ['images']
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 assert_not_nil assigns(:entries)
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_equal ['add.png', 'delete.png', 'edit.png'], assigns(:entries).collect(&:name)
entry = assigns(:entries).detect {|e| e.name == 'edit.png'}
assert_not_nil entry
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 assert_equal 'file', entry.kind
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_equal 'images/edit.png', entry.path
end
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_browse_at_given_revision
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_browse_at_given_revision at functional test...
r7057 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_browse_at_given_revision at functional test...
r7057 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 get :show, :id => PRJ_ID, :path => ['images'], :rev => 1
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_not_nil assigns(:entries)
assert_equal ['delete.png', 'edit.png'], assigns(:entries).collect(&:name)
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 end
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 def test_entry
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_entry at functional test...
r7058 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_entry at functional test...
r7058 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 get :entry, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb']
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 assert_response :success
assert_template 'entry'
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r5332 assert_no_tag :tag => 'td',
:attributes => { :class => /line-code/},
:content => /before_filter/
Jean-Philippe Lang
Fixed: view file at given revision with CVS....
r1539 end
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Jean-Philippe Lang
Fixed: view file at given revision with CVS....
r1539 def test_entry_at_given_revision
# changesets must be loaded
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_entry_at_given_revision at functional test...
r7059 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_entry_at_given_revision at functional test...
r7059 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 get :entry, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb'], :rev => 2
Jean-Philippe Lang
Fixed: view file at given revision with CVS....
r1539 assert_response :success
assert_template 'entry'
# this line was removed in r3
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r5332 assert_tag :tag => 'td',
:attributes => { :class => /line-code/},
:content => /before_filter/
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 end
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 def test_entry_not_found
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_entry_not_found at functional test...
r7060 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_entry_not_found at functional test...
r7060 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 get :entry, :id => PRJ_ID, :path => ['sources', 'zzz.c']
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r5332 assert_tag :tag => 'p',
:attributes => { :id => /errorExplanation/ },
:content => /The entry or revision was not found in the repository/
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 end
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 def test_entry_download
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_entry_download at functional test...
r7061 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_entry_download at functional test...
r7061 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: code clean up test_entry_download at functional test...
r7049 get :entry, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb'],
:format => 'raw'
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 assert_response :success
end
Jean-Philippe Lang
Fixed: Links to repository directories don't work (#1119)....
r1350
def test_directory_entry
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_directory_entry at functional test...
r7062 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_directory_entry at functional test...
r7062 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 get :entry, :id => PRJ_ID, :path => ['sources']
Jean-Philippe Lang
Fixed: Links to repository directories don't work (#1119)....
r1350 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fixed: Links to repository directories don't work (#1119)....
r1350 assert_not_nil assigns(:entry)
assert_equal 'sources', assigns(:entry).name
end
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 def test_diff
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_diff at functional test...
r7063 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_diff at functional test...
r7063 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: run both of "inline" and "side by side" diff in functional test_diff test....
r5857 ['inline', 'sbs'].each do |dt|
get :diff, :id => PRJ_ID, :rev => 3, :type => dt
assert_response :success
assert_template 'diff'
assert_tag :tag => 'td', :attributes => { :class => 'line-code diff_out' },
:content => /before_filter :require_login/
assert_tag :tag => 'td', :attributes => { :class => 'line-code diff_in' },
:content => /with one change/
end
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 end
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r4961
Toshi MARUYAMA
scm: cvs: fix CVS diffs do not handle new files properly (#7615)....
r4819 def test_diff_new_files
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_diff_new_files at unit model test...
r7054 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: fix CVS diffs do not handle new files properly (#7615)....
r4819 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_diff_new_files at unit model test...
r7054 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: run both of "inline" and "side by side" diff in functional test_diff_new_files test....
r5858 ['inline', 'sbs'].each do |dt|
get :diff, :id => PRJ_ID, :rev => 1, :type => dt
assert_response :success
assert_template 'diff'
assert_tag :tag => 'td', :attributes => { :class => 'line-code diff_in' },
:content => /watched.remove_watcher/
assert_tag :tag => 'th', :attributes => { :class => 'filename' },
:content => /test\/README/
assert_tag :tag => 'th', :attributes => { :class => 'filename' },
:content => /test\/images\/delete.png /
assert_tag :tag => 'th', :attributes => { :class => 'filename' },
:content => /test\/images\/edit.png/
assert_tag :tag => 'th', :attributes => { :class => 'filename' },
:content => /test\/sources\/watchers_controller.rb/
end
Toshi MARUYAMA
scm: cvs: fix CVS diffs do not handle new files properly (#7615)....
r4819 end
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142
def test_annotate
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_annotate at unit model test...
r7055 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_annotate at unit model test...
r7055 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: change project id of functional test from 1 to 3....
r4669 get :annotate, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb']
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 assert_response :success
assert_template 'annotate'
# 1.1 line
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r5332 assert_tag :tag => 'th',
:attributes => { :class => 'line-num' },
:content => '18',
:sibling => {
:tag => 'td',
:attributes => { :class => 'revision' },
:content => /1.1/,
:sibling => {
:tag => 'td',
:attributes => { :class => 'author' },
:content => /LANG/
}
}
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 # 1.2 line
Toshi MARUYAMA
scm: cvs: code clean up functional test....
r5332 assert_tag :tag => 'th',
:attributes => { :class => 'line-num' },
:content => '32',
:sibling => {
:tag => 'td',
:attributes => { :class => 'revision' },
:content => /1.2/,
:sibling => {
:tag => 'td',
:attributes => { :class => 'author' },
:content => /LANG/
}
}
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 end
Toshi MARUYAMA
scm: cvs: add functional test of destroying valid repository (#6713, #4725)....
r6120
def test_destroy_valid_repository
@request.session[:user_id] = 1 # admin
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_destroy_valid_repository at functional test...
r7050 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: add functional test of destroying valid repository (#6713, #4725)....
r6120 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_destroy_valid_repository at functional test...
r7050 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: add functional test of destroying valid repository (#6713, #4725)....
r6120
get :destroy, :id => PRJ_ID
assert_response 302
@project.reload
assert_nil @project.repository
end
Toshi MARUYAMA
scm: cvs: add functional test of destroying invalid repository (#6713, #4725)....
r6121
def test_destroy_invalid_repository
@request.session[:user_id] = 1 # admin
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_destroy_invalid_repository at functional test...
r7051 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: add functional test of destroying invalid repository (#6713, #4725)....
r6121 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_destroy_invalid_repository at functional test...
r7051 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: cvs: add functional test of destroying invalid repository (#6713, #4725)....
r6121
get :destroy, :id => PRJ_ID
assert_response 302
@project.reload
assert_nil @project.repository
@repository = Repository::Cvs.create(
:project => Project.find(PRJ_ID),
:root_url => "/invalid",
:url => MODULE_NAME,
:log_encoding => 'UTF-8'
)
assert @repository
@repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: cvs: fix error of test_destroy_invalid_repository at functional test...
r7051 @project.reload
Toshi MARUYAMA
scm: cvs: add functional test of destroying invalid repository (#6713, #4725)....
r6121 assert_equal 0, @repository.changesets.count
get :destroy, :id => PRJ_ID
assert_response 302
@project.reload
assert_nil @project.repository
end
Jean-Philippe Lang
Fixed: CVS repository doesn't work if port is used in the url (#653)....
r1142 else
puts "CVS test repository NOT FOUND. Skipping functional tests !!!"
def test_fake; assert true end
end
end