##// END OF EJS Templates
add unit test to set project if project is nil at unit time entry test...
add unit test to set project if project is nil at unit time entry test git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7452 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r7048:2ab9f0f778ca
r7332:5778c264349e
Show More
repository_subversion_test.rb
221 lines | 8.0 KiB | text/x-ruby | RubyLexer
/ test / unit / repository_subversion_test.rb
Jean-Philippe Lang
Fixes subversion tests not running on win32....
r5055 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 #
# 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: subversion: remove trailing white-spaces from unit model test....
r5585 #
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 # 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: subversion: remove trailing white-spaces from unit model test....
r5585 #
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 # 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
Added Subversion repository unit tests....
r711
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class RepositorySubversionTest < ActiveSupport::TestCase
Toshi MARUYAMA
scm: subversion: remove trailing white-spaces from unit model test....
r5585 fixtures :projects, :repositories, :enabled_modules, :users, :roles
Toshi MARUYAMA
scm: subversion: code clean up unit model test....
r5042
Toshi MARUYAMA
scm: subversion: define NUM_REV as the number of test repository revisions at unit model test...
r6987 NUM_REV = 11
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 def setup
Toshi MARUYAMA
scm: subversion: change unit app test project id from 1 to 3....
r4706 @project = Project.find(3)
Toshi MARUYAMA
scm: subversion: code clean up unit model test....
r5042 @repository = Repository::Subversion.create(:project => @project,
Jean-Philippe Lang
Fixes subversion tests not running on win32....
r5055 :url => self.class.subversion_repository_url)
Toshi MARUYAMA
scm: subversion: code clean up unit model test....
r5042 assert @repository
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 end
Toshi MARUYAMA
scm: subversion: code clean up unit model test....
r5042
Jean-Philippe Lang
Adds test helpers for test repositories....
r3606 if repository_configured?('subversion')
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 def test_fetch_changesets_from_scratch
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_fetch_changesets_from_scratch at unit model test...
r6988 assert_equal 0, @repository.changesets.count
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_fetch_changesets_from_scratch at unit model test...
r6988 @project.reload
Toshi MARUYAMA
scm: subversion: remove trailing white-spaces from unit model test....
r5585
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_fetch_changesets_from_scratch at unit model test...
r6988 assert_equal NUM_REV, @repository.changesets.count
Eric Davis
Support listing directories in svn which include square brackets. #5548...
r3686 assert_equal 20, @repository.changes.count
Jean-Philippe Lang
Postgresql 8.3 compatibility fix (#834)....
r1348 assert_equal 'Initial import.', @repository.changesets.find_by_revision('1').comments
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 end
Toshi MARUYAMA
scm: subversion: code clean up unit model test....
r5042
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 def test_fetch_changesets_incremental
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_fetch_changesets_incremental at unit model test...
r7029 assert_equal 0, @repository.changesets.count
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_fetch_changesets_incremental at unit model test...
r7029 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 # Remove changesets with revision > 5
Jean-Philippe Lang
Postgresql 8.3 compatibility fix (#834)....
r1348 @repository.changesets.find(:all).each {|c| c.destroy if c.revision.to_i > 5}
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_fetch_changesets_incremental at unit model test...
r7029 @project.reload
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 assert_equal 5, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: remove trailing white-spaces from unit model test....
r5585
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_fetch_changesets_incremental at unit model test...
r7029 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 end
Toshi MARUYAMA
scm: subversion: code clean up unit model test....
r5042
Jean-Philippe Lang
Fixed: Subversion#latest_changesets ignores revision argument (#4360)....
r3020 def test_latest_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_latest_changesets at unit model test...
r7030 assert_equal 0, @repository.changesets.count
Jean-Philippe Lang
Adds a setting to limit the number of revisions displayed on a repository file log (default=100)....
r2348 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_latest_changesets at unit model test...
r7030 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: remove trailing white-spaces from unit model test....
r5585
Jean-Philippe Lang
Fixed: Subversion#latest_changesets ignores revision argument (#4360)....
r3020 # with limit
Jean-Philippe Lang
SCM:...
r2739 changesets = @repository.latest_changesets('', nil, 2)
Jean-Philippe Lang
Adds a setting to limit the number of revisions displayed on a repository file log (default=100)....
r2348 assert_equal 2, changesets.size
Jean-Philippe Lang
SCM:...
r2739 assert_equal @repository.latest_changesets('', nil).slice(0,2), changesets
Toshi MARUYAMA
scm: subversion: remove trailing white-spaces from unit model test....
r5585
Jean-Philippe Lang
Fixed: Subversion#latest_changesets ignores revision argument (#4360)....
r3020 # with path
changesets = @repository.latest_changesets('subversion_test/folder', nil)
assert_equal ["10", "9", "7", "6", "5", "2"], changesets.collect(&:revision)
Toshi MARUYAMA
scm: subversion: remove trailing white-spaces from unit model test....
r5585
Jean-Philippe Lang
Fixed: Subversion#latest_changesets ignores revision argument (#4360)....
r3020 # with path and revision
changesets = @repository.latest_changesets('subversion_test/folder', 8)
assert_equal ["7", "6", "5", "2"], changesets.collect(&:revision)
Jean-Philippe Lang
Adds a setting to limit the number of revisions displayed on a repository file log (default=100)....
r2348 end
Eric Davis
Support listing directories in svn which include square brackets. #5548...
r3686
def test_directory_listing_with_square_brackets_in_path
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_directory_listing_with_square_brackets_in_path at unit model test...
r7031 assert_equal 0, @repository.changesets.count
Eric Davis
Support listing directories in svn which include square brackets. #5548...
r3686 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_directory_listing_with_square_brackets_in_path at unit model test...
r7031 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: remove trailing white-spaces from unit model test....
r5585
Eric Davis
Support listing directories in svn which include square brackets. #5548...
r3686 entries = @repository.entries('subversion_test/[folder_with_brackets]')
assert_not_nil entries, 'Expect to find entries in folder_with_brackets'
assert_equal 1, entries.size, 'Expect one entry in folder_with_brackets'
assert_equal 'README.txt', entries.first.name
end
def test_directory_listing_with_square_brackets_in_base
Toshi MARUYAMA
scm: subversion: change unit app test project id from 1 to 3....
r4706 @project = Project.find(3)
Toshi MARUYAMA
scm: subversion: code clean up unit model test....
r5042 @repository = Repository::Subversion.create(
:project => @project,
:url => "file:///#{self.class.repository_path('subversion')}/subversion_test/[folder_with_brackets]")
Eric Davis
Support listing directories in svn which include square brackets. #5548...
r3686
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_directory_listing_with_square_brackets_in_base at unit model test...
r7032 assert_equal 0, @repository.changesets.count
Eric Davis
Support listing directories in svn which include square brackets. #5548...
r3686 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_directory_listing_with_square_brackets_in_base at unit model test...
r7032 @project.reload
Eric Davis
Support listing directories in svn which include square brackets. #5548...
r3686
assert_equal 1, @repository.changesets.count, 'Expected to see 1 revision'
assert_equal 2, @repository.changes.count, 'Expected to see 2 changes, dir add and file add'
entries = @repository.entries('')
assert_not_nil entries, 'Expect to find entries'
assert_equal 1, entries.size, 'Expect a single entry'
assert_equal 'README.txt', entries.first.name
end
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493
def test_identifier
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_identifier at unit model test...
r7033 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_identifier at unit model test...
r7033 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 c = @repository.changesets.find_by_revision('1')
assert_equal c.revision, c.identifier
end
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 def test_find_changeset_by_empty_name
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_find_changeset_by_empty_name at unit model test...
r7034 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_find_changeset_by_empty_name at unit model test...
r7034 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 ['', ' ', nil].each do |r|
assert_nil @repository.find_changeset_by_name(r)
end
end
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 def test_identifier_nine_digit
c = Changeset.new(:repository => @repository, :committed_on => Time.now,
:revision => '123456789', :comments => 'test')
assert_equal c.identifier, c.revision
end
def test_format_identifier
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_format_identifier at unit model test...
r7035 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_format_identifier at unit model test...
r7035 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 c = @repository.changesets.find_by_revision('1')
assert_equal c.format_identifier, c.revision
end
def test_format_identifier_nine_digit
c = Changeset.new(:repository => @repository, :committed_on => Time.now,
:revision => '123456789', :comments => 'test')
assert_equal c.format_identifier, c.revision
end
def test_activities
Jean-Philippe Lang
Fixed failing subversion test....
r4501 c = Changeset.new(:repository => @repository, :committed_on => Time.now,
:revision => '1', :comments => 'test')
Toshi MARUYAMA
Fix subversion and git activities test reffering r4621....
r4503 assert c.event_title.include?('1:')
Toshi MARUYAMA
scm: fix assert_equal parameter order in subversion and git unit test....
r4571 assert_equal '1', c.event_url[:rev]
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 end
def test_activities_nine_digit
c = Changeset.new(:repository => @repository, :committed_on => Time.now,
:revision => '123456789', :comments => 'test')
Jean-Philippe Lang
Fixed failing subversion test....
r4501 assert c.event_title.include?('123456789:')
Toshi MARUYAMA
scm: fix assert_equal parameter order in subversion and git unit test....
r4571 assert_equal '123456789', c.event_url[:rev]
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 end
Toshi MARUYAMA
scm: ignore log encoding setting in Subversion and Mercurial (#7597)....
r4842
def test_log_encoding_ignore_setting
with_settings :commit_logs_encoding => 'windows-1252' do
s1 = "\xC2\x80"
s2 = "\xc3\x82\xc2\x80"
if s1.respond_to?(:force_encoding)
Toshi MARUYAMA
scm: subversion: simplify Ruby 1.9 string test in unit model test....
r5039 s1.force_encoding('ISO-8859-1')
s2.force_encoding('UTF-8')
assert_equal s1.encode('UTF-8'), s2
Toshi MARUYAMA
scm: ignore log encoding setting in Subversion and Mercurial (#7597)....
r4842 end
c = Changeset.new(:repository => @repository,
Toshi MARUYAMA
scm: subversion: simplify Ruby 1.9 string test in unit model test....
r5039 :comments => s2,
:revision => '123',
Toshi MARUYAMA
scm: ignore log encoding setting in Subversion and Mercurial (#7597)....
r4842 :committed_on => Time.now)
assert c.save
assert_equal s2, c.comments
end
end
Toshi MARUYAMA
scm: subversion: add changesets order test in unit model test (#5357)....
r4867
def test_previous
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_previous at unit model test...
r7045 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: add changesets order test in unit model test (#5357)....
r4867 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_previous at unit model test...
r7045 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: add changesets order test in unit model test (#5357)....
r4867 changeset = @repository.find_changeset_by_name('3')
assert_equal @repository.find_changeset_by_name('2'), changeset.previous
end
def test_previous_nil
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_previous_nil at unit model test...
r7046 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: add changesets order test in unit model test (#5357)....
r4867 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_previous_nil at unit model test...
r7046 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: add changesets order test in unit model test (#5357)....
r4867 changeset = @repository.find_changeset_by_name('1')
assert_nil changeset.previous
end
def test_next
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_next at unit model test...
r7047 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: add changesets order test in unit model test (#5357)....
r4867 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_next at unit model test...
r7047 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: add changesets order test in unit model test (#5357)....
r4867 changeset = @repository.find_changeset_by_name('2')
assert_equal @repository.find_changeset_by_name('3'), changeset.next
end
def test_next_nil
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_next_nil at unit model test...
r7048 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: add changesets order test in unit model test (#5357)....
r4867 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: subversion: fix error of test_next_nil at unit model test...
r7048 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: subversion: add changesets order test in unit model test (#5357)....
r4867 changeset = @repository.find_changeset_by_name('11')
assert_nil changeset.next
end
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 else
Jean-Philippe Lang
Added some functional tests (projects and repositories)....
r968 puts "Subversion test repository NOT FOUND. Skipping unit tests !!!"
Jean-Philippe Lang
Added some unit tests for the Bazaar adapter....
r938 def test_fake; assert true end
Jean-Philippe Lang
Added Subversion repository unit tests....
r711 end
end